本書作為Web安全知識普及與技術(shù)推廣教材,不僅能夠為初學Web安全的學生提供全面、實用的理論和技術(shù)基礎,而且可以有效培養(yǎng)學生進行Web安全防御的能力。本書以OWASP Top 10為基礎,重點介紹了SQL注入漏洞、XSS漏洞、CSRF漏洞、SSRF漏洞、文件下載漏洞、文件包含漏洞、文件上傳漏洞、暴力破解漏洞、命令執(zhí)行漏洞、不安全的驗證碼漏洞、反序列化漏洞與XXE漏洞12種常見的Web漏洞。全書共有7個項目,包括Web安全初探、Web協(xié)議與分析、Web漏洞檢測工具、Web漏洞實驗平臺、Web常見漏洞分析(一)、Web常見漏洞分析(二)、Web常見漏洞分析(三),通過漏洞實驗平臺,分析Web漏洞原理,輔以漏洞利用方法的相關實驗,讓學生了解如何發(fā)現(xiàn)常見的Web漏洞,并進行相應的防御。本書可以作為高等職業(yè)院校與高等?茖W校計算機、信息安全及其他相關專業(yè)學生的教材,也可以作為網(wǎng)絡安全管理員、網(wǎng)絡工程技術(shù)人員的參考用書。
陳云志,男,碩士研究生,浙江杭州人。杭州職業(yè)技術(shù)學院信息工程學院院長,主要講授計算機網(wǎng)絡技術(shù)、信息安全方向課程。承擔浙江省十三五優(yōu)勢專業(yè)—信息安全與管理專業(yè)建設,《路由與交換》國家級精品課程主講教師、“十二五”國家規(guī)劃教材《路由與交換》副主編,承擔廳級課題3項,發(fā)表論文6篇,其中EI收錄1篇。
項目一 Web安全初探 1
1.1 Web安全現(xiàn)狀與發(fā)展趨勢 1
1.1.1 Web安全現(xiàn)狀 1
1.1.2 Web安全發(fā)展趨勢 6
1.2 Web系統(tǒng)介紹 7
1.2.1 Web的發(fā)展歷程 7
1.2.2 Web系統(tǒng)的構(gòu)成 8
1.2.3 Web系統(tǒng)的應用架構(gòu) 9
1.2.4 Web的訪問方法 10
1.2.5 Web編程語言 11
1.2.6 Web數(shù)據(jù)庫訪問技術(shù) 12
1.2.7 Web服務器 13
實例1 十大Web安全漏洞比較分析 15
項目二 Web協(xié)議與分析 16
2.1 HTTP 16
2.1.1 HTTP的通信過程 17
2.1.2 統(tǒng)一資源定位符 17
2.1.3 HTTP的連接方式和無狀態(tài)性 18
2.1.4 HTTP的請求報文 18
2.1.5 HTTP的響應報文 22
2.1.6 HTTP的報文報頭類型匯總 24
2.1.7 HTTP的會話管理 24
2.2 HTTPS 26
2.2.1 HTTPS和HTTP的主要區(qū)別 26
2.2.2 HTTPS與Web服務器的通信過程 27
2.2.3 HTTPS的優(yōu)點 27
2.2.4 HTTPS的缺點 28
2.3 網(wǎng)絡嗅探工具 28
2.3.1 Wireshark簡介 28
2.3.2 Wireshark的界面 29
實例1 Wireshark的應用實例 38
實例1.1 捕捉數(shù)據(jù)包 38
實例1.2 處理捕捉后的數(shù)據(jù)包 42
項目三 Web漏洞檢測工具 48
3.1 Web漏洞檢測工具AppScan 48
3.1.1 AppScan簡介 48
3.1.2 AppScan的安裝 49
3.1.3 AppScan的基本工作流程 53
3.1.4 AppScan的界面 56
3.2 HTTP分析工具WebScarab 59
3.3 網(wǎng)絡漏洞檢測工具Nmap 62
3.3.1 Nmap簡介 62
3.3.2 Nmap的安裝 63
3.4 集成化的漏洞掃描工具Nessus 66
3.4.1 Nessus簡介 66
3.4.2 Nessus的安裝 66
實例1 AppScan掃描實例 69
實例2 WebScarab的運行 83
實例3 Nmap應用實例 90
實例3.1 利用Nmap的圖形界面進行掃描 90
實例3.2 利用Nmap命令行界面進行掃描探測 103
實例4 利用Nessus掃描Web應用 111
項目四 Web漏洞實驗平臺 117
4.1 DVWA簡介 117
4.2 WebGoat簡介 118
4.3 Pikachu簡介 119
實例1 DVWA的安裝與配置 119
實例2 WebGoat的安裝與配置 128
實例3 Pikachu的安裝與配置 133
項目五 Web常見漏洞分析(一) 136
5.1 SQL注入漏洞 136
5.2 XSS漏洞 141
實例1 SQL注入漏洞實例 145
實例1.1 手動注入(初級) 145
實例1.2 使用工具注入 149
實例1.3 手動注入(中級) 151
實例1.4 手動注入(高級) 155
實例1.5 SQL注入漏洞的防御 157
實例1.6 布爾盲注 157
實例1.7 時間盲注 161
實例1.8 SQL盲注漏洞的防御 163
實例2 XSS漏洞實例 165
實例2.1 反射型XSS漏洞(1) 165
實例2.2 反射型XSS漏洞(2) 167
實例2.3 反射型XSS漏洞(3) 168
實例2.4 反射型XSS漏洞的防御 168
實例2.5 存儲型XSS漏洞(1) 169
實例2.6 存儲型XSS漏洞(2) 170
實例2.7 存儲型XSS漏洞(3) 172
實例2.8 存儲型XSS漏洞的防御 173
實例2.9 DOM型XSS漏洞(1) 174
實例2.10 DOM型XSS漏洞(2) 175
實例2.11 DOM型XSS漏洞(3) 176
實例2.12 DOM型XSS漏洞的防御 177
項目六 Web常見漏洞分析(二) 178
6.1 CSRF漏洞 178
6.2 SSRF漏洞 180
6.3 文件下載漏洞 182
6.4 文件包含漏洞 183
6.5 文件上傳漏洞 187
實例1 CSRF漏洞實例 187
實例1.1 CSRF漏洞(1) 187
實例1.2 CSRF漏洞(2) 189
實例1.3 CSRF漏洞(3) 190
實例1.4 CSRF漏洞的防御 192
實例2 SSRF漏洞實例 193
實例2.1 SSRF漏洞(1) 193
實例2.2 SSRF漏洞(2) 196
實例3 文件下載漏洞實例 198
實例4 文件包含漏洞實例 199
實例4.1 文件包含漏洞(1) 199
實例4.2 文件包含漏洞(2) 202
實例4.3 文件包含漏洞(3) 203
實例4.4 文件包含漏洞的防御 204
實例5 文件上傳漏洞實例 204
實例5.1 文件上傳漏洞(1) 204
實例5.2 文件上傳漏洞(2) 206
實例5.3 文件上傳漏洞(3) 210
實例5.4 文件上傳漏洞的防御 213
項目七 Web常見漏洞分析(三) 215
7.1 暴力破解漏洞 215
7.2 命令執(zhí)行漏洞 216
7.3 不安全的驗證碼漏洞 217
7.4 反序列化漏洞 219
7.5 XXE漏洞 221
實例1 暴力破解漏洞實例 222
實例1.1 暴力破解漏洞(1) 222
實例1.2 暴力破解漏洞(2) 227
實例1.3 暴力破解漏洞(3) 228
實例1.4 暴力破解漏洞的防御 234
實例2 命令執(zhí)行漏洞實例 236
實例2.1 命令執(zhí)行漏洞(1) 236
實例2.2 命令執(zhí)行漏洞(2) 241
實例2.3 命令執(zhí)行漏洞(3) 244
實例2.4 命令執(zhí)行漏洞的防御 249
實例3 不安全的驗證碼漏洞實例 251
實例3.1 不安全的驗證碼漏洞(1) 251
實例3.2 不安全的驗證碼漏洞(2) 254
實例3.3 不安全的驗證碼漏洞(3) 256
實例3.4 不安全的驗證碼漏洞的防御 258
實例4 反序列化漏洞實例 259
實例5 XXE漏洞實例 262