Web 漏洞解析與攻防實戰

王放[等]

  • 出版商: 機械工業
  • 出版日期: 2023-04-01
  • 售價: $774
  • 貴賓價: 9.5$735
  • 語言: 簡體中文
  • 頁數: 408
  • 裝訂: 平裝
  • ISBN: 7111724968
  • ISBN-13: 9787111724964
  • 相關分類: 資訊安全
  • 立即出貨 (庫存 < 3)

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

商品描述

本書以Web漏洞基本原理為切入點,將相似的漏洞歸類,由淺入深、逐一陳述。
本書共11章,分別為Web概述、計算機網絡基礎知識、測試工具與靶場環境搭建、傳統後端漏洞(上、下)、
前端漏洞(上、下)、新後端漏洞(上、下)、邏輯漏洞(上、下),
每章以不同的漏洞類型為小節內容,盡可能涵蓋已發現和公開的所有重大Web漏洞類型。
本書配有53個漏洞實戰案例,並附贈所有漏洞實戰案例的完整源碼,方便讀者學取方式見封底二維碼。
本書可作為代碼審計、滲透測試、應急響應、基線核查、紅藍對抗、防禦加固等相關工作從業人員的參考資料,
亦可作為企業管理者開展企業建設的技術指南,還可作為大中專院校及Web培訓班的Web培訓教材。

目錄大綱

前言
第1章 Web安全概述1
1.1 什麼是Web安全1
1.2 Web安全發展規律1
1.3 Web安全與Web漏洞2
第2章 計算機網絡基礎知識3
 2.1 計算機網絡概述3
 2.2 TCP協議的交互5
  2.2.1 TCP建立連接的“三次握手”5
  2.2.2 TCP斷開連接的“四次揮手”6
  2.2.3 TCP協議的基本結構6
 2.3 Wireshark工具的使用7
  2.3.1 Wireshark監聽網卡7
  2.3.2 Wireshark數據包分析8
  2.3.3 實戰1:使用Wireshark分析TCP“三次握手”9
  2.3.4 實戰2:使用Wireshark分析TCP“四次揮手”9
 2.4 HTTP協議的結構11
  2.4.1 HTTP請求的結構11
  2.4.2 HTTP響應的結構13
 2.5 HTTP協議交互14
 2.6 HTTP協議的不同表現形式16
  2.6.1 GET方法16
  2.6.2 POST方法17
  2.6.3 multipart/form-data17
  2.6.4 chunked18
 2.7 HTTPS協議19
  2.7.1 HTTPS協議簡介19
  2.7.2 心臟滴血漏洞(CVE-2014-0160)20
 2.8 信息、進制與編碼21
  2.8.1 ASCII編碼21
  2.8.2 其他字符編碼22
  2.8.3 進制概述22
  2.8.4 進制轉換23
  2.8.5 URL編碼25
  2.8.6 Base64編碼26
第3章 測試工具與靶場環境搭建28
 3.1 黑盒測試與白盒測試28
 3.2 PoC、Payload與Exp28
 3.3 Netcat工具的使用29
  3.3.1 實戰3:使用NC發送簡單的HTTP請求29
  3.3.2 實戰4:使用NC發送複雜的HTTP請求30
 3.4 BurpSuite工具的使用31
  3.4.1 實戰5:使用BurpSuite攔截並修改HTTP請求31
  3.4.2 實戰6:使用BurpSuite重放HTTP請求33
  3.4.3 實戰7:使用BurpSuite捕獲HTTPS請求34
 3.5 實戰靶場環境搭建35
  3.5.1 LAMP網站架構簡介36
  3.5.2 Docker簡介36
  3.5.3 實戰8:使用Docker搭建LAMP環境37
  3.5.4 實戰9:使用Docker Compose搭建實驗環境38
