0day安全:軟體漏洞分析技術(第2版)

來源:互聯網
上載者:User

0day安全:軟體漏洞分析技術(第2版)

基本資料

作者:王清  
張東輝  
周浩  
王繼剛  
趙雙  

叢書名:安全技術大系

出版社:電子工業出版社

ISBN:9787121133961

上架時間:2011-6-27

出版日期:2011 年6月

http://product.china-pub.com/194031


《0day安全:軟體漏洞分析技術(第2版) 》電子書線上閱讀

內容簡介

  《0day安全:軟體漏洞分析技術(第2版)》分為5篇33章,系統、全面地介紹了windows平台緩衝區溢位漏洞的分析、檢測與防護。第一篇為漏
洞exploit的基礎理論和初級技術,可以引領讀者迅速入門;第二篇在第一篇的基礎上,結合國內外相關研究者的前沿成果,對漏洞技術從攻、防兩個方面進
行總結;第三篇站在安全性測試者的角度,討論了幾類常用軟體的漏洞挖掘方法與思路;第四篇則填補了本類書籍在windows核心安全及相關攻防知識這個神秘
領域的技術空白;第五篇以大量的0 day案例分析,來協助讀者理解前四篇的各類思想方法。
  
《0day安全:軟體漏洞分析技術(第2版)》可作為網路安全從業人員、駭客技術發燒友的參考指南,也可作為網路安全專業的研究生或本科生的指導用書。

目錄

《0day安全:軟體漏洞分析技術(第2版)》

第1篇 漏洞利用原理(初級)

第1章 基礎知識 2

1.1 漏洞概述 2

1.1.1 bug與漏洞 2

1.1.2 幾個令人困惑的安全問題 2

1.1.3 漏洞挖掘、漏洞分析、漏洞利用 3

1.1.4 漏洞的公布與0 day響應 5

1.2 二進位檔案概述 5

1.2.1 pe檔案格式 5

1.2.2 虛擬記憶體 6

1.2.3 pe檔案與虛擬記憶體之間的映射 7

1.3 必備工具 11

1.3.1 ollydbg簡介 11

1.3.2 softice簡介 11

1.3.3 windbg簡介 16

1.3.4 ida pro簡介 18

1.3.5 二進位編輯器 20

1.3.6 vmware簡介 21

1.3.7 python編程環境 28

.1.4 crack小實驗 29

第2章 棧溢出原理與實踐 38

2.1 系統棧的工作原理 38

2.1.1 記憶體的不同用途 38

2.1.2 棧與系統棧 39

2.1.3 函數調用時發生了什麼 40

2.1.4 寄存器與函數棧幀 43

2.1.5 函數呼叫慣例與相關指令 44

2.2 修改鄰接變數 47

2.2.1 修改鄰接變數的原理 47

2.2.2 突破密碼驗證程式 49

2.3 修改函數返回地址 53

2.3.1 返回地址與程式流程 53

2.3.2 控製程序的執行流程 57

2.4 代碼植入 62

2.4.1 代碼植入的原理 62

2.4.2 向進程中植入代碼 62

第3章 開發shellcode的藝術 71

3.1 shellcode概述 71

3.1.1 shellcode與exploit 71

3.1.2 shellcode需要解決的問題 72

3.2 定位shellcode 73

3.2.1 棧幀移位與jmp esp 73

3.2.2 擷取“跳板”的地址 76

3.2.3 使用“跳板”定位的exploit 78

3.3 緩衝區的組織 81

3.3.1 緩衝區的組成 81

3.3.2 抬高棧頂保護shellcode 83

3.3.3 使用其他跳轉指令 83

3.3.4 不使用跳轉指令 84

3.3.5 函數返回地址移位 85

3.4 開發通用的shellcode 87

3.4.1 定位api的原理 87

3.4.2 shellcode的載入與調試 88

3.4.3 動態定位api地址的shellcode 89

3.5 shellcode編碼技術 98

3.5.1 為什麼要對shellcode編碼 98

3.5.2 會“變形”的shellcode 99

3.6 為shellcode“減肥” 103

3.6.1 shellcode瘦身大法 103

3.6.2 選擇恰當的hash演算法 105

3.6.3 191個位元組的bindshell 107

第4章 用metasploit開發exploit 119

4.1 漏洞測試平台msf 簡介 119

4.2 入侵windows系統 121

4.2.1 漏洞簡介 121

4.2.2 圖形介面的漏洞測試 121

4.2.3 console介面的漏洞測試 125

