第1章 網站腳本入侵與防范概述. 1
1.1 危害嚴重, 難于防范的Web腳本入侵攻擊 1
1.1.1 Web腳本攻擊概述及特點 2
1.1.2 入侵者是怎樣進入的 4
1.2 腳本漏洞的根源 6
1.2.1 功能與安全難以兼顧 7
1.2.2 安全意識的缺乏 7
第2章 SQL注入, 刺入網站的核心 9
2.1 SQL注入的目標是數據庫 9
2.1.1 數據庫就是網站的一切內容 10
2.1.2 明白幾個SQL中要用到的名詞 11
2.1.3 SQL注入攻擊中常碰到的幾種DBMS 12
2.1.4 提前了解幾條SQL注入查詢指令 14
2.2 欺騙是如何進行的 16
2.2.1 一個無名小站與一條典型SQL語句 16
2.2.2 創(chuàng)建SQL注入檢測的數據庫平臺 19
2.2.3 搭建一個SQL注入漏洞站點 26
2.2.4 第一次SQL注入攻擊測試 29
2.3 SQL注入攻擊前奏 31
2.3.1 網站平臺決定攻擊方式 31
2.3.2 攻擊前的準備工作 32
2.3.3 尋找攻擊入口 36
2.3.4 區(qū)分SQL注入點的類型 42
2.3.5 判斷目標數據庫類型 43
2.4 'or'='or'繞過不安全的登錄框 49
2.4.1 'or'='or'攻擊突破登錄驗證的演示 50
2.4.2 未過濾的request.form造成注入 52
2.5 注入Access數據庫全 靠猜解 59
2.5.1 信息很豐富的Select查詢 59
2.5.2 使用Select猜解Access表及字段名 66
2.5.3 ASCII逐字解碼法猜解字段值 72
2.5.4 三分鐘攻陷了一個網站 79
2.5.5 網站是怎樣被控制的 89
2.6 為MS SQL帶來災難的高級查詢 93
2.6.1 建立MS SQL數據庫進行攻擊演示 93
2.6.2 有趣的MS SQL出錯信息 97
2.6.3 SQL高級查詢之Group By和Having 99
2.6.4 報出MS SQL表名和字段名的實例 103
2.6.5 數據記錄也“報”錯 106
2.6.6 繼續(xù)前面的“入侵” 108
2.6.7 報出任意表名和字段名 110
2.7 擴展存儲過程直接攻擊服務器 111
2.7.1 存儲過程快速攻擊數據庫 111
2.7.2 利用NBSI注入控制服務器 113
2.8 構造PHP注入攻擊 116
2.8.1 手工PHP注入 116
2.8.2 讀取PHP配置文件 118
2.8.3 CASI自動PHP注入 120
第3章 深入SQL注入攻擊與防范 123
3.1 一廂情愿的過濾, 缺失單引號與空格的注入 123
3.1.1 轉換編碼, 繞過程序過濾 124
3.1.2 /**/替換空格的注入攻擊 128
3.2 Update注入與差異備份 149
3.2.1 表單提交與Update 149
3.2.2 差異備份獲得Webshell 153
3.3 char字符轉換與單引號突破 160
3.3.1 \0與單引號的過濾 160
3.3.2 char再次繞過單引號 162
3.4 數據提交與隱式注入 168
3.4.1 修改GroupID, 迅速提升權限 168
3.4.2 隱式注入中的過濾突破 180
3.5 卡住SQL注入的關口 186
第4章 未隱藏的危機——數據庫入侵 189
4.1 “暴露”易受攻擊——常見數據庫漏洞 189
4.2 了解一些數據庫連接知識 191
4.2.1 ASP與ADO對象模塊 191
4.2.2 ADO對象存取數據庫 193
4.2.3 攻擊與安全的核心——Access數據庫連接代碼示例 194
4.3 安全意識的缺乏——默認數據庫下載漏洞 195
4.3.1 模擬一個論壇搭建流程 195
4.3.2 被入侵者鉆了空子 197
4.3.3 入侵者找空子的流程 199
4.4 數據庫被下載, 后果很嚴重 202
4.5 黑名單, 別上榜 213
4.5.1 看看你是否在榜 213
4.5.2 別懶, 動手解決安全隱患 214
4.6 詭異的Google, 低級的錯誤 217
4.6.1 很詭異的搜索試驗 217
4.6.2 居然能下載 219
4.6.3 Google的暴庫分析 221
4.6.4 上一個Include解決問題 223
4.7 為何攻擊者偏偏盯上你 223
4.7.1 漏洞站點的挖掘“雞” 224
4.7.2 網站數據庫, 不藏就抓 224
4.7.3 Robots看門, 阻止搜索暴庫數據 227
4.8 隱藏數據庫, 暴庫即知 231
4.8.1 ASP存取Access數據庫的例子 231
4.8.2 游戲1:變換編碼的魔術 234
4.8.3 魔術的秘密 237
4.8.4 游戲2:奇怪的conn.asp 243
4.8.5 絕對路徑與相對路徑的糾纏 244
4.8.6 “on error resume next”——補上不算漏洞的漏洞 245
4.9 幾個暴庫程序的分析.. 247
4.9.1 動感商城購物系統(tǒng)暴庫漏洞測試 247
4.9.2 無法下載的ASP數據庫——BBSXP的暴庫測試 252
4.9.3 帶#號的數據庫——Oblog博客系統(tǒng)暴庫 257
4.9.4 conn.asp搜索暴庫 259
4.10 “空白”與插馬——GBook365暴庫入侵的啟示 261
4.10.1 方便了設計者, 也便宜了攻擊者的conn.inc 261
4.10.2 亂改后綴的后果 262
4.10.3 黑手后門就是數據庫 264
4.10.4 嚴過濾, 堵住漏洞 270
4.11 由啟示引發(fā)的一句話木馬大攻擊 271
4.11.1 “一句話”與數據庫過濾不嚴 271
4.11.2 一句話木馬客戶端與服務端 272
4.11.3 實例1:一個私服站點的湮滅 272
4.11.4 實例2:一句話入侵EASYNEWS 279
4.11.5 實例3:“社區(qū)超市”入侵動網論壇 282
4.11.6 實例4:對未知網站的檢測 284
4.11.7 有輸入, 便有危險——一句話木馬的防范 285
第5章 程序員的疏忽, 過分信任上傳 287
5.1 多余映射與上傳攻擊 287
5.1.1 來自asp.dll映射的攻擊 288
5.1.2 別忘了stm與shtm映射 294
5.2 空格. 點與Windows命名機制產生的漏洞 299
5.2.1 加上一個點, 9Cool九酷的另一個漏洞 299
5.2.2 Windows命名機制與程序漏洞 300
5.2.3 變換文件名的游戲 302
5.3 邏輯變量的怪圈, 二次循環(huán)產生上傳漏洞 307
5.3.1 攻擊者“動力”——MyPower上傳攻擊測試 307
5.3.2 本地提交上傳流程分析 312
5.3.3 二次上傳產生的邏輯錯誤 315
5.3.4 再現經典上傳, “沁竹音樂網”漏洞分析 317
5.3.5 補又有漏洞的“桃源多功能留言板” 321
5.4 Windows特殊字符, 截斷程序過濾 327
5.4.1 腳本入侵探子WSockExpert與上傳攻擊 328
5.4.2 截止符00與FilePath過濾漏洞 336
5.4.3 00與FileName過濾漏洞 343
5.5 FilePath與Filename變量欺騙大檢測 350
5.5.1 桂林老兵上傳漏洞利用程序 350
5.5.2 檢測天意商務網上傳漏洞 357
5.5.3 檢測飛龍文章系統(tǒng)上傳漏洞 359
5.5.4 檢測BlogX上傳漏洞 362
5.5.5 檢測動網大唐美化版上傳漏洞 364
5.5.6 檢測塵緣新聞系統(tǒng)上傳漏洞 365
5.5.7 檢測喬客Joekoe論壇上傳漏洞 367
5.5.8 擊潰青創(chuàng)文章管理系統(tǒng) 368
5.6 %00與PHP程序的上傳漏洞 369
5.6.1 NEATPIC相冊系統(tǒng) 369
5.6.2 文件類型過濾不嚴, phpcms文件上傳漏洞 372
5.7 暗藏漏洞的第三方插件 375
5.7.1 導致網站崩潰的FCKeditor 376
5.7.2 無處不在的FCKeditor上傳漏洞 378
5.7.3 eWebEditor密碼與上傳漏洞的結合 382
5.8 意料之外的上傳 386
5.8.1 未加權限的上傳——沁竹音樂程序上傳漏洞 386
5.8.2 ccerer——不受控制的字符過濾游戲 389
5.8.3 上傳漏洞藏不住 394
第6章 入門牌的泄露與欺騙——Cookie攻擊 397
6.1 混亂的代碼與欺騙的實例 397
6.1.1 Cookie信息中的安全隱患 399
6.1.2 進入后臺竟然如此簡單 399
6.1.3 不是管理員竟然可刪帖 405
6.2 深入Cookie信息的修改欺騙 413
6.2.1 數據庫與Cookie信息的關系 414
6.2.2 Cookie欺騙與上傳攻擊的連鎖反應 419
6.2.3 修改ID的欺騙入侵 426
6.2.4 ClassID與UserID兩個值的欺騙 432
6.2.5 簡單用戶名的欺騙 436
6.3 Cookie欺騙攻擊的多樣性 438
6.3.1 巧刷投票, Cookie欺騙的利用 438
6.3.2 Cookie欺騙制作的手機短信炸彈 444
第7章 網站成幫兇, 嫁禍攻擊的跨站技術 451
7.1 攻擊來源于一段被寫入的代碼 451
7.1.1 有漏洞的測試網頁 452
7.1.2 一個典型的動網跨站攻擊示例 455
7.1.3 Cookie的盜取——跨站入侵檢測演示之一 457
7.1.4 私服網站掛馬——跨站入侵檢測演示之二 461
7.2 一句留言, 毀掉一個網站 466
7.2.1 MM_validateForm未過濾, YEYI的跨站檢測 466
7.2.2 時代購物系統(tǒng)的跨站入侵檢測 473
7.3 圈地誰為王——從Q-Zone攻擊看跨站技術的演變 477
7.3.1 不安全的客戶端過濾 478
7.3.2 編碼轉換, 繼續(xù)跨站 485
7.3.3 Flash跳轉, 跳出跨站 488
7.3.4 Flash溢出跨站 493
7.3.5 鏈接未過濾, 音樂列表跨站 495
7.3.6 外部調用跨站, QQ業(yè)務索要的漏洞 500
7.4 郵件中不安全代碼, 郵箱跨站掛馬 502
7.4.1 由QQ郵箱看郵件跨站危害 503
7.4.2 國內主流郵箱跨站漏洞一覽 509
7.5 “事件”出了漏子, 主流博客空間跨站檢測 516
7.5.1 不需要<>的跨站, 標記事件屬性與跨站 516
7.5.2 百度空間的跨站演變 517
7.5.3 Onstart事件引發(fā)的網易博客跨站 524
7.6 “搜索”, 跨站攻擊最泛濫之地 526
7.6.1 國內主流搜索引擎跨站 526
7.6.2 利用網頁快照進行特殊跨站 538
7.7 跨站腳本攻擊的終極防范 546
第8章 打造安全的網站服務器 551
8.1 配置安全的Web服務器 551
8.1.1 刪除不必要的IIS組件 551
8.1.2 IIS安全配置 553
8.2 數據庫的安全防護 557
8.2.1 Access數據庫防下載處理 557
8.2.2 SQL數據庫的配置 559
8.3 對網頁木馬后門的防范和檢測 561
8.3.1 刪除各種腳本對象以禁止ASP木馬運行 561
8.3.2 網頁木馬后門查找工具 564
8.3.3 設置網站訪問權限 565