第一篇 世界觀安全
第1章 我的安全世界觀 2
1.1 Web安全簡史 2
1.1.1 中國黑客簡史 2
1.1.2 黑客技術的發展曆程 3
1.1.3 Web安全的興起 5
1.2 黑帽子,白帽子 6
1.3 返璞歸真,揭秘安全的本質 7
1.4 破除迷信,沒有銀彈 9
1.5 安全三要素 10
1.6 如何實施安全評估 11
1.6.1 資産等級劃分 12
1.6.2 威脅分析 13
1.6.3 風險分析 14
1.6.4 設計安全方案 15
1.7 白帽子兵法 16
1.7.1 Secure By Default原則 16
1.7.2 縱深防禦原則 18
1.7.3 數據與代碼分離原則 19
1.7.4 不可預測性原則 21
1.8 小結 22
(附)誰來為漏洞買單? 23
第二篇 客戶端腳本安全
第2章 瀏覽器安全 26
2.1 同源策略 26
2.2 瀏覽器沙箱 30
2.3 惡意網址攔截 33
2.4 高速發展的瀏覽器安全 36
2.5 小結 39
第3章 跨站腳本攻擊(XSS) 40
3.1 XSS簡介 40
3.2 XSS攻擊進階 43
3.2.1 初探XSS Payload 43
3.2.2 強大的XSS Payload 46
3.2.3 XSS 攻擊平颱 62
3.2.4 終極武器:XSS Worm 64
3.2.5 調試JavaScript 73
3.2.6 XSS構造技巧 76
3.2.7 變廢為寶:Mission Impossible 82
3.2.8 容易被忽視的角落:Flash XSS 85
3.2.9 真的高枕無憂嗎:JavaScript開發框架 87
3.3 XSS的防禦 89
3.3.1 四兩撥韆斤:HttpOnly 89
3.3.2 輸入檢查 93
3.3.3 輸齣檢查 95
3.3.4 正確地防禦XSS 99
3.3.5 處理富文本 102
3.3.6 防禦DOM Based XSS 103
3.3.7 換個角度看XSS的風險 107
3.4 小結 107
第4章 跨站點請求僞造(CSRF) 109
4.1 CSRF簡介 109
4.2 CSRF進階 111
4.2.1 瀏覽器的Cookie策略 111
4.2.2 P3P頭的副作用 113
4.2.3 GET? POST? 116
4.2.4 Flash CSRF 118
4.2.5 CSRF Worm 119
4.3 CSRF的防禦 120
4.3.1 驗證碼 120
4.3.2 Referer Check 120
4.3.3 Anti CSRF Token 121
4.4 小結 124
第5章 點擊劫持(ClickJacking) 125
5.1 什麼是點擊劫持 125
5.2 Flash點擊劫持 127
5.3 圖片覆蓋攻擊 129
5.4 拖拽劫持與數據竊取 131
5.5 ClickJacking 3.0:觸屏劫持 134
5.6 防禦ClickJacking 136
5.6.1 frame busting 136
5.6.2 X-Frame-Options 137
5.7 小結 138
第6章 HTML 5 安全 139
6.1 HTML 5新標簽 139
6.1.1 新標簽的XSS 139
6.1.2 iframe的sandbox 140
6.1.3 Link Types: noreferrer 141
6.1.4 Canvas的妙用 141
6.2 其他安全問題 144
6.2.1 Cross-Origin Resource Sharing 144
6.2.2 postMessage——跨窗口傳遞消息 146
6.2.3 Web Storage 147
6.3 小結 150
第三篇 服務器端應用安全
第7章 注入攻擊 152
7.1 SQL注入 152
7.1.1 盲注(Blind Injection) 153
7.1.2 Timing Attack 155
7.2 數據庫攻擊技巧 157
7.2.1 常見的攻擊技巧 157
7.2.2 命令執行 158
7.2.3 攻擊存儲過程 164
7.2.4 編碼問題 165
7.2.5 SQL Column Truncation 167
7.3 正確地防禦SQL注入 170
7.3.1 使用預編譯語句 171
7.3.2 使用存儲過程 172
7.3.3 檢查數據類型 172
7.3.4 使用安全函數 172
7.4 其他注入攻擊 173
7.4.1 XML注入 173
7.4.2 代碼注入 174
7.4.3 CRLF注入 176
7.5 小結 179
第8章 文件上傳漏洞 180
8.1 文件上傳漏洞概述 180
8.1.1 從FCKEditor文件上傳漏洞談起 181
8.1.2 繞過文件上傳檢查功能 182
8.2 功能還是漏洞 183
8.2.1 Apache文件解析問題 184
8.2.2 IIS文件解析問題 185
8.2.3 PHP CGI路徑解析問題 187
8.2.4 利用上傳文件釣魚 189
8.3 設計安全的文件上傳功能 190
8.4 小結 191
第9章 認證與會話管理 192
9.1 Who am I? 192
9.2 密碼的那些事兒 193
9.3 多因素認證 195
9.4 Session與認證 196
9.5 Session Fixation攻擊 198
9.6 Session保持攻擊 199
9.7 單點登錄(SSO) 201
9.8 小結 203
第10章 訪問控製 205
10.1 What Can I Do? 205
10.2 垂直權限管理 208
10.3 水平權限管理 211
10.4 OAuth簡介 213
10.5 小結 219
第11章 加密算法與隨機數 220
11.1 概述 220
11.2 Stream Cipher Attack 222
11.2.1 Reused Key Attack 222
11.2.2 Bit-flipping Attack 228
11.2.3 弱隨機IV問題 230
11.3 WEP破解 232
11.4 ECB模式的缺陷 236
11.5 Padding Oracle Attack 239
11.6 密鑰管理 251
11.7 僞隨機數問題 253
11.7.1 弱僞隨機數的麻煩 253
11.7.2 時間真的隨機嗎 256
11.7.3 破解僞隨機數算法的種子 257
11.7.4 使用安全的隨機數 265
11.8 小結 265
(附)Understanding MD5 Length Extension Attack 267
第12章 Web框架安全 280
12.1 MVC框架安全 280
12.2 模闆引擎與XSS防禦 282
12.3 Web框架與CSRF防禦 285
12.4 HTTP Headers管理 287
12.5 數據持久層與SQL注入 288
12.6 還能想到什麼 289
12.7 Web框架自身安全 289
12.7.1 Struts 2命令執行漏洞 290
12.7.2 Struts 2的問題補丁 291
12.7.3 Spring MVC命令執行漏洞 292
12.7.4 Django命令執行漏洞 293
12.8 小結 294
第13章 應用層拒絕服務攻擊 295
13.1 DDOS簡介 295
13.2 應用層DDOS 297
13.2.1 CC攻擊 297
13.2.2 限製請求頻率 298
13.2.3 道高一尺,魔高一丈 300
13.3 驗證碼的那些事兒 301
13.4 防禦應用層DDOS 304
13.5 資源耗盡攻擊 306
13.5.1 Slowloris攻擊 306
13.5.2 HTTP POST DOS 309
13.5.3 Server Limit DOS 310
13.6 一個正則引發的血案:ReDOS 311
13.7 小結 315
第14章 PHP安全 317
14.1 文件包含漏洞 317
14.1.1 本地文件包含 319
14.1.2 遠程文件包含 323
14.1.3 本地文件包含的利用技巧 323
14.2 變量覆蓋漏洞 331
14.2.1 全局變量覆蓋 331
14.2.2 extract()變量覆蓋 334
14.2.3 遍曆初始化變量 334
14.2.4 import_request_variables變量覆蓋 335
14.2.5 parse_str()變量覆蓋 335
14.3 代碼執行漏洞 336
14.3.1 “危險函數”執行代碼 336
14.3.2 “文件寫入”執行代碼 343
14.3.3 其他執行代碼方式 344
14.4 定製安全的PHP環境 348
14.5 小結 352
第15章 Web Server配置安全 353
15.1 Apache安全 353
15.2 Nginx安全 354
15.3 jBoss遠程命令執行 356
15.4 Tomcat遠程命令執行 360
15.5 HTTP Parameter Pollution 363
15.6 小結 364
第四篇 互聯網公司安全運營
第16章 互聯網業務安全 366
16.1 産品需要什麼樣的安全 366
16.1.1 互聯網産品對安全的需求 367
16.1.2 什麼是好的安全方案 368
16.2 業務邏輯安全 370
16.2.1 永遠改不掉的密碼 370
16.2.2 誰是大贏傢 371
16.2.3 瞞天過海 372
16.2.4 關於密碼取迴流程 373
16.3 賬戶是如何被盜的 374
16.3.1 賬戶被盜的途徑 374
16.3.2 分析賬戶被盜的原因 376
16.4 互聯網的垃圾 377
16.4.1 垃圾的危害 377
16.4.2 垃圾處理 379
16.5 關於網絡釣魚 380
16.5.1 釣魚網站簡介 381
16.5.2 郵件釣魚 383
16.5.3 釣魚網站的防控 385
16.5.4 網購流程釣魚 388
16.6 用戶隱私保護 393
16.6.1 互聯網的用戶隱私挑戰 393
16.6.2 如何保護用戶隱私 394
16.6.3 Do-Not-Track 396
16.7 小結 397
(附)麻煩的終結者 398
第17章 安全開發流程(SDL) 402
17.1 SDL簡介 402
17.2 敏捷SDL 406
17.3 SDL實戰經驗 407
17.4 需求分析與設計階段 409
17.5 開發階段 415
17.5.1 提供安全的函數 415
17.5.2 代碼安全審計工具 417
17.6 測試階段 418
17.7 小結 420
第18章 安全運營 422
18.1 把安全運營起來 422
18.2 漏洞修補流程 423
18.3 安全監控 424
18.4 入侵檢測 425
18.5 緊急響應流程 428
18.6 小結 430
(附)談談互聯網企業安全的發展方嚮 431
· · · · · · (
收起)