1. 程式人生 > >學習web安全,強烈推薦這本《白帽子講web安全》!

學習web安全,強烈推薦這本《白帽子講web安全》!

第一篇 世界觀安全
  第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