軟件安全:漏洞利用及滲透測試

劉哲理、賈岩、範玲玲、汪定

  • 軟件安全:漏洞利用及滲透測試-preview-1
  • 軟件安全:漏洞利用及滲透測試-preview-2
  • 軟件安全:漏洞利用及滲透測試-preview-3
軟件安全:漏洞利用及滲透測試-preview-1

買這商品的人也買了...

商品描述

本書全面介紹匯編語言和逆向分析基礎知識、軟件漏洞的利用及挖掘、面向Web應用的滲透測試、CTF題型及演示,配合豐富的實踐案例(視頻教程、慕課資源),是一本全面、基礎、專業的入門級教程。 全書共分四部分: 第一部分(第1~3章)為基礎篇,著重介紹匯編語言和逆向分析基礎知識,包括堆棧基礎、匯編語言、寄存器和棧幀、PE文件格式、軟件調試基礎、調試工具OllyDbg和IDA Pro等;第二部分(第4~8章)為漏洞篇,著重介紹軟件漏洞、漏洞利用和漏洞挖掘等專業知識,包括shellcode編寫、Windows安全防護、返回導向編程等漏洞利用技術、Windows系統漏洞實踐,還包括詞法分析、數據流分析、AFL模糊測試、程序切片、程序插樁、Hook、符號執行、污點分析等漏洞挖掘技術;第三部分(第9~12章)為滲透篇,針對滲透測試及Web應用安全進行詳細講解,包括滲透測試框架Metasploit、針對Windows XP系統的掃描和滲透、Web應用開發原理、Web應用的安全威脅、針對Web的滲透攻擊等,其中,基於Web應用的滲透測試對很多讀者而言很容易上手實踐,通過跟隨本書的案例可以加深對黑客攻防的認識;第四部分(第13章)為CTF篇,介紹CTF題型及部分示例,包括PWN題、逆向題和Web題等。 本書是南開大學信息安全專業、電腦專業和物聯網專業的必修課教材,建議在大二下學期使用。同時,可供對軟件安全、漏洞挖掘、黑客攻防、CTF入門有興趣的大學生、開發人員、廣大科技工作者和研究人員參考。

目錄大綱

目錄

第一部分基礎篇

第1章基本概念31.1病毒與木馬3

1.1.1病毒3

1.1.2蠕蟲4

1.1.3木馬5

1.2軟件漏洞5

1.2.1漏洞概念5

1.2.2漏洞分類8

1.2.3漏洞數據庫10

1.3滲透測試12

1.3.1基本概念12

1.3.2滲透測試方法13

1.3.3安全自律意識14

1.4實驗環境14

1.4.1VMware Workstation14

1.4.2認識Kali16

1.4.3Kali軟件包管理22

1.4.4Kali常用指令22

第2章匯編語言基礎25

2.1堆棧基礎25

2.1.1內存區域25

2.1.2堆區和棧區26

2.1.3函數調用29

2.1.4常見寄存器與棧幀31

2.2匯編語言33

2.2.1主要寄存器33

2.2.2尋址方式35

2.2.3主要指令37

2.2.4函數調用匯編示例40

第3章軟件調試基礎45

3.1二進制文件45

3.1.1PE文件格式45

3.1.2軟件加殼46

3.1.3虛擬內存47

3.1.4PE文件與虛擬內存的映射47

3.2調試分析工具52

3.2.1OllyDbg52

3.2.2IDA Pro54

3.3演示示例59

3.3.1PE文件代碼註入59

3.3.2軟件破解示例63

軟件安全: 漏洞利用及滲透測試目錄第二部分漏洞篇

第4章軟件漏洞714.1緩沖區溢出漏洞72

4.1.1基本概念72

4.1.2棧溢出漏洞72

4.1.3堆溢出漏洞78

4.1.4SEH覆蓋84

4.1.5單字節溢出87

4.2格式化字符串漏洞87

4.2.1格式化字符串的定義88

4.2.2格式化字符串漏洞的利用88

4.3整數溢出漏洞93

4.4攻擊C++虛函數96

4.5其他類型漏洞100

4.5.1註入類漏洞100

4.5.2權限類漏洞101

第5章漏洞利用103

5.1概念及示例103

5.1.1漏洞利用103

5.1.2覆蓋鄰接變量示例104

5.1.3代碼植入示例106

5.2shellcode編寫110

5.2.1提取shellcode代碼110

5.2.2shellcode編碼114

5.3Windows安全防護117

5.3.1ASLR117

5.3.2GS Stack Protection119