第4章 傳統後端漏洞(上)40
 4.1 SQL注入漏洞(上)40
  4.1.1 SQL注入漏洞概述40
  4.1.2 SQL與數據庫40
  4.1.3 SQL注入檢測方法與攻擊方法45
  4.1.4 SQL注入點與HTTP協議56
  4.1.5 SQL注入與SQL動詞57
  4.1.6 參數點位置對SQL注入的影響58
  4.1.7 閉合符對SQL注入的影響59
  4.1.8 不同SQL引擎下的SQL注入60
  4.1.9 實戰10:ThinkPHP5 SQL注入漏洞63
 4.2 SQL注入漏洞(下)65
  4.2.1 SQL注入其他攻擊思路65
  4.2.2 萬能密碼70
  4.2.3 SQL注入漏洞的對抗71
  4.2.4 SQL注入與回顯73
  4.2.5 SQLMAP74
  4.2.6 SQL注入漏洞防禦78
  4.2.7 實戰11:Django GIS SQL注入漏洞(CVE-2020-9402)78
 4.3 遠程命令執行漏洞81
  4.3.1 遠程命令執行漏洞概述81
  4.3.2 反彈Shell82
  4.3.3 命令拼接符83
  4.3.4 遠程命令執行漏洞檢測84
  4.3.5 遠程命令執行漏洞防禦85
  4.3.6 實戰12:Shellshock 漏洞(CVE-2014-6271)85
 4.4 遠程代碼執行漏洞86
  4.4.1 遠程代碼執行漏洞概述86
  4.4.2 PHP遠程代碼執行86
  4.4.3 白盒審計遠程代碼漏洞挖掘87
  4.4.4 文件包含89
  4.4.5 PHP文件包含漏洞進階91
  4.4.6 其他語言的遠程代碼執行漏洞92
  4.4.7 遠程代碼執行漏洞防禦94
  4.4.8 實戰13:Mongo-Express 遠程代碼執行漏洞(CVE-2019-10758)94
 4.5 PUT漏洞95
  4.5.1 IIS寫權限漏洞95
  4.5.2 Tomcat PUT漏洞97
  4.5.3 PUT漏洞防禦98
  4.5.4 實戰14:IIS寫權限漏洞獲取WebShell98
  4.5.5 實戰15:Tomcat PUT方法任意寫文件漏洞(CVE-2017-12615)102
 4.6 任意文件讀取漏洞105
  4.6.1 任意文件讀取漏洞概述105
  4.6.2 目錄穿越攻擊106
  4.6.3 任意文件讀取漏洞進階106
  4.6.4 任意文件讀取漏洞防禦107
  4.6.5 實戰16:Apache Flink jobmanager/logs任意文件讀取漏洞(CVE-2020-1751)107
  4.6.6 實戰17:Gitlab任意文件讀取漏洞(CVE-2016-9086)107
 4.7 任意文件上傳漏洞110
  4.7.1 任意文件上傳漏洞概述110
  4.7.2 常見的繞過場景110
  4.7.3 任意文件上傳漏洞防禦112
  4.7.4 實戰18:WebLogic任意文件上傳漏洞(CVE-2018-2894)113
  4.7.5 實戰19:Apache Flink文件上傳漏洞(CVE-2020-17518)116
