出版時間:2012-7 出版社:人民郵電出版社 作者:[英] Dafydd Stuttard,[英] Marcus Pinto 頁數(shù):626 字數(shù):957000 譯者:石華耀,傅志紅
Tag標簽:無
內容概要
《黑客攻防技術寶典:Web實戰(zhàn)篇(第2版)》是探索和研究Web應用程序安全漏洞的實踐指南。作者利用大量的實際案例和示例代碼,詳細介紹了各類Web應用程序的弱點,并深入闡述了如何針對Web應用程序進行具體的滲透測試?!逗诳凸シ兰夹g寶典:Web實戰(zhàn)篇(第2版)》從介紹當前Web應用程序安全概況開始,重點討論滲透測試時使用的詳細步驟和技巧,最后總結書中涵蓋的主題。每章后還附有習題,便于讀者鞏固所學內容。
第2版新增了Web應用程序安全領域近年來的發(fā)展變化新情況,并以嘗試訪問的鏈接形式提供了幾百個互動式“漏洞實驗室”,便于讀者迅速掌握各種攻防知識與技能。
《黑客攻防技術寶典:Web實戰(zhàn)篇(第2版)》適合各層次計算機安全人士和Web開發(fā)與管理領域的技術人員閱讀。
作者簡介
Dafydd Stuttard 世界知名安全顧問、作家、軟件開發(fā)人士。牛津大學博士,MDSec公司聯(lián)合創(chuàng)始人,尤其擅長Web應用程序和編譯軟件的滲透測試。Dafydd以網(wǎng)名PortSwigger蜚聲安全界,是眾所周知的Web應用程序集成攻擊平臺Burp Suite的開發(fā)者。
Marcus Pinto 資深滲透測試專家,劍橋大學碩士,MDSec公司聯(lián)合創(chuàng)始人。Marcus為全球金融、政府、電信、博彩、零售等行業(yè)頂尖組織和機構提供Web應用程序滲透測試和安全防御的咨詢與培訓。
書籍目錄
目 錄
第1章 Web應用程序安全與風險 1
1.1 Web應用程序的發(fā)展歷程 1
1.1.1 Web應用程序的常見功能 3
1.1.2 Web應用程序的優(yōu)點 4
1.2 Web應用程序安全 4
1.2.1 “本站點是安全的” 5
1.2.2 核心安全問題:用戶可提交任意輸入 6
1.2.3 關鍵問題因素 7
1.2.4 新的安全邊界 8
1.2.5 Web應用程序安全的未來 10
1.3 小結 10
第2章 核心防御機制 12
2.1 處理用戶訪問 12
2.1.1 身份驗證 13
2.1.2 會話管理 13
2.1.3 訪問控制 14
2.2 處理用戶輸入 15
2.2.1 輸入的多樣性 15
2.2.2 輸入處理方法 16
2.2.3 邊界確認 18
2.2.4 多步確認與規(guī)范化 20
2.3 處理攻擊者 21
2.3.1 處理錯誤 21
2.3.2 維護審計日志 22
2.3.3 向管理員發(fā)出警報 23
2.3.4 應對攻擊 24
2.4 管理應用程序 25
2.5 小結 26
2.6 問題 26
第3章 Web應用程序技術 27
3.1 HTTP 27
3.1.1 HTTP請求 27
3.1.2 HTTP響應 28
3.1.3 HTTP方法 29
3.1.4 URL 30
3.1.5 REST 31
3.1.6 HTTP消息頭 31
3.1.7 cookie 33
3.1.8 狀態(tài)碼 33
3.1.9 HTTPS 34
3.1.10 HTTP代理 35
3.1.11 HTTP身份驗證 35
3.2 Web功能 36
3.2.1 服務器端功能 36
3.2.2 客戶端功能 40
3.2.3 狀態(tài)與會話 46
3.3 編碼方案 47
3.3.1 URL編碼 47
3.3.2 Unicode編碼 48
3.3.3 HTML編碼 48
3.3.4 Base64編碼 49
3.3.5 十六進制編碼 49
3.3.6 遠程和序列化框架 49
3.4 下一步 50
3.5 問題 50
第4章 解析應用程序 51
4.1 枚舉內容與功能 51
4.1.1 Web抓取 51
4.1.2 用戶指定的抓取 54
4.1.3 發(fā)現(xiàn)隱藏的內容 56
4.1.4 應用程序頁面與功能路徑 67
4.1.5 發(fā)現(xiàn)隱藏的參數(shù) 69
4.2 分析應用程序 69
4.2.1 確定用戶輸入入口點 70
4.2.2 確定服務器端技術 72
4.2.3 確定服務器端功能 76
4.2.4 解析受攻擊面 79
4.2.5 解析Extreme Internet Shopping應用程序 80
4.3 小結 81
4.4 問題 82
第5章 避開客戶端控件 83
5.1 通過客戶端傳送數(shù)據(jù) 83
5.1.1 隱藏表單字段 84
5.1.2 HTTP cookie 86
5.1.3 URL參數(shù) 86
5.1.4 Referer消息頭 86
5.1.5 模糊數(shù)據(jù) 88
5.1.6 ASP.NET ViewState 89
5.2 收集用戶數(shù)據(jù):HTML表單 91
5.2.1 長度限制 91
5.2.2 基于腳本的確認 93
5.2.3 禁用的元素 94
5.3 收集用戶數(shù)據(jù):瀏覽器擴展 95
5.3.1 常見的瀏覽器擴展技術 96
5.3.2 攻擊瀏覽器擴展的方法 97
5.3.3 攔截瀏覽器擴展的流量 97
5.3.4 反編譯瀏覽器擴展 100
5.3.5 附加調試器 109
5.3.6 本地客戶端組件 111
5.4 安全處理客戶端數(shù)據(jù) 112
5.4.1 通過客戶端傳送數(shù)據(jù) 112
5.4.2 確認客戶端生成的數(shù)據(jù) 112
5.4.3 日志與警報 113
5.5 小結 114
5.6 問題 114
第6章 攻擊驗證機制 115
6.1 驗證技術 115
6.2 驗證機制設計缺陷 116
6.2.1 密碼保密性不強 116
6.2.2 蠻力攻擊登錄 117
6.2.3 詳細的失敗消息 120
6.2.4 證書傳輸易受攻擊 122
6.2.5 密碼修改功能 124
6.2.6 忘記密碼功能 125
6.2.7 “記住我”功能 127
6.2.8 用戶偽裝功能 129
6.2.9 證書確認不完善 131
6.2.10 非唯一性用戶名 131
6.2.11 可預測的用戶名 132
6.2.12 可預測的初始密碼 133
6.2.13 證書分配不安全 133
6.3 驗證機制執(zhí)行缺陷 134
6.3.1 故障開放登錄機制 134
6.3.2 多階段登錄機制中的缺陷 135
6.3.3 不安全的證書存儲 138
6.4 保障驗證機制的安全 139
6.4.1 使用可靠的證書 140
6.4.2 安全處理證書 140
6.4.3 正確確認證書 141
6.4.4 防止信息泄露 142
6.4.5 防止蠻力攻擊 143
6.4.6 防止濫用密碼修改功能 144
6.4.7 防止濫用賬戶恢復功能 145
6.4.8 日志、監(jiān)控與通知 146
6.5 小結 146
6.6 問題 147
第7章 攻擊會話管理 148
7.1 狀態(tài)要求 148
7.2 會話令牌生成過程中的薄弱環(huán)節(jié) 151
7.2.1 令牌有一定含義 152
7.2.2 令牌可預測 153
7.2.3 加密令牌 162
7.3 會話令牌處理中的薄弱環(huán)節(jié) 170
7.3.1 在網(wǎng)絡上泄露令牌 170
7.3.2 在日志中泄露令牌 173
7.3.3 令牌—會話映射易受攻擊 175
7.3.4 會話終止易受攻擊 176
7.3.5 客戶端暴露在令牌劫持風險之中 177
7.3.6 寬泛的cookie范圍 178
7.4 保障會話管理的安全 180
7.4.1 生成強大的令牌 181
7.4.2 在整個生命周期保障令牌的安全 182
7.4.3 日志、監(jiān)控與警報 184
7.5 小結 185
7.6 問題 185
第8章 攻擊訪問控制 187
8.1 常見漏洞 187
8.1.1 完全不受保護的功能 188
8.1.2 基于標識符的功能 190
8.1.3 多階段功能 191
8.1.4 靜態(tài)文件 191
8.1.5 平臺配置錯誤 192
8.1.6 訪問控制方法不安全 192
8.2 攻擊訪問控制 193
8.2.1 使用不同用戶賬戶進行測試 194
8.2.2 測試多階段過程 197
8.2.3 通過有限訪問權限進行測試 199
8.2.4 測試“直接訪問方法” 201
8.2.5 測試對靜態(tài)資源的控制 202
8.2.6 測試對HTTP方法實施的限制 202
8.3 保障訪問控制的安全 203
8.4 小結 206
8.5 問題 207
第9章 攻擊數(shù)據(jù)存儲區(qū) 208
9.1 注入解釋型語言 208
9.2 注入SQL 210
9.2.1 利用一個基本的漏洞 211
9.2.2 注入不同的語句類型 213
9.2.3 查明SQL注入漏洞 216
9.2.4 “指紋”識別數(shù)據(jù)庫 219
9.2.5 UNION操作符 220
9.2.6 提取有用的數(shù)據(jù) 224
9.2.7 使用UNION提取數(shù)據(jù) 224
9.2.8 避開過濾 226
9.2.9 二階SQL注入 227
9.2.10 高級利用 229
9.2.11 SQL注入之外:擴大數(shù)據(jù)庫攻擊范圍 236
9.2.12 使用SQL注入工具 238
9.2.13 SQL語法與錯誤參考 241
9.2.14 防止SQL注入 246
9.3 注入NoSQL 249
9.4 注入XPath 250
9.4.1 破壞應用程序邏輯 251
9.4.2 謹慎XPath注入 252
9.4.3 盲目XPath注入 252
9.4.4 查找XPath注入漏洞 253
9.4.5 防止XPath注入 254
9.5 注入LDAP 254
9.5.1 利用LDAP注入 255
9.5.2 查找LDAP注入漏洞 257
9.5.3 防止LDAP注入 258
9.6 小結 258
9.7 問題 258
第10章 測試后端組件 260
10.1 注入操作系統(tǒng)命令 260
10.1.1 例1:通過Perl注入 261
10.1.2 例2:通過ASP注入 262
10.1.3 通過動態(tài)執(zhí)行注入 264
10.1.4 查找OS命令注入漏洞 264
10.1.5 查找動態(tài)執(zhí)行漏洞 267
10.1.6 防止OS命令注入 268
10.1.7 防止腳本注入漏洞 268
10.2 操作文件路徑 268
10.2.1 路徑遍歷漏洞 269
10.2.2 文件包含漏洞 278
10.3 注入XML解釋器 279
10.3.1 注入XML外部實體 279
10.3.2 注入SOAP 281
10.3.3 查找并利用SOAP注入 283
10.3.4 防止SOAP注入 284
10.4 注入后端HTTP請求 284
10.4.1 服務器端HTTP重定向 285
10.4.2 HTTP參數(shù)注入 287
10.5 注入電子郵件 290
10.5.1 操縱電子郵件標頭 290
10.5.2 SMTP命令注入 291
10.5.3 查找SMTP注入漏洞 292
10.5.4 防止SMTP注入 293
10.6 小結 294
10.7 問題 294
第11章 攻擊應用程序邏輯 296
11.1 邏輯缺陷的本質 296
11.2 現(xiàn)實中的邏輯缺陷 297
11.2.1 例1:征求提示 297
11.2.2 例2:欺騙密碼修改功能 298
11.2.3 例3:直接結算 299
11.2.4 例4:修改保險單 300
11.2.5 例5:入侵銀行 302
11.2.6 例6:規(guī)避交易限制 303
11.2.7 例7:獲得大幅折扣 305
11.2.8 例8:避免轉義 305
11.2.9 例9:避開輸入確認 306
11.2.10 例10:濫用搜索功能 308
11.2.11 例11:利用調試消息 310
11.2.12 例12:與登錄機制競賽 311
11.3 避免邏輯缺陷 312
11.4 小結 313
11.5 問題 314
第12章 攻擊其他用戶 315
12.1 XSS的分類 316
12.1.1 反射型XSS漏洞 316
12.1.2 保存型XSS漏洞 320
12.1.3 基于DOM的XSS漏洞 322
12.2 進行中的XSS攻擊 323
12.2.1 真實XSS攻擊 323
12.2.2 XSS攻擊有效載荷 324
12.2.3 XSS攻擊的傳送機制 327
12.3 查找并利用XSS漏洞 329
12.3.1 查找并利用反射型XSS漏洞 331
12.3.2 查找并利用保存型XSS漏洞 352
12.3.3 查找并利用基于DOM的XSS漏洞 357
12.4 防止XSS攻擊 360
12.4.1 防止反射型與保存型XSS漏洞 360
12.4.2 防止基于DOM的XSS漏洞 364
12.5 小結 365
12.6 問題 365
第13章 攻擊用戶:其他技巧 366
13.1 誘使用戶執(zhí)行操作 366
13.1.1 請求偽造 366
13.1.2 UI偽裝 374
13.2 跨域捕獲數(shù)據(jù) 377
13.2.1 通過注入HTML捕獲數(shù)據(jù) 377
13.2.2 通過注入CSS捕獲數(shù)據(jù) 378
13.2.3 JavaScript劫持 380
13.3 同源策略深入討論 384
13.3.1 同源策略與瀏覽器擴展 384
13.3.2 同源策略與HTML5 386
13.3.3 通過代理服務應用程序跨域 388
13.4 其他客戶端注入攻擊 389
13.4.1 HTTP消息頭注入 389
13.4.2 cookie注入 393
13.4.3 開放式重定向漏洞 396
13.4.4 客戶端SQL注入 402
13.4.5 客戶端HTTP參數(shù)污染 402
13.5 本地隱私攻擊 403
13.5.1 持久性cookie 404
13.5.2 緩存Web內容 404
13.5.3 瀏覽歷史記錄 405
13.5.4 自動完成 406
13.5.5 Flash本地共享對象 406
13.5.6 Silverlight獨立存儲 406
13.5.7 Internet Explorer userData 407
13.5.8 HTML5本地存儲機制 407
13.5.9 防止本地隱私攻擊 407
13.6 攻擊ActiveX控件 408
13.6.1 查找ActiveX漏洞 409
13.6.2 防止ActiveX漏洞 410
13.7 攻擊瀏覽器 411
13.7.1 記錄鍵擊 411
13.7.2 竊取瀏覽器歷史記錄與搜索查詢 412
13.7.3 枚舉當前使用的應用程序 412
13.7.4 端口掃描 412
13.7.5 攻擊其他網(wǎng)絡主機 413
13.7.6 利用非HTTP服務 413
13.7.7 利用瀏覽器漏洞 414
13.7.8 DNS重新綁定 414
13.7.9 瀏覽器利用框架 415
13.7.10 中間人攻擊 416
13.8 小結 418
13.9 問題 418
第14章 定制攻擊自動化 419
14.1 應用定制自動化攻擊 419
14.2 枚舉有效的標識符 420
14.2.1 基本步驟 420
14.2.2 探測“觸點” 421
14.2.3 編寫攻擊腳本 422
14.2.4 JAttack 423
14.3 獲取有用的數(shù)據(jù) 428
14.4 常見漏洞模糊測試 431
14.5 整合全部功能:Burp Intruder 434
14.6 實施自動化的限制 442
14.6.1 會話處理機制 443
14.6.2 CAPTCHA控件 448
14.7 小結 451
14.8 問題 451
第15章 利用信息泄露 453
15.1 利用錯誤消息 453
15.1.1 錯誤消息腳本 453
15.1.2 棧追蹤 454
15.1.3 詳盡的調試消息 455
15.1.4 服務器與數(shù)據(jù)庫消息 456
15.1.5 使用公共信息 458
15.1.6 制造詳盡的錯誤消息 459
15.2 收集公布的信息 460
15.3 使用推論 461
15.4 防止信息泄露 462
15.4.1 使用常規(guī)錯誤消息 462
15.4.2 保護敏感信息 462
15.4.3 盡量減少客戶端信息泄露 463
15.5 小結 463
15.6 問題 463
第16章 攻擊本地編譯型應用程序 466
16.1 緩沖區(qū)溢出漏洞 467
16.1.1 棧溢出 467
16.1.2 堆溢出 467
16.1.3 “一位偏移”漏洞 468
16.1.4 查找緩沖區(qū)溢出漏洞 470
16.2 整數(shù)漏洞 472
16.2.1 整數(shù)溢出 472
16.2.2 符號錯誤 472
16.2.3 查找整數(shù)漏洞 473
16.3 格式化字符串漏洞 474
16.4 小結 475
16.5 問題 475
第17章 攻擊應用程序架構 477
17.1 分層架構 477
17.1.1 攻擊分層架構 478
17.1.2 保障分層架構的安全 482
17.2 共享主機與應用程序服務提供商 483
17.2.1 虛擬主機 484
17.2.2 共享的應用程序服務 484
17.2.3 攻擊共享環(huán)境 485
17.2.4 保障共享環(huán)境的安全 490
17.3 小結 491
17.4 問題 491
第18章 攻擊Web服務器 493
18.1 Web服務器配置缺陷 493
18.1.1 默認證書 493
18.1.2 默認內容 494
18.1.3 目錄列表 499
18.1.4 WebDAV方法 500
18.1.5 Web服務器作為代理服務器 503
18.1.6 虛擬主機配置缺陷 504
18.1.7 保障Web服務器配置的安全 504
18.2 易受攻擊的服務器軟件 505
18.2.1 應用程序框架缺陷 505
18.2.2 內存管理漏洞 507
18.2.3 編碼與規(guī)范化漏洞 508
18.2.4 查找Web服務器漏洞 512
18.2.5 保障Web服務器軟件的安全 513
18.3 Web應用程序防火墻 514
18.4 小結 515
18.5 問題 516
第19章 查找源代碼中的漏洞 517
19.1 代碼審查方法 517
19.1.1 “黑盒”測試與“白盒”測試 517
19.1.2 代碼審查方法 518
19.2 常見漏洞簽名 519
19.2.1 跨站點腳本 519
19.2.2 SQL注入 520
19.2.3 路徑遍歷 520
19.2.4 任意重定向 521
19.2.5 OS命令注入 522
19.2.6 后門密碼 522
19.2.7 本地代碼漏洞 522
19.2.8 源代碼注釋 524
19.3 Java平臺 524
19.3.1 確定用戶提交的數(shù)據(jù) 524
19.3.2 會話交互 525
19.3.3 潛在危險的API 526
19.3.4 配置Java環(huán)境 528
19.4 ASP.NET 529
19.4.1 確定用戶提交的數(shù)據(jù) 529
19.4.2 會話交互 530
19.4.3 潛在危險的API 531
19.4.4 配置ASP.NET環(huán)境 533
19.5 PHP 534
19.5.1 確定用戶提交的數(shù)據(jù) 534
19.5.2 會話交互 536
19.5.3 潛在危險的API 536
19.5.4 配置PHP環(huán)境 540
19.6 Perl 542
19.6.1 確定用戶提交的數(shù)據(jù) 542
19.6.2 會話交互 543
19.6.3 潛在危險的API 543
19.6.4 配置Perl環(huán)境 544
19.7 JavaScript 545
19.8 數(shù)據(jù)庫代碼組件 546
19.8.1 SQL注入 546
19.8.2 調用危險的函數(shù) 547
19.9 代碼瀏覽工具 547
19.10 小結 548
19.11 問題 548
第20章 Web應用程序黑客工具包 550
20.1 Web瀏覽器 550
20.1.1 Internet Explorer 550
20.1.2 Firefox 551
20.1.3 Chrome 552
20.2 集成測試套件 552
20.2.1 工作原理 553
20.2.2 測試工作流程 566
20.2.3 攔截代理服務器替代工具 568
20.3 獨立漏洞掃描器 570
20.3.1 掃描器探測到的漏洞 570
20.3.2 掃描器的內在限制 571
20.3.3 掃描器面臨的技術挑戰(zhàn) 572
20.3.4 當前產(chǎn)品 574
20.3.5 使用漏洞掃描器 576
20.4 其他工具 577
20.4.1 Wikto/Nikto 577
20.4.2 Firebug 577
20.4.3 Hydra 578
20.4.4 定制腳本 578
20.5 小結 581
第21章 Web應用程序滲透測試方法論 582
21.1 解析應用程序內容 584
21.1.1 搜索可見的內容 584
21.1.2 瀏覽公共資源 585
21.1.3 發(fā)現(xiàn)隱藏的內容 586
21.1.4 查找默認的內容 586
21.1.5 枚舉標識符指定的功能 586
21.1.6 調試參數(shù) 587
21.2 分析應用程序 587
21.2.1 確定功能 587
21.2.2 確定數(shù)據(jù)進入點 587
21.2.3 確定所使用的技術 588
21.2.4 解析受攻擊面 588
21.3 測試客戶端控件 588
21.3.1 通過客戶端傳送數(shù)據(jù) 589
21.3.2 客戶端輸入控件 589
21.3.3 測試瀏覽器擴展組件 590
21.4 測試驗證機制 592
21.4.1 了解驗證機制 592
21.4.2 測試密碼強度 593
21.4.3 測試用戶名枚舉 593
21.4.4 測試密碼猜測的適應性 593
21.4.5 測試賬戶恢復功能 594
21.4.6 測試“記住我”功能 594
21.4.7 測試偽裝功能 594
21.4.8 測試用戶名唯一性 595
21.4.9 測試證書的可預測性 595
21.4.10 檢測不安全的證書傳輸 595
21.4.11 檢測不安全的證書分配 596
21.4.12 測試不安全的存儲 596
21.4.13 測試邏輯缺陷 596
21.4.14 利用漏洞獲取未授權訪問 597
21.5 測試會話管理機制 598
21.5.1 了解會話管理機制 598
21.5.2 測試令牌的含義 599
21.5.3 測試令牌的可預測性 599
21.5.4 檢查不安全的令牌傳輸 600
21.5.5 檢查在日志中泄露的令牌 600
21.5.6 測試令牌?會話映射 601
21.5.7 測試會話終止 601
21.5.8 測試會話固定 602
21.5.9 檢查CSRF 602
21.5.10 檢查cookie范圍 602
21.6 測試訪問控件 603
21.6.1 了解訪問控制要求 603
21.6.2 使用多個賬戶測試 604
21.6.3 使用有限的權限測試 604
21.6.4 測試不安全的訪問控制方法 605
21.7 測試基于輸入的漏洞 605
21.7.1 模糊測試所有請求參數(shù) 605
21.7.2 測試SQL注入 607
21.7.3 測試XSS和其他響應注入 609
21.7.4 測試OS命令注入 611
21.7.5 測試路徑遍歷 612
21.7.6 測試腳本注入 613
21.7.7 測試文件包含 613
21.8 測試特殊功能方面的輸入漏洞 613
21.8.1 測試SMTP注入 614
21.8.2 測試本地代碼漏洞 614
21.8.3 測試SOAP注入 616
21.8.4 測試LDAP注入 616
21.8.5 測試XPath注入 617
21.8.6 測試后端請求注入 617
21.8.7 測試XXE注入 617
21.9 測試邏輯缺陷 618
21.9.1 確定關鍵的受攻擊面 618
21.9.2 測試多階段過程 618
21.9.3 測試不完整的輸入 619
21.9.4 測試信任邊界 619
21.9.5 測試交易邏輯 619
21.10 測試共享主機漏洞 620
21.10.1 測試共享基礎架構之間的隔離 620
21.10.2 測試使用ASP主機的應用程序之間的隔離 620
21.11 測試Web服務器漏洞 621
21.11.1 測試默認證書 621
21.11.2 測試默認內容 621
21.11.3 測試危險的HTTP方法 622
21.11.4 測試代理功能 622
21.11.5 測試虛擬主機配置不當 622
21.11.6 測試Web服務器軟件漏洞 622
21.11.7 測試Web應用程序防火墻 623
21.12 其他檢查 623
21.12.1 測試基于DOM的攻擊 624
21.12.2 測試本地隱私漏洞 624
21.12.3 測試脆弱的SSL加密算法 625
21.12.4 檢查同源策略配置 625
21.13 檢查信息泄露 625
章節(jié)摘錄
版權頁: 插圖: 10.2.2文件包含漏洞 許多腳本語言支持使用包含文件(include file)。這種功能允許開發(fā)者把可重復使用的代碼插入到單個的文件中,并在需要時將它們包含在特殊功能的代碼文件中。然后,包含文件中的代碼被解釋,就好像它插人到包含指令的位置一樣。 1.遠程文件包含 PHP語言特別容易出現(xiàn)文件包含漏洞,因為它的包含函數(shù)接受遠程文件路徑。這種缺陷已經(jīng)成為PHP應用程序中大量漏洞的根源。 以一個向不同位置的人們傳送各種內容的應用程序為例。用戶選擇他們的位置后,這個信息通過一個請求參數(shù)傳送給服務器,代碼如下: https://wahh—app.com/main.php?Country=US 應用程序通過以下方式處理Country參數(shù): 這使執(zhí)行環(huán)境加載位于Web服務器文件系統(tǒng)中的US.php文件。然后,這個文件的內容被復制至Umain.php文件中,并得以執(zhí)行。 攻擊者能夠以各種方式利用這種行為,最嚴重的情況是指定一個外部URL作為包含文件的位置。PHP包含函數(shù)接受這個位置作為輸入,接著,執(zhí)行環(huán)境將獲取指定的文件并執(zhí)行其內容。因此,攻擊者能夠構建一個包含任意復雜內容的惡意腳本,將其寄存在他控制的web服務器上,并通過易受攻擊的應用程序函數(shù)調用它然后執(zhí)行。例如: 2.本地文件包含 有時,應用程序根據(jù)用戶可控制的數(shù)據(jù)加載包含文件,但這時不可能給位于外部服務器上的文件指定URL。例如,如果用戶可控制的數(shù)據(jù)被提交給ASP函數(shù)Server.Execute,那么攻擊者就可以執(zhí)行任意一段ASP腳本,只要這段腳本屬于調用這個函數(shù)的相同應用程序。 在這種情況下,攻擊者仍然可以利用應用程序的行為執(zhí)行未授權操作。 口在服務器上可能有一些通過正常途徑無法訪問的文件,例如,任何訪問路徑/admin的請求都會被應用程序實施的訪問控制阻止。如果能夠將敏感功能包含在一個授權訪問的頁面中,那么就可以訪問那個功能。 口服務器上的一些靜態(tài)資源也受到同樣的保護,無法直接訪問。如果能夠將這些文件動態(tài)包含在其他應用程序頁面中,那么執(zhí)行環(huán)境就會將靜態(tài)資源的內容復制到它的響應中。 3.查找文件包含漏洞 任何用戶提交的數(shù)據(jù)項都可能引起文件包含漏洞。它們經(jīng)常出現(xiàn)在指定一種語言或一個位置的請求參數(shù)中,也常常發(fā)生在以參數(shù)形式傳送服務器端文件名的情況下。
媒體關注與評論
關于黑客攻防技術,沒有一本書能比這本書講解得更為透徹和全面! ——Jason Haddix,惠普公司滲透測試總監(jiān) 如果你對Web應用程序安全感興趣,我強烈推薦本書,它實為Web安全人士必讀之作?!? ——Robert Wesley McGrew,McGrew安全公司研究人員 第1版本來就是Web安全領域的扛鼎之作,第2版可謂經(jīng)典之上的完善,絕對值得擁有! ——Daniel Miessler,安全顧問
編輯推薦
安全技術寶典全新升級 深入剖析,實戰(zhàn)演練,使你如飲醍醐
名人推薦
“關于黑客攻防技術,沒有一本書能比這本書講解得更為透徹和全面!” ——Jason Haddix,惠普公司滲透測試總監(jiān) “如果你對Web應用程序安全感興趣,我強烈推薦本書,它實為Web安全人士必讀之作?!?——Robert Wesley McGrew,McGrew安全公司研究人員 “第1版本來就是Web安全領域的扛鼎之作,第2版可謂經(jīng)典之上的完善,絕對值得擁有!” ——Daniel Miessler,安全顧問
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載