注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)信息安全黑客攻防技術(shù)寶典:系統(tǒng)實(shí)戰(zhàn)篇(第2版)

黑客攻防技術(shù)寶典:系統(tǒng)實(shí)戰(zhàn)篇(第2版)

黑客攻防技術(shù)寶典:系統(tǒng)實(shí)戰(zhàn)篇(第2版)

定 價(jià):¥79.00

作 者: (英)安雷 等著,羅愛(ài)國(guó),鄭艷杰 譯
出版社: 人民郵電出版社
叢編項(xiàng): 圖靈程序設(shè)計(jì)叢書
標(biāo) 簽: 信息安全

ISBN: 9787115217967 出版時(shí)間: 2010-01-01 包裝: 平裝
開本: 16開 頁(yè)數(shù): 545 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《黑客攻防技術(shù)寶典:系統(tǒng)實(shí)戰(zhàn)篇(第2版)》由世界頂級(jí)安全專家親自執(zhí)筆,詳細(xì)闡述了系統(tǒng)安全、應(yīng)用程序安全、軟件破解、加密解密等安全領(lǐng)域的核心問(wèn)題,并用大量的實(shí)例說(shuō)明如何檢查Windows、Linux、Solaris等流行操作系統(tǒng)中的安全漏洞和Oracle等數(shù)據(jù)庫(kù)中的安全隱患。《黑客攻防技術(shù)寶典:系統(tǒng)實(shí)戰(zhàn)篇(第2版)》適用于所有計(jì)算機(jī)安全領(lǐng)域的技術(shù)人員和管理人員以及對(duì)計(jì)算機(jī)安全感興趣的愛(ài)好者。

作者簡(jiǎn)介

  Chris Anley,世界知名系統(tǒng)安全專家。具有各種操作系統(tǒng)漏洞挖掘的豐富經(jīng)驗(yàn)。Next Generation安全軟件公司創(chuàng)始人、總監(jiān)。John Heasman,世界知名安全專家,尤其擅長(zhǎng)于企業(yè)級(jí)軟件安全攻防技術(shù)。著有多篇安全方面的頗有影響力的論文。現(xiàn)任Next Generation安全軟件公司研發(fā)總監(jiān)。FeIix“FX”Linder,世界知名安全專家。具有近20年的計(jì)算機(jī)安全領(lǐng)域工作經(jīng)驗(yàn),熟悉各種操作系統(tǒng)特性。目前領(lǐng)導(dǎo)著德國(guó)著名安全技術(shù)咨詢公司SABRE Labs。Gerardo Richarte,著名安全技術(shù)專家。精通漏洞挖掘和逆向工程。他還參與開發(fā)了著名的SqueakNOS項(xiàng)目?,F(xiàn)為Core安全技術(shù)公司技術(shù)骨干。

圖書目錄