第5章 傳統後端漏洞(下)119
 5.1 解析漏洞119
  5.1.1 解析漏洞概述119
  5.1.2 IIS解析漏洞119
  5.1.3 Nginx解析漏洞122
  5.1.4 Apache解析漏洞127
  5.1.5 解析漏洞的防禦129
  5.1.6 實戰20:Nginx 解析漏洞129
  5.1.7 實戰21:Apache HTTPD 換行解析漏洞(CVE-2017-15715)132
 5.2 目錄瀏覽漏洞134
  5.2.1 目錄瀏覽漏洞概述134
  5.2.2 IIS目錄瀏覽漏洞135
  5.2.3 Nginx目錄瀏覽漏洞136
  5.2.4 Apache目錄瀏覽漏洞136
  5.2.5 目錄瀏覽漏洞防禦137
  5.2.6 實戰22:Nginx目錄瀏覽漏洞138
  5.2.7 實戰23:Apache目錄瀏覽漏洞139
 5.3 SSI注入漏洞139
  5.3.1 SSI漏洞概述139
  5.3.2 SSI語法139
  5.3.3 SSI漏洞點與測試140
  5.3.4 SSI漏洞防禦140
  5.3.5 實戰24:Apache SSI 遠程命令執行漏洞140
 5.4 LDAP注入漏洞142
  5.4.1 LDAP協議簡介142
  5.4.2 LDAP注入漏洞概述142
  5.4.3 LDAP注入漏洞利用143
  5.4.4 LDAP注入漏洞防禦151
 5.5 XPath注入漏洞151
  5.5.1 XPath語言簡介151
  5.5.2 XPath注入漏洞概述151
  5.5.3 XPath注入漏洞利用152
  5.5.4 XPath注入漏洞防禦155
 5.6 信息洩露漏洞155
  5.6.1 數據庫文件洩露漏洞156
  5.6.2 物理路徑洩露漏洞157
  5.6.3 源代碼洩露漏洞160
  5.6.4 服務器配置洩露漏洞163
  5.6.5 IIS短文件名洩露漏洞164
  5.6.6 雲主機AK/SK洩露漏洞164
  5.6.7 實戰25:Jetty WEB-INF敏感信息洩露漏洞(CVE-2021-28164)165
第6章 前端漏洞(上)166
 6.1 XSS漏洞(上)167
  6.1.1 XSS漏洞簡介167
  6.1.2 XSS漏洞分類167
  6.1.3 XSS漏洞的基本攻擊流程168
  6.1.4 XSS漏洞的檢測方法169
  6.1.5 XSS漏洞利用進階176
  6.1.6 其他XSS漏洞177
 6.2 XSS漏洞(下)179
  6.2.1 XSS漏洞對抗之HttpOnly179
  6.2.2 XSS漏洞相關的攻防對抗181
  6.2.3 XSS漏洞防禦182
  6.2.4 實戰26:Django debug page XSS漏洞(CVE-2017-12794)182
 6.3 CSRF漏洞183
  6.3.1 CSRF漏洞概述184
  6.3.2 CSRF漏洞檢測184
  6.3.3 CSRF漏洞防禦187
  6.3.4 實戰27:CSRF漏洞187
 6.4 JSONHijacking漏洞189
  6.4.1 同源策略189
  6.4.2 JSONHijacking漏洞原理190
  6.4.3 JSONHijacking漏洞檢測190
  6.4.4 JSONHijacking漏洞利用191
  6.4.5 JSONHijacking漏洞防禦192
  6.4.6 實戰28:JSONHijacking漏洞192
 6.5 CORS漏洞193
  6.5.1 CORS漏洞概述193
  6.5.2 CORS的兩種請求方式193
  6.5.3 CORS漏洞與JSONHijacking漏洞對比198
  6.5.4 CORS漏洞防禦199
  6.5.5 實戰29:CORS漏洞199
第7章 前端漏洞(下)201
 7.1 ClickJacking漏洞201
  7.1.1 ClickJacking漏洞概述201
  7.1.2 ClickJacking漏洞攻防202
  7.1.3 ClickJacking漏洞防禦203
  7.1.4 實戰30:ClickJacking漏洞203
 7.2 會話固定漏洞204
  7.2.1 會話固定漏洞概述204
  7.2.2 會話固定漏洞攻擊流程205
  7.2.3 會話固定漏洞防禦207
  7.2.4 實戰31:會話固定漏洞207
 7.3 CRLF注入漏洞209
  7.3.1 CRLF注入漏洞概述209
  7.3.2 CRLF注入漏洞利用210
  7.3.3 CRLF注入漏洞進階210
  7.3.4 CRLF注入漏洞防禦211
  7.3.5 實戰32:CRLF注入漏洞211
 7.4 URL跳轉漏洞212
  7.4.1 URL跳轉漏洞概述212
  7.4.2 URL跳轉漏洞的發生場景213
  7.4.3 URL跳轉漏洞利用214
  7.4.4 URL跳轉漏洞對抗215
  7.4.5 URL跳轉漏洞防禦217
  7.4.6 實戰33:URL跳轉漏洞217
 7.5 XS-Leaks漏洞218
  7.5.1 XS-Leaks漏洞概述218
  7.5.2 XS-Leaks漏洞與瀏覽器219
  7.5.3 XS-Leaks漏洞與側信道攻擊220
  7.5.4 XS-Leaks漏洞防禦220