5.3.3DEP121

5.3.4SafeSEH121

5.3.5SEHOP122

5.4漏洞利用技術122

5.4.1地址定位技術122

5.4.2API函數自搜索技術127

5.4.3返回導向編程133

5.4.4繞過其他安全防護135

第6章漏洞利用實踐137

6.1WinDbg工具137

6.1.1WinDbg簡介137

6.1.2WinDbg基本操作命令137

6.2Windows漏洞利用160

6.2.1RET EIP覆蓋示例160

6.2.2ROP漏洞利用示例167

第7章漏洞挖掘基礎178

7.1方法概述178

7.1.1方法分類178

7.1.2符號執行179

7.1.3污點分析180

7.2詞法分析181

7.2.1基本概念181

7.2.2詞法分析漏洞挖掘實踐182

7.2.3基於IDA腳本的漏洞挖掘186

7.3數據流分析188

7.3.1基本概念188

7.3.2漏洞分析190

7.4模糊測試191

7.4.1基本概念191

7.4.2智能模糊測試193

7.4.3模糊測試工具示例194

7.4.4自動動手寫Fuzzer199

7.4.5AFL模糊測試工具201

第8章漏洞挖掘技術進階207

8.1程序切片技術207

8.1.1基礎定義207

8.1.2工作原理211

8.1.3典型方法212

8.2程序插樁技術215

8.2.1插樁概念215

8.2.2插樁分類215

8.2.3Pin插樁示例216

8.3Hook技術224

8.3.1Hook概念224

8.3.2消息Hook225

8.3.3API Hook230

8.4符號執行技術242

8.4.1基本原理242

8.4.2方法分類247

8.4.3Angr應用示例247

8.5污點分析技術252

8.5.1基本原理252

8.5.2顯式流分析254

8.5.3隱式流分析256

8.5.4檢測漏洞示例258

第三部分滲透篇

第9章滲透測試基礎2639.1滲透測試過程263

9.2滲透測試框架266

9.2.1認識Metasploit266

9.2.2常用命令267

9.3信息收集270

9.3.1被動信息收集270

9.3.2主動信息收集274

9.4掃描279

9.5漏洞利用284

9.6後滲透攻擊288

9.6.1挖掘用戶名和密碼288

9.6.2獲取控制權289

9.6.3Meterpreter命令289

第10章Web安全基礎292

10.1基礎知識292

10.1.1HTTP292

10.1.2HTML292

10.1.3JavaScript293

10.1.4HTTP會話管理294

10.2Web編程環境安裝295

10.2.1環境安裝295

10.2.2JavaScript實踐298

10.3PHP與數據庫編程302

10.3.1PHP語言302

10.3.2第一個Web程序303

10.3.3連接數據庫304

10.3.4查詢數據305

10.3.5一個完整的示例306

10.3.6Cookie實踐314

10.4Web安全威脅316

第11章Web滲透實戰基礎322

11.1文件上傳漏洞322

11.1.1WebShell322

11.1.2上傳漏洞324

11.2跨站腳本攻擊328

11.2.1腳本的含義328

11.2.2跨站腳本的含義329

11.2.3跨站腳本攻擊的危害331

11.3SQL註入漏洞336

11.3.1SQL語法336

11.3.2註入原理337

11.3.3尋找註入點339

11.3.4SQLMap340

11.3.5SQL註入實踐340

11.3.6SQL盲註347

11.3.7SQL註入防禦措施352

第12章Web滲透實戰進階354

12.1文件包含漏洞354

12.1.1文件包含354

12.1.2本地文件包含漏洞355

12.1.3遠程文件包含漏洞356

12.1.4PHP偽協議357

12.2反序列化漏洞359

12.2.1序列化與反序列化359

12.2.2PHP魔術方法360

12.2.3PHP反序列化漏洞361

12.3整站攻擊案例365

第四部分CTF篇

第13章CTF題型及演示37313.1CTF簡介373

13.2PWN題演示373

13.2.1PWN常用工具介紹374

13.2.2棧溢出379

13.2.3ROP382

13.2.4格式化字符串漏洞387

13.3逆向題演示392

13.3.1IDA逆向題示例392

13.3.2符號執行Angr解題示例393

13.3.3Pin解題示例396

13.3.4Hook解題示例403

13.3.5Z3解題示例408

13.4Web題演示413

13.4.1簽到題414

13.4.2SQL註入414

13.4.3文件上傳漏洞419

13.4.4跨站腳本攻擊422

樣題424

參考文獻425