《Web安全原理分析與實踐》

網絡空間安全重點規劃叢書
圖書作者:
閔海釗、李江濤、張敬、劉新鵬
出版商:
清華大學出版社
發行時間:
2019年11月01
立即購買

內容簡介 CONTENT VALIDITY

        本書重點介紹WEB安全基礎知識,講述了文件包含漏洞、SQL注入漏洞、文件上傳漏洞、命令執行漏洞、代碼執行漏洞、XSS漏洞、SSRF漏洞、XXE漏洞、反序列化漏洞、中間件漏洞、解析漏洞、數據庫漏洞等WEB安全相關的常見漏洞的原理分析與代碼分析,分析了WEB安全常見漏洞的攻擊和防禦方式,結合詳細案例對漏洞的原理和利用過程詳細分析解讀,幫助讀者更透徹的掌握WEB安全技術及應用;介紹典型應用案例;通過學習能夠對這些Web安全漏洞有比較全面和深入的瞭解,為後續的實踐教學打下良好的基礎,同時有助於在實際工作中檢測和防範Web安全漏洞。

更多

作者簡介 ABOUT THE AUTHORS

        奇物安全實驗室負責人,網絡安全組織defcon group 0531發起人之一,第二屆網鼎杯命題專家,專注於物聯網安全與Web安全領域的前沿技術的研究和安全服務,在CVE信息安全漏洞庫提交11個漏洞並獲得CVEID編號,在CNNVD中國國家信息安全漏洞庫、CNVD國家信息安全漏洞共享平台提交多個原創高危漏洞並獲得證書,獲得多個CTF比賽獎項。

更多

目錄 CONTENTS

第1章Web安全基礎1

1.1網絡安全現狀1

1.2常見的Web安全漏洞1

1.3HTTP基礎2

1.3.1HTTP之URL3
1.3.2HTTP請求3
1.3.3HTTP響應4
1.3.4HTTP狀態碼4
1.3.5HTTP請求方法5
1.3.6HTTP請求頭6
1.3.7HTTP響應頭7

1.4Cookie和Session7

1.4.1Cookie簡介7
1.4.2Cookie詳解8
1.4.3Session詳解9
1.4.4Session傳輸11

1.5BurpSuite工具12

1.5.1BurpSuite簡介12
1.5.2BurpSuite主要組件12
1.5.3BurpSuite安裝13
1.5.4BurpSuite代理設置13
1.5.5BurpSuite重放18
1.5.6BurpSuite爆破19
1.5.7安裝CA證書25

1.6信息收集30

1.6.1Nmap掃描30
1.6.2敏感目錄掃描35

1.7思考題36

第2章SQL注入漏洞38

2.1SQL注入漏洞簡介38

2.1.1SQL注入漏洞產生原因及危害38
2.1.2SQL注入漏洞示例代碼分析38
2.1.3SQL注入分類38

2.2數字型注入39

2.3字符型注入39

2.4MySQL注入40

2.4.1information_schema數據庫40
2.4.2MySQL系統庫41
2.4.3MySQL聯合查詢注入41
2.4.4MySQLbool注入50
2.4.5MySQLsleep注入59
2.4.6MySQLfloor注入67
2.4.7MySQLupdatexml注入72
2.4.8MySQLextractvalue注入76
2.4.9MySQL寬字節注入76

2.5Oracle注入81

2.5.1Oracle基礎知識81
2.5.2Oracle注入示例代碼分析84

2.6SQLServer注入90

2.6.1SQLServer目錄視圖90
2.6.2SQLServer報錯注入92

2.7Access注入96

2.7.1Access基礎知識96
2.7.2Access爆破法注入96

2.8二次注入101

2.8.1二次注入示例代碼分析101
2.8.2二次注入漏洞利用過程102

2.9自動化SQL注入工具sqlmap104

2.9.1sqlmap基礎104
2.9.2sqlmap注入過程105

2.10SQL注入繞過108

2.10.1空格過濾繞過108
2.10.2內聯註釋繞過113
2.10.3大小寫繞過115
2.10.4雙寫關鍵字繞過116
2.10.5編碼繞過117
2.10.6等價函數字符替換繞過121

2.11MySQL注入漏洞修復124

2.11.1代碼層修復124
2.11.2服務器配置修復126

2.12思考題127

第3章文件上傳漏洞128

3.1文件上傳漏洞簡介128

3.2前端JS過濾繞過128

3.3文件名過濾繞過132

3.4Content-Type過濾繞過133

3.5文件頭過濾繞過136

3.6.htaccess文件上傳138

3.6.1.htaccess基礎138
3.6.2.htaccess文件上傳示例代碼分析139

3.7文件截斷上傳141

3.8競爭條件文件上傳144

3.9文件上傳漏洞修復148

3.10思考題148

第4章文件包含漏洞149

4.1文件包含漏洞簡介149

4.2文件包含漏洞常見函數149

4.3文件包含漏洞示例代碼分析149

4.4無限制本地文件包含漏洞150

4.4.1定義及代碼實現150
4.4.2常見的敏感信息路徑150
4.4.3漏洞利用150

4.5有限制本地文件包含漏洞151

4.5.1定義及代碼實現151
4.5.2%00截斷文件包含152
4.5.3路徑長度截斷文件包含152
4.5.4點號截斷文件包含154

4.6Session文件包含155

4.6.1利用條件155
4.6.2Session文件包含示例分析155
4.6.3漏洞分析156
4.6.4漏洞利用156

4.7日誌文件包含157

4.7.1中間件日誌文件包含157
4.7.2SSH日誌文件包含159

4.8遠程文件包含161

4.8.1無限制遠程文件包含161
4.8.2有限制遠程文件包含162