4.3 利用msf製作shellcode 126

4.4 用msf掃描“跳板” 128

4.5 ruby語言簡介 129

4.6 “傻瓜式”exploit開發 134

4.7 用msf發布poc 140

第5章 堆溢出利用 144

5.1 堆的工作原理 144

5.1.1 windows堆的曆史 144

5.1.2 堆與棧的區別 145

5.1.3 堆的資料結構與管理原則 146

5.2 在堆中漫遊 151

5.2.1 堆分配函數之間的調用關係 151

5.2.2 堆的調試方法 152

5.2.3 識別堆表 155

5.2.4 堆塊的分配 158

5.2.5 堆塊的釋放 159

5.2.6 堆塊的合并 159

5.2.7 快表的使用 161

5.3 堆溢出利用(上)——dword shoot 163

5.3.1 鏈表“拆卸”中的問題 163

5.3.2 在調試中體會“dword shoot” 165

5.4 堆溢出利用(下)——代碼植入 169

5.4.1 dword shoot的利用方法 169

5.4.2 狙擊p.e.b中rtlentercritical-section()的函數指標 170

5.4.3 堆溢出利用的注意事項 175

第6章 形形色色的記憶體攻擊技術 178

6.1 狙擊windows異常處理機制 178

6.1.1 s.e.h概述 178

6.1.2 在棧溢出中利用s.e.h 180

6.1.3 在堆溢出中利用s.e.h 184

6.1.4 深入挖掘windows異常處理 187

6.1.5 其他異常處理機制的利用思路 192

6.2 “off by one”的利用 196

6.3 攻擊c++的虛函數 198

6.4 heap spray:堆與棧的協同攻擊 201

第7章 手機裡的緩衝區溢位 204

7.1 windows mobile簡介 204

7.1.1 windows mobile前世今生 204

7.1.2 windows mobile架構概述 205

7.1.3 windows mobile的記憶體管理 209

7.2 arm簡介 212

7.2.1 arm是什麼 212

7.2.2 arm寄存器結構 212

7.2.3 arm彙編指令結構 215

7.2.4 arm指令定址方式 220

7.2.5 arm的函數調用與返回 222

7.3 windows mobile上的helloworld 223

7.4 遠端偵錯工具簡介 227

7.4.1 遠程資訊查看管理套件 227

7.4.2 手機上的調試——microsoft visual studio 231

7.4.3 手機上的調試——ida 233

7.5 手機上的exploit me 237

第8章 其他類型的軟體漏洞 243

8.1 格式化串漏洞 243

8.1.1 printf中的缺陷 243

8.1.2 用printf讀取記憶體資料 244

8.1.3 用printf向記憶體寫資料 245

8.1.4 格式化串漏洞的檢測與防範 246

8.2 sql注入攻擊 247

8.2.1 sql注入原理 247

8.2.2 攻擊php+mysql網站 248

8.2.3 攻擊asp+sql server網站 250

8.2.4 注入攻擊的檢測與防範 252

8.3 其他注入方式 253

8.3.1 cookie注入,繞過馬其諾防線 253

8.3.2 xpath注入,xml的阿喀琉斯之踵 254

8.4 xss攻擊 255

8.4.1 指令碼能夠“跨站”的原因 255

8.4.2 xss reflection攻擊情境 256

8.4.3 stored xss攻擊情境 258

8.4.4 攻擊案例回顧:xss蠕蟲 258

8.4.5 xss的檢測與防範 259

8.5 路徑回溯漏洞 260

8.5.1 路徑回溯的基本原理 260

8.5.2 範式化與路徑回溯 261

第2篇 漏洞利用原理(進階)

第9章 windows安全機制概述 264

第10章 棧中的守護天使:gs 267

10.1 gs安全編譯選項的保護原理 267

10.2 利用未被保護的記憶體突破gs 271

10.3 覆蓋虛函數突破gs 273

10.4 攻擊異常處理突破gs 276

10.5 同時替換棧中和.data中的cookie突破gs 280

第11章 亡羊補牢:safeseh 284

11.1 safeseh對異常處理的保護原理 284

11.2 攻擊返回地址繞過safeseh 288

11.3 利用虛函數繞過safeseh 288

11.4 從堆中繞過safeseh 288

11.5 利用未啟用safeseh模組繞過safeseh 292

11.6 利用載入模組之外的地址繞過safeseh 299

11.7 利用adobe flash player activex控制項繞過safeseh 305

第12章 資料與程式的分水嶺:dep 313

12.1 dep機制的保護原理 313