第一部分 破解入門:x86上的Linux
第1章 寫在前面 2
1.1 基本概念 2
1.1.1 內(nèi)存管理 3
1.1.2 匯編語(yǔ)言 4
1.2 識(shí)別匯編指令里的C和C++代碼 5
1.3 小結(jié) 7
第2章 棧溢出 8
2.1 緩沖區(qū) 8
2.2 棧 10
2.3 棧上的緩沖區(qū)溢出 13
2.4 有趣的轉(zhuǎn)換 17
2.5 利用漏洞獲得根特權(quán) 20
2.5.1 地址問(wèn)題 21
2.5.2 NOP法 26
2.6 戰(zhàn)勝不可執(zhí)行棧 28
2.7 小結(jié) 31
第3章 shellcode 32
3.1 理解系統(tǒng)調(diào)用 32
3.2 為exit()系統(tǒng)調(diào)用寫shellcode 34
3.3 可注入的shellcode 37
3.4 派生shell 39
3.5 小結(jié) 46
第4章 格式化串漏洞 47
4.1 儲(chǔ)備知識(shí) 47
4.2 什么是格式化串 47
4.3 什么是格式化串漏洞 49
4.4 利用格式化串漏洞 52
4.4.1 使服務(wù)崩潰 53
4.4.2 信息泄露 54
4.5 控制程序執(zhí)行 59
4.6 為什么會(huì)這樣 67
4.7 格式化串技術(shù)概述 67
4.8 小結(jié) 69
第5章 堆溢出 70
5.1 堆是什么 70
5.2 發(fā)現(xiàn)堆溢出 71
5.2.1 基本堆溢出 72
5.2.2 中級(jí)堆溢出 77
5.2.3 高級(jí)堆溢出 83
5.3 小結(jié) 84
第二部分 其他平臺(tái):Windows、Solaris、OS X和Cisco
第6章 Windows操作系統(tǒng) 86
6.1 Windows和Linux有何不同 86
6.2 堆 88
6.3 DCOM、DCE-RPC的優(yōu)缺點(diǎn) 90
6.3.1 偵察 91
6.3.2 破解 93
6.3.3 令牌及其冒用 93
6.3.4 Win32平臺(tái)的異常處理 95
6.4 調(diào)試Windows 96
6.4.1 Win32里的bug 96
6.4.2 編寫Windows shellcode 97
6.4.3 Win32 API黑客指南 97
6.4.4 黑客眼中的Windows 98
6.5 小結(jié) 99
第7章 Windows shellcode 100
7.1 句法和過(guò)濾器 100
7.2 創(chuàng)建 101
7.2.1 剖析PEB 102
7.2.2 分析Heapoverflow.c 102
7.3 利用Windows異常處理進(jìn)行搜索 116
7.4 彈出shell 121
7.5 為什么不應(yīng)該在Windows上彈出shell 122
7.6 小結(jié) 122
第8章 Windows溢出 123
8.1 棧緩沖區(qū)溢出 123
8.2 基于幀的異常處理程序 123
8.3 濫用Windows 2003 Server上的基于幀的異常處理 127
8.3.1 濫用已有的處理程序 128
8.3.2 在與模塊不相關(guān)的地址里尋找代碼段,從而返回緩沖區(qū) 129
8.3.3 在沒(méi)有Load Configuration Directory的模塊的地址空間里尋找代碼段 130
8.3.4 關(guān)于改寫幀處理程序的最后說(shuō)明 131
8.4 棧保護(hù)與Windows 2003 Server 131
8.5 堆緩沖區(qū)溢出 136
8.6 進(jìn)程堆 136
8.6.1 動(dòng)態(tài)堆 136
8.6.2 與堆共舞 136
8.6.3 堆是如何工作的 137
8.7 破解堆溢出 140
8.7.1 改寫PEB里指向RtlEnter CriticalSection的指針 140
8.7.2 改寫指向未處理異常過(guò)濾器的指針 146
8.7.3 修復(fù)堆 152
8.7.4 堆溢出的其他問(wèn)題 154
8.7.5 有關(guān)堆的總結(jié) 154
8.8 其他的溢出 154
8.8.1 .data區(qū)段溢出 154
8.8.2 TEBPEB溢出 156
8.9 破解緩沖區(qū)溢出和不可執(zhí)行棧 156
8.10 小結(jié) 161
第9章 戰(zhàn)勝過(guò)濾器 162
9.1 為僅接受字母和數(shù)字的過(guò)濾器寫破解代碼 162
9.2 為使用Unicode的過(guò)濾器寫破解代碼 165
9.2.1 什么是Unicode 165
9.2.2 從ASCII轉(zhuǎn)為Unicode 166
9.3 破解Unicode漏洞 166
9.4 百葉窗法 168
9.5 譯碼器和譯碼 171
9.5.1 譯碼器的代碼 172
9.5.2 在緩沖區(qū)地址上定位 173
9.6 小結(jié) 174
第10章 Solaris破解入門 175
10.1 SPARC體系結(jié)構(gòu)介紹 175
10.1.1 寄存器和寄存器窗口 176
10.1.2 延遲槽 177
10.1.3 合成指令 177
10.2 SolarisSPARC shellcode基礎(chǔ) 178
10.2.1 自定位和SPARC shellcode 178
10.2.2 簡(jiǎn)單的SPARC exec shellcode 178
10.2.3 Solaris里有用的系統(tǒng)調(diào)用 179
10.2.4 NOP和填充指令 180
10.3 SolarisSPARC棧幀介紹 180
10.4 棧溢出的方法 180
10.4.1 任意大小的溢出 180
10.4.2 寄存器窗口和棧溢出的復(fù)雜性 181
10.4.3 其他復(fù)雜的因素 181
10.4.4 可能的解決方法 181
10.4.5 off-by-one棧溢出漏洞 182
10.4.6 shellcode的位置 182
10.5 棧溢出破解實(shí)戰(zhàn) 183
10.5.1 脆弱的程序 183
10.5.2 破解代碼 184
10.6 SolarisSPARC上的堆溢出 187
10.6.1 Solaris System V堆介紹 188
10.6.2 堆的樹狀結(jié)構(gòu) 188
10.7 基本的破解方法(t_delete) 209
10.7.1 標(biāo)準(zhǔn)堆溢出的限制 210
10.7.2 改寫的目標(biāo) 211
10.8 其他與堆相關(guān)的漏洞 213
10.8.1 off-by-one溢出 213
10.8.2 二次釋放漏洞 214
10.8.3 任意釋放漏洞 214
10.9 堆溢出的例子 214
10.10 破解Solaris的其他方法 218
10.10.1 靜態(tài)數(shù)據(jù)溢出 218
10.10.2 繞過(guò)不可執(zhí)行棧保護(hù) 218
10.11 小結(jié) 219
第11章 高級(jí)Solaris破解 220
11.1 單步執(zhí)行動(dòng)態(tài)鏈接程序 221
11.2 Solaris SPARC堆溢出的各種技巧 235
11.3 高級(jí)SolarisSPARC shellcode 236
11.4 小結(jié) 248
第12章 OS X shellcode 249
12.1 OS X就是BSD嗎 249
12.2 OS X是否開源 250
12.3 UNIX支持的OS X 250
12.4 OS X PowerPC shellcode 251
12.5 OS X Intel shellcode 257
12.5.1 shellcode實(shí)例 258
12.5.2 ret2libc 259
12.5.3 ret2str(l)cpy 261
12.6 OS X跨平臺(tái)shellcode 263
12.7 OS X堆利用 264
12.8 在OS X中尋找bug 266
12.9 一些有趣的bug 266
12.10 關(guān)于OS X破解的必讀資料 267
12.11 小結(jié) 268
第13章 思科IOS破解技術(shù) 269
13.1 思科IOS縱覽 269
13.1.1 硬件平臺(tái) 269
13.1.2 軟件包 270
13.1.3 IOS系統(tǒng)架構(gòu) 271
13.2 思科IOS里的漏洞 274
13.2.1 協(xié)議剖析代碼 274
13.2.2 路由器上的服務(wù) 274
13.2.3 安全特征 274
13.2.4 命令行接口 275
13.3 逆向分析IOS 275
13.3.1 仔細(xì)剖析映像 275
13.3.2 比較IOS映像文件 276
13.3.3 運(yùn)行時(shí)分析 277
13.4 破解思科IOS 281
13.4.1 棧溢出 282
13.4.2 堆溢出 283
13.4.3 shellcode 286
13.5 小結(jié) 294
第14章 保護(hù)機(jī)制 295
14.1 保護(hù) 295
14.1.1 不可執(zhí)行棧 296
14.1.2 W^X內(nèi)存 299
14.1.3 棧數(shù)據(jù)保護(hù) 304
14.1.4 AAAS 309
14.1.5 ASLR 310
14.1.6 堆保護(hù) 312
14.1.7 Windows SEH保護(hù)機(jī)制 318
14.1.8 其他保護(hù)機(jī)制 321
14.2 不同實(shí)現(xiàn)之間的差異 322
14.2.1 Windows 322
14.2.2 Linux 325
14.2.3 OpenBSD 327
14.2.4 Mac OS X 328
14.2.5 Solaris 329
14.3 小結(jié) 330
第三部分 漏洞發(fā)現(xiàn)
第15章 建立工作環(huán)境 332
15.1 需要什么樣的參考資料 332
15.2 用什么編程 333
15.2.1 gcc 333
15.2.2 gdb 333
15.2.3 NASM 333
15.2.4 WinDbg 333
15.2.5 OllyDbg 333
15.2.6 Visual C++ 334
15.2.7 Python 334
15.3 研究時(shí)需要什么 334
15.3.1 有用的定制腳本工具 334
15.3.2 所有的平臺(tái) 335
15.3.3 UNIX 336
15.3.4 Windows 336
15.4 需要學(xué)習(xí)的資料 337
15.5 優(yōu)化shellcode開發(fā) 339
15.5.1 計(jì)劃 339
15.5.2 用內(nèi)聯(lián)匯編寫shellcode 340
15.5.3 維護(hù)shellcode庫(kù) 341
15.5.4 持續(xù)運(yùn)行 341
15.5.5 使破解程序穩(wěn)定可靠 342
15.5.6 竊取連接 343
15.6 小結(jié) 343
第16章 故障注入 344
16.1 設(shè)計(jì)概要 345
16.1.1 生成輸入數(shù)據(jù) 345
16.1.2 故障注入 347
16.1.3 修正引擎 347
16.1.4 提交故障 351
16.1.5 Nagel算法 351
16.1.6 時(shí)序 351
16.1.7 試探法 351
16.1.8 無(wú)狀態(tài)協(xié)議與基于狀態(tài)的協(xié)議 352
16.2 故障監(jiān)視 352
16.2.1 使用調(diào)試器 352
16.2.2 FaultMon 352
16.3 匯總 353
16.4 小結(jié) 354
第17章 模糊測(cè)試的藝術(shù) 355
17.1 模糊測(cè)試?yán)碚?355
17.1.1 靜態(tài)分析與模糊測(cè)試 359
17.1.2 可擴(kuò)縮的模糊測(cè)試 359
17.2 模糊測(cè)試法的缺點(diǎn) 360
17.3 建立任意的網(wǎng)絡(luò)協(xié)議模型 361
17.4 其他可能的模糊測(cè)試法 362
17.4.1 位翻轉(zhuǎn) 362
17.4.2 修改開源程序 362
17.4.3 帶動(dòng)態(tài)分析的模糊測(cè)試 362
17.5 SPIKE 363
17.5.1 什么是SPIKE 363
17.5.2 為什么用SPIKE數(shù)據(jù)結(jié)構(gòu)模仿網(wǎng)絡(luò)協(xié)議 364
17.6 其他的模糊測(cè)試工具 371
17.7 小結(jié) 371
第18章 源碼審計(jì):在基于C的語(yǔ)言里尋找漏洞 372
18.1 工具 373
18.1.1 Cscope 373
18.1.2 Ctags 373
18.1.3 編輯器 373
18.1.4 Cbrowser 373
18.2 自動(dòng)源碼分析工具 374
18.3 方法論 374
18.3.1 自頂向下(明確的)的方法 374
18.3.2 自底向上的方法 375
18.3.3 結(jié)合法 375
18.4 漏洞分類 375
18.4.1 普通邏輯錯(cuò)誤 375
18.4.2 (幾乎)絕跡的錯(cuò)誤分類 375
18.4.3 格式化串 376
18.4.4 錯(cuò)誤的邊界檢查 377
18.4.5 循環(huán)結(jié)構(gòu) 378
18.4.6 off-by-one漏洞 378
18.4.7 非正確終止問(wèn)題 379
18.4.8 跳過(guò)以\0結(jié)尾問(wèn)題 380
18.4.9 有符號(hào)數(shù)比較漏洞 381
18.4.10 整數(shù)相關(guān)漏洞 382
18.4.11 不同大小的整數(shù)轉(zhuǎn)換 383
18.4.12 二次釋放錯(cuò)誤 384
18.4.13 超出范圍的內(nèi)存使用漏洞 384
18.4.14 使用未初始化的變量 384
18.4.15 釋放后再使用漏洞 385
18.4.16 多線程問(wèn)題和重入安全代碼 386
18.5 超越識(shí)別:真正的漏洞和錯(cuò)誤 386
18.6 小結(jié) 386
第19章 手工的方法 387
19.1 原則 387
19.2 Oracle extproc溢出 387
19.3 普通的體系架構(gòu)故障 390
19.3.1 問(wèn)題發(fā)生在邊界 390
19.3.2 在數(shù)據(jù)轉(zhuǎn)換時(shí)出現(xiàn)問(wèn)題 391
19.3.3 不對(duì)稱區(qū)域里的問(wèn)題 393
19.3.4 當(dāng)認(rèn)證和授權(quán)混淆的時(shí)候出現(xiàn)問(wèn)題 393
19.3.5 在最顯眼的地方存在的問(wèn)題 393
19.4 繞過(guò)輸入驗(yàn)證和攻擊檢測(cè) 394
19.4.1 剝離壞數(shù)據(jù) 394
19.4.2 使用交替編碼 394
19.4.3 使用文件處理特征 395
19.4.4 避開攻擊特征 397
19.4.5 擊敗長(zhǎng)度限制 397
19.5 Windows 2000 SNMP DOS 399
19.6 發(fā)現(xiàn)DOS攻擊 399
19.7 SQL-UDP 400
19.8 小結(jié) 400
第20章 跟蹤漏洞 402
20.1 概述 402
20.1.1 脆弱的程序 403
20.1.2 組件設(shè)計(jì) 404
20.1.3 編譯VulnTrace 411
20.1.4 使用VulnTrace 416
20.1.5 高級(jí)的技術(shù) 418
20.2 小結(jié) 419
第21章 二進(jìn)制審計(jì):剖析不公開源碼的軟件 421
21.1 二進(jìn)制與源碼審計(jì)之間的明顯差異 421
21.2 IDA pro——商業(yè)工具 422
21.2.1 IDA特征簡(jiǎn)介 422
21.2.2 調(diào)試符號(hào) 423
21.3 二進(jìn)制審計(jì)入門 423
21.3.1 棧幀 423
21.3.2 調(diào)用約定 424
21.3.3 編譯器生成的代碼 425
21.3.4 類似memcpy代碼構(gòu)造 428
21.3.5 類似stlen的代碼構(gòu)造 429
21.3.6 C++代碼構(gòu)造 429
21.3.7 this指針 429
21.4 重構(gòu)類定義 430
21.4.1 vtables 430
21.4.2 快速且有用的花絮 431
21.5 手動(dòng)二進(jìn)制分析 431
21.5.1 快速檢查函數(shù)庫(kù)調(diào)用 431
21.5.2 可疑的循環(huán)和寫指令 431
21.5.3 高層理解和邏輯錯(cuò)誤 432
21.5.4 二進(jìn)制的圖形化分析 432
21.5.5 手動(dòng)反編譯 433
21.6 二進(jìn)制漏洞例子 433
21.6.1 微軟SQL Server錯(cuò)誤 433
21.6.2 LSD的RPC-DCOM漏洞 434
21.6.3 IIS WebDav漏洞 434
21.7 小結(jié) 436
第四部分 高級(jí)內(nèi)容
第22章 其他載荷策略 438
22.1 修改程序 438
22.2 SQL Server 3B補(bǔ)丁 439
22.3 MySQL 1位補(bǔ)丁 442
22.4 OpenSSH RSA認(rèn)證補(bǔ)丁 443
22.5 其他運(yùn)行時(shí)修補(bǔ)方法 444
22.6 上載和運(yùn)行(或proglet服務(wù)器) 446
22.7 系統(tǒng)調(diào)用代理 446
22.8 系統(tǒng)調(diào)用代理的問(wèn)題 448
22.9 小結(jié) 456
第23章 編寫在實(shí)際環(huán)境中運(yùn)行的代碼 457
23.1 不可靠的因素 457
23.1.1 魔術(shù)數(shù)字 457
23.1.2 版本 458
23.1.3 shellcode問(wèn)題 458
23.2 對(duì)策 459
23.2.1 準(zhǔn)備 460
23.2.2 暴力破解 460
23.2.3 本地破解 461
23.2.4 OS應(yīng)用程序指紋 461
23.2.5 信息泄露 463
23.3 小結(jié) 463
第24章 攻擊數(shù)據(jù)庫(kù)軟件 464
24.1 網(wǎng)絡(luò)層攻擊 464
24.2 應(yīng)用層攻擊 474
24.3 運(yùn)行操作系統(tǒng)命令 475
24.3.1 微軟SQL Server 475
24.3.2 Oracle 475
24.3.3 IBM DB2 476
24.4 SQL層的多種利用方法 478
24.5 小結(jié) 480
第25章 UNIX內(nèi)核溢出 481
25.1 內(nèi)核漏洞類型 481
25.2 0day內(nèi)核漏洞 489
25.2.1 OpenBSD exec_ibcs2_coff_prep_zmagic()棧溢出 489
25.2.2 漏洞 490
25.3 Solaris vfs_getvfssw()可加載內(nèi)核模塊遍歷漏洞 494
25.3.1 sysfs()系統(tǒng)調(diào)用 495
25.3.2 mount()系統(tǒng)調(diào)用 496
25.4 小結(jié) 497
第26章 破解UNIX內(nèi)核漏洞 498
26.1 exec_ibcs2_coff_prep_zmagic()漏洞 498
26.1.1 計(jì)算偏移量和斷點(diǎn) 503
26.1.2 改寫返回地址并重定向執(zhí)行流程 505
26.1.3 查找進(jìn)程描述符(或進(jìn)程結(jié)構(gòu)) 506
26.1.4 開發(fā)內(nèi)核模式載荷 508
26.1.5 從內(nèi)核載荷返回 509
26.1.6 得到根權(quán)限(uid=0) 514
26.2 Solaris vfs_getvfssw()可加載內(nèi)核模塊路徑遍歷破解 520
26.2.1 精心編寫破解代碼 521
26.2.2 加載內(nèi)核模塊 522
26.2.3 得到根權(quán)限(uid=0) 525
26.3 小結(jié) 526
第27章 破解Windows內(nèi)核 527
27.1 Windows內(nèi)核模式缺陷——逐漸增多的獵物 527
27.2 Windows內(nèi)核介紹 528
27.3 常見(jiàn)內(nèi)核模式編程缺陷 528
27.3.1 棧溢出 529
27.3.2 堆溢出 532
27.3.3 沒(méi)有充分驗(yàn)證用戶模式地址 532
27.3.4 多目的化攻擊 533
27.3.5 共享的對(duì)象攻擊 533
27.4 Windows系統(tǒng)調(diào)用 533
27.4.1 理解系統(tǒng)調(diào)用 534
27.4.2 攻擊系統(tǒng)調(diào)用 535
27.5 與設(shè)備驅(qū)動(dòng)程序通信 536
27.5.1 IOCTL組件 536
27.5.2 發(fā)現(xiàn)IOCTL處理程序中的缺陷 537
27.6 內(nèi)核模式載荷 538
27.6.1 提升用戶模式進(jìn)程 538
27.6.2 運(yùn)行任意的用戶模式載荷 540
27.6.3 顛覆內(nèi)核安全 543
27.6.4 安裝rootkit 544
27.7 內(nèi)核shellcoder的必讀資料 544
27.8 小結(jié) 545

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.hotzeplotz.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)