4.9PHP偽協議164

4.9.1php://偽協議165
4.9.2file://偽協議168
4.9.3data://偽協議169
4.9.4phar://偽協議169
4.9.5zip://偽協議171
4.9.6expect://偽協議172

4.10文件包含漏洞修復172

4.10.1代碼層修復172
4.10.2服務器安全配置172

4.11思考題172

第5章命令執行漏洞174

5.1命令執行漏洞簡介174

5.2Windows下的命令執行漏洞176

5.2.1Windows下的命令連接符176
5.2.2Windows下的命令執行漏洞利用178

5.3Linux下的命令執行漏洞179

5.3.1Linux下的命令連接符179
5.3.2Linux下的命令執行漏洞利用180

5.4命令執行繞過181

5.4.1繞過空格過濾181
5.4.2繞過關鍵字過濾184

5.5命令執行漏洞修復191

5.5.1服務器配置修復191
5.5.2函數過濾191

5.6思考題192

第6章代碼執行漏洞194

6.1代碼執行漏洞簡介194

6.2PHP可變函數199

6.3思考題202

第7章XSS漏洞203

7.1XSS漏洞簡介203

7.2XSS漏洞分類203

7.3反射型XSS203

7.4存儲型XSS205

7.5DOM型XSS207

7.5.1DOM簡介207
7.5.2DOM型XSS示例代碼分析207

7.6XSS漏洞利用208

7.7XSS漏洞修復211

7.8思考題212

第8章SSRF漏洞213

8.1SSRF漏洞簡介213

8.2SSRF漏洞示例代碼分析213

8.2.1端口探測214
8.2.2讀取文件214
8.2.3內網應用攻擊215

8.3SSRF漏洞修復218

8.4思考題219

第9章XXE漏洞220

9.1XXE漏洞簡介220

9.2XML基礎220

9.2.1XML聲明220
9.2.2文檔類型定義221

9.3XML漏洞利用222

9.3.1文件讀取222
9.3.2內網探測223
9.3.3內網應用攻擊225
9.3.4命令執行226

9.4XML漏洞修復226

9.5思考題226

第10章反序列化漏洞227

10.1序列化和反序列化簡介227

10.2序列化227

10.2.1serialize函數227
10.2.2NULL和標量類型數據的序列化227
10.2.3簡單複合類型數據的序列化229

10.3反序列化231

10.4反序列化漏洞利用232

10.4.1魔法函數232
10.4.2__construct函數和__destruct函數232
10.4.3__sleep函數和__wakeup函數233

10.5反序列化漏洞示例代碼分析235

10.5.1漏洞分析235
10.5.2漏洞利用235

10.6反序列化漏洞利用實例詳解237

10.6.1漏洞分析239
10.6.2漏洞利用239

10.7思考題245

第11章中間件漏洞246

11.1IIS服務器簡介246

11.2IIS6.0PUT上傳漏洞247

11.2.1漏洞產生原因247
11.2.2WebDAV簡介247
11.2.3漏洞測試方法247
11.2.4漏洞利用方法248

11.3IIS短文件名枚舉漏洞249

11.3.1IIS短文件名枚舉漏洞簡介249
11.3.2IIS短文件名枚舉漏洞分析與利用249
11.3.3IIS短文件名漏洞利用示例250
11.3.4IIS短文件名枚舉漏洞修復252

11.4IISHTTP.sys漏洞253

11.4.1漏洞簡介253
11.4.2影響版本253
11.4.3漏洞分析與利用254
11.4.4漏洞修復257

11.5JBoss服務器漏洞257

11.5.1JBoss的重要目錄文件258
11.5.2JBoss未授權訪問部署木馬258
11.5.3JBossInvoker接口未授權訪問遠程命令執行262

11.6Tomcat服務器漏洞265

11.6.1Tomcat弱口令攻擊266
11.6.2Tomcat弱口令漏洞修復270
11.6.3Tomcat遠程代碼執行漏洞270
11.6.4Tomcat遠程代碼執行漏洞修復274

11.7WebLogic服務器漏洞275

11.7.1WebLogic部署應用的3種方式275
11.7.2WebLogic弱口令漏洞利用284

11.8思考題288

第12章解析漏洞289

12.1Web容器解析漏洞簡介289

12.2Apache解析漏洞290

12.2.1漏洞形成原因290
12.2.2Apache解析漏洞示例分析290
12.2.3Apache解析漏洞修復292

12.3PHPCGI解析漏洞292

12.3.1CGI簡介292
12.3.2fastcgi簡介292
12.3.3PHPCGI解析漏洞292

12.4IIS解析漏洞293

12.4.1IIS6.0解析漏洞293
12.4.2IIS6.0解析漏洞修復294

12.5IIS7.x解析漏洞295

12.5.1IIS7.x解析漏洞示例分析296
12.5.2IIS7.x解析漏洞修復297

12.6Nginx解析漏洞298

12.7思考題299

第13章數據庫漏洞300

13.1SQLServer數據庫漏洞300

13.1.1利用xp_cmdshell提權300
13.1.2利用MSF提權302

13.2MySQL數據庫漏洞304

13.3Oracle數據庫漏洞309

13.4Redis數據庫未授權訪問漏洞313

13.4.1Redis數據庫未授權訪問環境搭建313
13.4.2利用Redis未授權訪問漏洞獲取敏感信息315
13.4.3利用Redis未授權訪問漏洞獲取主機權限316
13.4.4利用Redis未授權訪問漏洞寫入Webshell319
13.4.5利用Redis未授權訪問漏洞反彈shell320

13.5數據庫漏洞修復321

13.6思考題321