12.2 攻擊未啟用dep的程式 316

12.3 利用ret2libc挑戰dep 317

12.3.1 ret2libc實戰之利用zwsetinformationprocess 318

12.3.2 ret2libc實戰之利用virtualprotect 330

12.3.3 ret2libc實戰之利用virtualalloc 339

12.4 利用可執行記憶體挑戰dep 348

12.5 利用.net挑戰dep 352

12.6 利用java applet挑戰dep 359

第13章 在記憶體中躲貓貓:aslr 363

13.1 記憶體隨機化保護機制的原理 363

13.2 攻擊未啟用aslr的模組 367

13.3 利用部分覆蓋進行定位記憶體位址 372

13.4 利用heap spray技術定位記憶體位址 376

13.5 利用java applet heap spray技術定位記憶體位址 379

13.6 為.net控制項禁用aslr 382

第14章 s.e.h終極防護:sehop 386

14.1 sehop的原理 386

14.2 攻擊返回地址 388

14.3 攻擊虛函數 388

14.4 利用未啟用sehop的模組 388

14.5 偽造s.e.h鏈表 390

第15章 重重保護下的堆 396

15.1 堆保護機制的原理 396

15.2 攻擊堆中儲存的變數 397

15.3 利用chunk調整大小攻擊堆 398

15.4 利用lookaside表進行堆溢出 407

第3篇 漏洞挖掘技術

第16章 漏洞挖掘技術簡介 414

16.1 漏洞挖掘概述 414

16.2 動態測試技術 415

16.2.1 spike簡介 415

16.2.2 bestorm簡介 421

16.3 靜態代碼審計 429

第17章 檔案類型漏洞挖掘 與smart fuzz 431

17.1 smart fuzz概述 431

17.1.1 檔案格式fuzz的基本方法 431

17.1.2 blind fuzz和smart fuzz 432

17.2 用peach挖掘檔案漏洞 433

17.2.1 peach介紹及安裝 433

17.2.2 xml介紹 434

17.2.3 定義簡單的 peach pit 436

17.2.4 定義資料之間的依存關係 440

17.2.5 用peach fuzz png檔案 441

17.3 010指令碼,複雜檔案解析的瑞士軍刀 446

17.3.1 010 editor簡介 446

17.3.2 010指令碼編寫入門 447

17.3.3 010指令碼編寫提高——png檔案解析 449

17.3.4 深入解析,深入挖掘——ppt檔案解析 452

第18章 ftp的漏洞挖掘 457

18.1 ftp協議簡介 457

18.2 漏洞挖掘手記1:dos 457

18.3 漏洞挖掘手記2:存取權限 466

18.4 漏洞挖掘手記3:緩衝區溢位 468

18.5 漏洞挖掘手記4:fuzz diy 472

第19章 e-mail的漏洞挖掘 477

19.1 挖掘smtp漏洞 477

19.1.1 smtp協議簡介 477

19.1.2 smtp漏洞挖掘手記 478

19.2 挖掘pop3漏洞 480

19.2.1 pop3協議簡介 480

19.2.2 pop3漏洞挖掘手記 481

19.3 挖掘imap4漏洞 489

19.3.1 imap4協議簡介 489

19.3.2 imap4漏洞挖掘手記 490

19.4 其他e-mail漏洞 491

19.4.1 url中的路徑回溯 491

19.4.2 記憶體中的路徑回溯 494

19.4.3 郵件中的xss 500

第20章 activex控制項的漏洞挖掘 502

20.1 activex控制項簡介 502

20.1.1 瀏覽器與activex控制項的關係 502

20.1.2 控制項的屬性 503

20.2 手工測試activex控制項 504

20.2.1 建立測試模板 504

20.2.2 擷取控制項的介面資訊 505

20.3 用工具測試activex控制項:comraider 509

20.4 挖掘activex漏洞 516

20.4.1 activex漏洞的分類 516

20.4.2 漏洞挖掘手記1:超星閱讀器溢出 517

20.4.3 漏洞挖掘手記2:目錄操作許可權 521

20.4.4 漏洞挖掘手記3:檔案讀許可權 523

20.4.5 漏洞挖掘手記3:檔案刪除許可權 525

第4篇 作業系統核心安全

第21章 探索ring0 528

21.1 核心基礎知識介紹 528

21.1.1 核心概述 528

21.1.2 驅動編寫之hello world 528

21.1.3 派遣常式與irp結構 533

21.1.4 ring3開啟驅動裝置 537