第8章 新後端漏洞(上)221
 8.1 反序列化漏洞(上)221
  8.1.1 反序列化漏洞概述222
  8.1.2 Java 序列化基礎知識222
  8.1.3 Java 反序列化漏洞原理224
  8.1.4 Java 反序列化漏洞檢測225
  8.1.5 Java 反序列化漏洞利用225
  8.1.6 Apache Commons Collections反序列化漏洞226
  8.1.7 Apache Shiro反序列化漏洞232
  8.1.8 實戰34:WebLogic wls-wsat XMLDecoder反序列化漏洞(CVE-2017-10271)235
  8.1.9 實戰35:Java RMI Registry 反序列化漏洞(<=jdk8u111)236
 8.2 反序列化漏洞(下)237
  8.2.1 PHP反序列化漏洞237
  8.2.2 Python反序列化漏洞242
  8.2.3 反序列化漏洞防禦244
  8.2.4 實戰36:phpMyAdmin scripts/setup.php 反序列化漏洞(WooYun-2016-199433)246
 8.3 未授權訪問漏洞247
  8.3.1 未授權訪問漏洞概述247
  8.3.2 Rsync未授權訪問漏洞247
  8.3.3 PHP-FPM未授權訪問漏洞250
  8.3.4 Redis未授權訪問漏洞256
  8.3.5 幽靈貓漏洞258
  8.3.6 實戰37:Hadoop YARN Resource-Manager未授權訪問漏洞262
  8.3.7 實戰38:H2 Database Web控制台未授權訪問漏洞264
 8.4 SSRF漏洞267
  8.4.1 SSRF漏洞概述267
  8.4.2 SSRF漏洞的檢測與挖掘268
  8.4.3 SSRF漏洞的回顯分類268
  8.4.4 SSRF漏洞利用269
  8.4.5 SSRF漏洞防禦275
  8.4.6 實戰39:WebLogic SSRF漏洞(CVE-2014-4210)276
 8.5 XXE漏洞280
  8.5.1 XXE漏洞概述281
  8.5.2 XXE 漏洞利用282
  8.5.3 XXE漏洞攻擊場景延伸287
  8.5.4 XXE漏洞防禦288
  8.5.5 實戰40:PHP XXE漏洞288
  8.5.6 實戰41:Apache Solr XXE漏洞(CVE-2017-12629)290
 8.6 表達式註入漏洞293
  8.6.1 表達式註入漏洞概述293
  8.6.2 SpEL 表達式293
  8.6.3 Spring Cloud Gateway表達式註入漏洞(CVE-2022-22947)295
  8.6.4 OGNL表達式298
  8.6.5 表達式註入漏洞防禦301
  8.6.6 實戰42:Atlassian Confluence OGNL表達式註入漏洞(CVE-2021-26084)301
  8.6.7 實戰43:Struts2 OGNL表達式註入漏洞(S2-016)306
