
掃描右側(cè)圖片或微信搜索 “ Java技術(shù)分享屋 ” ,回復(fù) “ 驗證碼 ” ,獲取驗證密碼。
本資料僅供讀者預(yù)覽及學(xué)習(xí)交流使用,不能用于商業(yè)用途,請在下載后24小時內(nèi)刪除。如果喜歡,請購買正版!
一.資料圖片
二.資料簡介
王清主編的《Oday安全:軟件漏洞分析技術(shù)(第2版)》分為5篇33章,系統(tǒng)、全面地介紹了Windows平臺緩沖區(qū)溢出漏洞的分析、檢測與防護。第一篇為漏洞exploit的基礎(chǔ)理論和初級技術(shù),可以引領(lǐng)讀者迅速入門;第二篇在第一篇的基礎(chǔ)上,結(jié)合國內(nèi)外相關(guān)研究者的前沿成果,對漏洞技術(shù)從攻、防兩個方面進(jìn)行總結(jié);第三篇站在安全測試者的角度,討論了幾類常用軟件的漏洞挖掘方法與思路;第四篇則填補了本類書籍在Windows內(nèi)核安全及相關(guān)攻防知識這個神秘領(lǐng)域的技術(shù)空白;第五篇以大量的Oday案例分析,來幫助讀者理解前四篇的各類思想方法。 《Oday安全:軟件漏洞分析技術(shù)(第2版)》可作為網(wǎng)絡(luò)安全從業(yè)人員、黑客技術(shù)發(fā)燒友的參考指南,也可作為網(wǎng)絡(luò)安全專業(yè)的研究生或本科生的指導(dǎo)用書。
三.資料目錄
目錄
第1篇 漏洞利用原理(初級)
第1章 基礎(chǔ)知識 2
1.1 漏洞概述 2
1.1.1 bug與漏洞 2
1.1.2 幾個令人困惑的安全問題 2
1.1.3 漏洞挖掘、漏洞分析、漏洞利用 3
1.1.4 漏洞的公布與0 day響應(yīng) 5
1.2 二進(jìn)制文件概述 5
1.2.1 PE文件格式 5
1.2.2 虛擬內(nèi)存 6
1.2.3 PE文件與虛擬內(nèi)存之間的映射 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 二進(jìn)制編輯器 20
1.3.6 VMware簡介 21
1.3.7 Python編程環(huán)境 28
1.4 Crack小實驗 29
第2章 棧溢出原理與實踐 38
2.1 系統(tǒng)棧的工作原理 38
2.1.1 內(nèi)存的不同用途 38
2.1.2 棧與系統(tǒng)棧 39
2.1.3 函數(shù)調(diào)用時發(fā)生了什么 40
2.1.4 寄存器與函數(shù)棧幀 43
2.1.5 函數(shù)調(diào)用約定與相關(guān)指令 44
2.2 修改鄰接變量 47
2.2.1 修改鄰接變量的原理 47
2.2.2 突破密碼驗證程序 49
2.3 修改函數(shù)返回地址 53
2.3.1 返回地址與程序流程 53
2.3.2 控制程序的執(zhí)行流程 57
2.4 代碼植入 62
2.4.1 代碼植入的原理 62
2.4.2 向進(jìn)程中植入代碼 62
第3章 開發(fā)shellcode的藝術(shù) 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 緩沖區(qū)的組織 81
3.3.1 緩沖區(qū)的組成 81
3.3.2 抬高棧頂保護shellcode 83
3.3.3 使用其他跳轉(zhuǎn)指令 83
3.3.4 不使用跳轉(zhuǎn)指令 84
3.3.5 函數(shù)返回地址移位 85
3.4 開發(fā)通用的shellcode 87
3.4.1 定位API的原理 87
3.4.2 shellcode的加載與調(diào)試 88
3.4.3 動態(tài)定位API地址的shellcode 89
3.5 shellcode編碼技術(shù) 98
3.5.1 為什么要對shellcode編碼 98
3.5.2 會“變形”的shellcode 99
3.6 為shellcode“減肥” 103
3.6.1 shellcode瘦身大法 103
3.6.2 選擇恰當(dāng)?shù)膆ash算法 105
3.6.3 191個字節(jié)的bindshell 107
第4章 用MetaSploit開發(fā)Exploit 119
4.1 漏洞測試平臺MSF 簡介 119
4.2 入侵Windows系統(tǒng) 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開發(fā) 134
4.7 用MSF發(fā)布POC 140
第5章 堆溢出利用 144
5.1 堆的工作原理 144
5.1.1 Windows堆的歷史 144
5.1.2 堆與棧的區(qū)別 145
5.1.3 堆的數(shù)據(jù)結(jié)構(gòu)與管理策略 146
5.2 在堆中漫游 151
5.2.1 堆分配函數(shù)之間的調(diào)用關(guān)系 151
5.2.2 堆的調(diào)試方法 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 在調(diào)試中體會“DWORD SHOOT” 165
5.4 堆溢出利用(下)——代碼植入 169
5.4.1 DWORD SHOOT的利用方法 169
5.4.2 狙擊P.E.B中RtlEnterCritical-Section()的函數(shù)指針 170
5.4.3 堆溢出利用的注意事項 175
第6章 形形色色的內(nèi)存攻擊技術(shù) 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++的虛函數(shù) 198
6.4 Heap Spray:堆與棧的協(xié)同攻擊 201
第7章 手機里的緩沖區(qū)溢出 204
7.1 Windows Mobile簡介 204
7.1.1 Windows Mobile前世今生 204
7.1.2 Windows Mobile架構(gòu)概述 205
7.1.3 Windows Mobile的內(nèi)存管理 209
7.2 ARM簡介 212
7.2.1 ARM是什么 212
7.2.2 ARM寄存器結(jié)構(gòu) 212
7.2.3 ARM匯編指令結(jié)構(gòu) 215
7.2.4 ARM指令尋址方式 220
7.2.5 ARM的函數(shù)調(diào)用與返回 222
7.3 Windows Mobile上的HelloWorld 223
7.4 遠(yuǎn)程調(diào)試工具簡介 227
7.4.1 遠(yuǎn)程信息查看管理套件 227
7.4.2 手機上的調(diào)試——Microsoft Visual Studio 231
7.4.3 手機上的調(diào)試——IDA 233
7.5 手機上的exploit me 237
第8章 其他類型的軟件漏洞 243
8.1 格式化串漏洞 243
8.1.1 printf中的缺陷 243
8.1.2 用printf讀取內(nèi)存數(shù)據(jù) 244
8.1.3 用printf向內(nèi)存寫數(shù)據(jù) 245
8.1.4 格式化串漏洞的檢測與防范 246
8.2 SQL注入攻擊 247
8.2.1 SQL注入原理 247
8.2.2 攻擊PHP+MySQL網(wǎng)站 248
8.2.3 攻擊ASP+SQL Server網(wǎng)站 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 利用未被保護的內(nèi)存突破GS 271
10.3 覆蓋虛函數(shù)突破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 利用虛函數(shù)繞過SafeSEH 288
11.4 從堆中繞過SafeSEH 288
11.5 利用未啟用SafeSEH模塊繞過SafeSEH 292
11.6 利用加載模塊之外的地址繞過SafeSEH 299
11.7 利用Adobe Flash Player ActiveX控件繞過SafeSEH 305
第12章 數(shù)據(jù)與程序的分水嶺:DEP 313
12.1 DEP機制的保護原理 313
12.2 攻擊未啟用DEP的程序 316
12.3 利用Ret2Libc挑戰(zhàn)DEP 317
12.3.1 Ret2Libc實戰(zhàn)之利用ZwSetInformationProcess 318
12.3.2 Ret2Libc實戰(zhàn)之利用VirtualProtect 330
12.3.3 Ret2Libc實戰(zhàn)之利用VirtualAlloc 339
12.4 利用可執(zhí)行內(nèi)存挑戰(zhàn)DEP 348
12.5 利用.NET挑戰(zhàn)DEP 352
12.6 利用Java applet挑戰(zhàn)DEP 359
第13章 在內(nèi)存中躲貓貓:ASLR 363
13.1 內(nèi)存隨機化保護機制的原理 363
13.2 攻擊未啟用ASLR的模塊 367
13.3 利用部分覆蓋進(jìn)行定位內(nèi)存地址 372
13.4 利用Heap spray技術(shù)定位內(nèi)存地址 376
13.5 利用Java applet heap spray技術(shù)定位內(nèi)存地址 379
13.6 為.NET控件禁用ASLR 382
第14章 S.E.H終極防護:SEHOP 386
14.1 SEHOP的原理 386
14.2 攻擊返回地址 388
14.3 攻擊虛函數(shù) 388
14.4 利用未啟用SEHOP的模塊 388
14.5 偽造S.E.H鏈表 390
第15章 重重保護下的堆 396
15.1 堆保護機制的原理 396
15.2 攻擊堆中存儲的變量 397
15.3 利用chunk重設(shè)大小攻擊堆 398
15.4 利用Lookaside表進(jìn)行堆溢出 407
第3篇 漏洞挖掘技術(shù)
第16章 漏洞挖掘技術(shù)簡介 414
16.1 漏洞挖掘概述 414
16.2 動態(tài)測試技術(shù) 415
16.2.1 SPIKE簡介 415
16.2.2 beSTORM簡介 421
16.3 靜態(tài)代碼審計 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 定義數(shù)據(jù)之間的依存關(guān)系 440
17.2.5 用Peach Fuzz PNG文件 441
17.3 010腳本,復(fù)雜文件解析的瑞士軍刀 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協(xié)議簡介 457
18.2 漏洞挖掘手記1:DOS 457
18.3 漏洞挖掘手記2:訪問權(quán)限 466
18.4 漏洞挖掘手記3:緩沖區(qū)溢出 468
18.5 漏洞挖掘手記4:Fuzz DIY 472
第19章 E-Mail的漏洞挖掘 477
19.1 挖掘SMTP漏洞 477
19.1.1 SMTP協(xié)議簡介 477
19.1.2 SMTP漏洞挖掘手記 478
19.2 挖掘POP3漏洞 480
19.2.1 POP3協(xié)議簡介 480
19.2.2 POP3漏洞挖掘手記 481
19.3 挖掘IMAP4漏洞 489
19.3.1 IMAP4協(xié)議簡介 489
19.3.2 IMAP4漏洞挖掘手記 490
19.4 其他E-mail漏洞 491
19.4.1 URL中的路徑回溯 491
19.4.2 內(nèi)存中的路徑回溯 494
19.4.3 郵件中的XSS 500
第20章 ActiveX控件的漏洞挖掘 502
20.1 ActiveX控件簡介 502
20.1.1 瀏覽器與ActiveX控件的關(guān)系 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:目錄操作權(quán)限 521
20.4.4 漏洞挖掘手記3:文件讀權(quán)限 523
20.4.5 漏洞挖掘手記3:文件刪除權(quán)限 525
第4篇 操作系統(tǒng)內(nèi)核安全
第21章 探索ring0 528
21.1 內(nèi)核基礎(chǔ)知識介紹 528
21.1.1 內(nèi)核概述 528
21.1.2 驅(qū)動編寫之Hello World 528
21.1.3 派遣例程與IRP結(jié)構(gòu) 533
21.1.4 Ring3打開驅(qū)動設(shè)備 537
21.1.5 DeviceIoControl函數(shù)與IoControlCode 538
21.1.6 Ring3/Ring0的四種通信方式 539
21.2 內(nèi)核調(diào)試入門 541
21.2.1 創(chuàng)建內(nèi)核調(diào)試環(huán)境 541
21.2.2 藍(lán)屏分析 549
21.3 內(nèi)核漏洞概述 551
21.3.1 內(nèi)核漏洞的分類 551
21.3.2 內(nèi)核漏洞的研究過程 553
21.4 編寫安全的驅(qū)動程序 555
21.4.1 輸入輸出檢查 555
21.4.2 驗證驅(qū)動的調(diào)用者 556
21.4.3 白名單機制的挑戰(zhàn) 556
第22章 內(nèi)核漏洞利用技術(shù) 557
22.1 利用實驗之exploitme.sys 557
22.2 內(nèi)核漏洞利用思路 559
22.3 內(nèi)核漏洞利用方法 560
22.4 內(nèi)核漏洞利用實戰(zhàn)與編程 565
22.5 Ring0 Shellcode的編寫 570
第23章 FUZZ驅(qū)動程序 579
23.1 內(nèi)核FUZZ思路 579
23.2 內(nèi)核FUZZ工具介紹 581
23.3 內(nèi)核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 內(nèi)核漏洞挖掘?qū)崙?zhàn) 588
23.4.1 超級巡警ASTDriver.sys本地提權(quán)漏洞 588
23.4.2 東方微點mp110013.sys本地提權(quán)漏洞 594
23.4.3 瑞星HookCont.sys驅(qū)動本地拒絕服務(wù)漏洞 601
第24章 內(nèi)核漏洞案例分析 605
24.1 遠(yuǎn)程拒絕服務(wù)內(nèi)核漏洞 605
24.2 本地拒絕服務(wù)內(nèi)核漏洞 611
24.3 緩沖區(qū)溢出內(nèi)核漏洞 614
24.4 任意地址寫任意數(shù)據(jù)內(nèi)核漏洞 619
24.5 任意地址寫固定數(shù)據(jù)內(nèi)核漏洞 622
第5篇 漏洞分析案例
第25章 漏洞分析技術(shù)概述 628
25.1 漏洞分析的方法 628
25.2運動中尋求突破:調(diào)試技術(shù) 629
25.2.1 斷點技巧 630
25.2.2 回溯思路 644
25.3 用“白眉”在PE中漫步 647
25.3.1 指令追蹤技術(shù)與Paimei 647
25.3.2 Paimei的安裝 648
25.3.3 使用PE Stalker 649
25.3.4 迅速定位特定功能對應(yīng)的代碼 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 動態(tài)調(diào)試 660
26.2.3 靜態(tài)分析 667
26.2.4 實現(xiàn)遠(yuǎn)程exploit 670
26.3 Windows XP環(huán)境下的MS06-040 exploit 677
26.3.1 靜態(tài)分析 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 認(rèn)識Legacy Folder 693
26.4.3 “移經(jīng)”測試 694
26.4.4 “移經(jīng)”風(fēng)險 695
26.4.5 POC的構(gòu)造 696
26.5 魔波、Conficker與蠕蟲病毒 703
第27章 MS06-055分析:實戰(zhàn)Heap Spray 705
27.1 MS06-055簡介 705
27.1.1 矢量標(biāo)記語言(VML)簡介 705
27.1.2 0 day安全響應(yīng)紀(jì)實 706
27.2 漏洞分析 707
27.3 漏洞利用 710
第28章 MS09-032分析:一個“&”引發(fā)的血案 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章 暴風(fēng)影音M3U文件解析漏洞 737
32.1 漏洞簡介 737
32.2 M3U文件簡介 737
32.3 漏洞原理及利用分析 738
第33章 LNK快捷方式文件漏洞 744
33.1 漏洞簡介 744
33.2 漏洞原理及利用分析 744
附錄A 已公布的內(nèi)核程序漏洞列表 750
參考文獻(xiàn) 753