內容提要
Web 掃描器是一種可以對Web 應用程式進行自動化安全測試的工具,它可以幫助我們快速發現目標存在的安全風險,並能夠對其進行持續性安全監控。
《白帽子講Web掃描》詳細講述了Web 掃描器的概念、原理、實踐及反制等知識,筆者憑藉多年的安全工作經驗,站在安全和開發的雙重角度,力求為讀者呈現出一個完整的Web 掃描知識體系。通過對《白帽子講Web掃描》的學習和實踐,可以讓你快速建立自己的Web 掃描體系,提高安全基礎能力。
目錄
第1 章 掃描器基礎1
1.1 什麼是Web 掃描器1
1.2 掃描器的重要性2
1.3 掃描器的類型3
1.4 常見的掃描器(掃描器的示例).4
1.5 掃描器評測8
1.6 漏洞測試平台9
1.7 掃描環境部署9
1.7.1 測試環境9
1.7.2 開發環境12
第2 章 Web 爬蟲基礎.19
2.1 什麼是Web 爬蟲19
2.2 瀏覽器手工爬取過程.19
2.3 URL 21
2.4 超級連結.22
2.5 HTTP 協定(Request/Response)23
2.5.1 HTTP 請求23
2.5.2 HTTP 回響24
2.6 HTTP 認證.25
2.6.1 Basic 認證(基本式) 26
2.6.2 Digest 認證(摘要式) 27
2.7 HEAD 方法29
2.8 Cookie 機制29
2.9 DNS 本地快取.31
2.9.1 瀏覽器快取31
2.9.2 系統快取32
2.10 頁面解析33
2.11 爬蟲策略34
2.11.1 廣度優先策略34
2.11.2 深度優先策略34
2.11.3 最佳優先策略(聚焦爬蟲策略)35
2.12 頁面跳轉35
2.12.1 客戶端跳轉36
2.12.2 服務端跳轉37
2.13 識別404 錯誤頁面38
2.14 URL 重複/URL 相似/URL 包含39
2.14.1 URL 重複39
2.14.2 URL 相似39
2.14.3 URL 包含39
2.15 區分URL 的意義40
2.16 URL 去重.40
2.16.1 布隆過濾器(Bloom Filter) 41
2.16.2 哈希表去重41
2.17 頁面相似算法42
2.17.1 編輯距離(Levenshtein Distance) 42
2.17.2 Simhash 43
2.18 斷連重試43
2.19 動態連結與靜態連結43
第3 章 Web 爬蟲進階.44
3.1 Web 爬蟲的工作原理.44
3.2 實現URL 封裝45
3.3 實現HTTP 請求和回響47
3.4 實現頁面解析.58
3.4.1 HTML 解析庫.58
3.4.2 URL 提取59
3.4.3 自動填表66
3.5 URL 去重去似.67
3.5.1 URL 去重67
3.5.2 URL 去似去含73
3.6 實現404 頁面識別75
3.7 實現斷連重試.77
3.8 實現Web 爬蟲78
3.9 實現Web 2.0 爬蟲83
第4 章 套用指紋識別94
4.1 套用指紋種類及識別.94
4.2 套用指紋識別的價值.95
4.3 套用指紋識別技術96
第5 章 安全漏洞審計102
5.1 安全漏洞審計三部曲102
5.2 通用型漏洞審計.103
5.2.1 SQL 注入漏洞103
5.2.2 XSS 跨站漏洞111
5.2.3 命令執行注入120
5.2.4 檔案包含漏洞129
5.2.5 敏感檔案泄露136
5.3 Nday/0day 漏洞審計.146
5.3.1 Discuz!7.2 faq.php SQL 注入漏洞147
5.3.2 Dedecms get webshell 漏洞150
5.3.3 Heartbleed 漏洞(CVE-2014-0160).153
5.3.4 PHP multipart/form-data 遠程DDoS(CVE-2015-4024) 157
第6 章 掃描器進階160
6.1 掃描流程160
6.2 軟體設計163
6.3 功能模組164
6.4 軟體架構165
6.5 數據結構166
6.6 功能實現167
6.6.1 IP/連線埠掃描和檢測(連線埠模組) 167
6.6.2 連線埠破解模組170
6.6.3 子域名信息枚舉172
6.6.4 檔案、目錄暴力枚舉探測(不可視URL 爬取) 175
6.6.5 掃描引擎.176
6.7 掃描報告180
6.8 掃描測試182
第7 章 雲掃描.185
7.1 什麼是雲掃描185
7.2 雲掃描架構.185
7.3 雲掃描實踐.187
7.3.1 Celery 框架188
7.3.2 掃描器Worker 部署189
7.3.3 雲端調度.193
7.4 雲掃描服務.199
第8 章 企業安全掃描實踐.202
8.1 企業為什麼需要掃描202
8.2 企業掃描的套用場景202
8.2.1 基於網路流量的掃描202
8.2.2 基於訪問日誌的掃描208
8.2.3 掃描的套用場景比較217
第9 章 關於防禦218
9.1 爬蟲反制218
9.1.1 基於IP 的反爬蟲218
9.1.2 基於爬行的反爬蟲.221
9.2 審計反制223
9.2.1 雲WAF223
9.2.2 雲WAF 的價值223
9.3 防禦策略225
附錄A227
附錄B229