第9章 新後端漏洞(下)308
 9.1 JNDI注入漏洞308
  9.1.1 JNDI簡介308
  9.1.2 JNDI注入漏洞概述311
  9.1.3 JNDI注入漏洞利用311
  9.1.4 Apache Log4j2 JNDI注入漏洞(CVE-2021-44228)314
  9.1.5 JNDI注入防禦318
  9.1.6 實戰44:Log4j2 JNDI注入漏洞(CVE-2021-44228)318
 9.2 SSTI服務端模板注入漏洞319
  9.2.1 SSTI漏洞概述320
  9.2.2 漏洞檢測與利用320
  9.2.3 Python相關的SSTI漏洞320
  9.2.4 PHP相關的SSTI漏洞325
  9.2.5 SSTI漏洞防禦326
  9.2.6 實戰45:Atlassian Jira SSTI 漏洞(CVE-2019-11581)326
 9.3 拒絕服務漏洞328
  9.3.1 拒絕服務漏洞概述329
  9.3.2 PHP multipart/form-data DoS漏洞(CVE-2015-4024)329
  9.3.3 IIS7 HTTP.sys漏洞(CVE-2015-1635)330
  9.3.4 Tomcat boundary DoS漏洞(CVE-2014-0050)331
  9.3.5 Nginx ngx_http_parse_chunked DoS 漏洞(CVE-2013-2028)332
  9.3.6 拒絕服務漏洞防禦333
  9.3.7 實戰46:Tomcat拒絕服務 漏洞(CVE-2020-13935)333
 9.4 Web緩存欺騙漏洞334
  9.4.1 Web緩存欺騙漏洞概述335
  9.4.2 Web緩存欺騙漏洞技術細節336
  9.4.3 Web緩存欺騙漏洞的逆向利用336
  9.4.4 Web緩存欺騙漏洞防禦337
 9.5 HTTP請求走私漏洞338
  9.5.1 HTTP請求走私漏洞概述338
  9.5.2 HTTP請求走私漏洞技術細節339
  9.5.3 SAP HTTP請求走私認證繞過(CVE-2022-22536)342
  9.5.4 HTTP請求走私漏洞防禦342
第10章 邏輯漏洞(上)343
 10.1 突破功能限制漏洞344
  10.1.1 前端校驗漏洞345
  10.1.2 突破功能限制漏洞場景分析348
  10.1.3 突破功能限制漏洞防禦349
  10.1.4 實戰47:突破功能限制漏洞349
 10.2 用戶信息洩露漏洞350
  10.2.1 用戶信息洩露漏洞概述350
  10.2.2 用戶信息洩露漏洞場景分析350
  10.2.3 實戰48:用戶信息洩露352
 10.3 越權漏洞357
  10.3.1 越權漏洞概述357
  10.3.2 越權漏洞場景分析357
  10.3.3 越權漏洞防禦358
  10.3.4 實戰49:越權漏洞358
 10.4 遍歷漏洞359
  10.4.1 遍歷漏洞概述360
  10.4.2 遍歷漏洞場景分析360
  10.4.3 遍歷漏洞防禦361
  10.4.4 實戰50:遍歷漏洞361
 10.5 弱口令漏洞364
  10.5.1 弱口令漏洞概述364
  10.5.2 暴力破解364
  10.5.3 固定密碼攻擊365
  10.5.4 撞庫攻擊365
  10.5.5 弱口令漏洞防禦365
  10.5.6 實戰51:使用BurpSuite模擬暴力破解攻擊366
第11章 邏輯漏洞(下)372
 11.1 支付安全漏洞(上)372
  11.1.1 溢出372
  11.1.2 精度問題373
  11.1.3 負數問題374
  11.1.4 修改支付相關參數374
  11.1.5 支付接口問題376
  11.1.6 實戰52:支付漏洞378
 11.2 支付安全漏洞(下)380
  11.2.1 條件競爭380
  11.2.2 條件競爭問題的防禦380
  11.2.3 重放攻擊381
  11.2.4 重放攻擊問題的防禦382
  11.2.5 實戰53:重放攻擊382
 11.3 驗證碼漏洞(上)385
  11.3.1 暴力生成385
  11.3.2 暴力破解386
  11.3.3 暴力生成破解386
  11.3.4 內容偽造386
  11.3.5 服務端回顯短信驗證碼386
 11.4 驗證碼漏洞(下)387
  11.4.1 綁定關係失效387
  11.4.2 統一初始化387
  11.4.3 圖形驗證碼失效漏洞387
  11.4.4 圖形驗證碼可被OCR識別漏洞389
  11.4.5 圖形驗證碼DoS漏洞390
 11.5 任意用戶密碼重置漏洞391
參考文獻394