21.1.5 deviceiocontrol函數與iocontrolcode 538

21.1.6 ring3/ring0的四種通訊方式 539

21.2 核心調試入門 541

21.2.1 建立核心調試環境 541

21.2.2 藍屏分析 549

21.3 核心漏洞概述 551

21.3.1 核心漏洞的分類 551

21.3.2 核心漏洞的研究過程 553

21.4 編寫安全的驅動程式 555

21.4.1 輸入輸出檢查 555

21.4.2 驗證驅動的調用者 556

21.4.3 白名單機制的挑戰 556

第22章 核心漏洞利用技術 557

22.1 利用實驗之exploitme.sys 557

22.2 核心漏洞利用思路 559

22.3 核心漏洞利用方法 560

22.4 核心漏洞利用實戰與編程 565

22.5 ring0 shellcode的編寫 570

第23章 fuzz驅動程式 579

23.1 核心fuzz思路 579

23.2 核心fuzz工具介紹 581

23.3 核心fuzz工具diy 583

23.3.1 fuzz對象、fuzz策略、fuzz項 583

23.3.2 iocontrol mitm fuzz 583

23.3.3 iocontrol driver fuzz 585

23.3.4 myiocontrol fuzzer介面 586

23.4 核心漏洞挖掘實戰 588

23.4.1 超級巡警astdriver.sys本地提權漏洞 588

23.4.2 東方微點mp110013.sys本地提權漏洞 594

23.4.3 瑞星hookcont.sys驅動本地拒絕服務漏洞 601

第24章 核心漏洞案例分析 605

24.1 遠程拒絕服務核心漏洞 605

24.2 本地拒絕服務核心漏洞 611

24.3 緩衝區溢位核心漏洞 614

24.4 任意地址寫任意資料核心漏洞 619

24.5 任意地址寫固定資料核心漏洞 622

第5篇 漏洞分析案例

第25章 漏洞分析技術概述 628

25.1 漏洞分析的方法 628

25.2運動中尋求突破:調試技術 629

25.2.1 斷點技巧 630

25.2.2 回溯思路 644

25.3 用“白眉”在pe中漫步 647

25.3.1 指令追蹤技術與paimei 647

25.3.2 paimei的安裝 648

25.3.3 使用pe stalker 649

25.3.4 迅速定位特定功能對應的代碼 652

25.4 補丁比較 654

第26章 rpc入侵:ms06-040 與ms08-067 658

26.1 rpc漏洞 658

26.1.1 rpc漏洞簡介 658

26.1.2 rpc編程簡介 658

26.2 ms06-040 659

26.2.1 ms06-040簡介 659

26.2.2 動態調試 660

26.2.3 靜態分析 667

26.2.4 實現遠程exploit 670

26.3 windows xp環境下的ms06-040 exploit 677

26.3.1 靜態分析 677

26.3.2 蠕蟲樣本的exploit方法 682

26.3.3 實踐跨平台exploit 684

26.4 ms08-067 690

26.4.1 ms08-067簡介 690

26.4.2 認識legacy folder 693

26.4.3 “移經”測試 694

26.4.4 “移經”風險 695

26.4.5 poc的構造 696

26.5 魔波、conficker與蠕蟲 703

第27章 ms06-055分析:實戰heap spray 705

27.1 ms06-055簡介 705

27.1.1 Vector Markup Language(vml)簡介 705

27.1.2 0 day安全響應紀實 706

27.2 漏洞分析 707

27.3 漏洞利用 710

第28章 ms09-032分析:一個“&”引發的血案 713

28.1 ms09-032簡介 713

28.2 漏洞原理及利用分析 713

第29章 yahoo!messenger棧 溢出漏洞 719

29.1 漏洞介紹 719

29.2 漏洞分析 719

29.3 漏洞利用 723

第30章 cve-2009-0927:pdf中的js 725

30.1 cve-2009-0927簡介 725

30.2 pdf文檔格式簡介 725

30.3 漏洞原理及利用分析 727

第31章 壩之蟻穴:超長url溢出漏洞 731

31.1 漏洞簡介 731

31.3 漏洞原理及利用分析 731

第32章 暴風影音m3u檔案解析漏洞 737

32.1 漏洞簡介 737

32.2 m3u檔案簡介 737

32.3 漏洞原理及利用分析 738

第33章 lnk捷徑檔案漏洞 744

33.1 漏洞簡介 744

33.2 漏洞原理及利用分析 744

附錄a 已公布的核心程式漏洞列表 750

參考文獻 753

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.