《黑客攻防技術寶典:Web實戰(zhàn)篇(第2版)》是探索和研究Web應用程序安全漏洞的實踐指南。作者利用大量的實際案例和示例代碼,詳細介紹了各類Web應用程序的弱點,并深入闡述了如何針對Web應用程序進行具體的滲透測試。《黑客攻防技術寶典:Web實戰(zhàn)篇(第2版)》從介紹當前Web應用程序安全概況開始,重點討論滲透測試時使用的詳細步驟和技巧,總結書中涵蓋的主題。每章后還附有習題,便于讀者鞏固所學內容。第2版新增了Web應用程序安全領域近年來的發(fā)展變化新情況,并以嘗試訪問的鏈接形式提供了幾百個互動式"漏洞實驗室",便于讀者迅速掌握各種攻防知識與技能。《黑客攻防技術寶典:Web實戰(zhàn)篇(第2版)》適合各層次計算機安全人士和Web開發(fā)與管理領域的技術人員閱讀。
安全技術寶典全新升級
亞馬遜書店五星贊譽
深入剖析,實戰(zhàn)演練,使你如飲醍醐
推薦組合購買:
黑客攻防技術寶典:iOS實戰(zhàn)篇 (iOS平臺破解與攻防書,美國國家安全局全球網絡漏洞攻擊分析師、連續(xù)4年Pwn2Own黑客競賽大獎得主Charlie Miller領銜,6位信息安全專家傾情奉獻,陣容豪華、內容、、不容錯過!)
Dafydd Stuttard 世界知名安全顧問、作家、軟件開發(fā)人士。牛津大學博士,MDSec公司聯(lián)合創(chuàng)始人,尤其擅長Web應用程序和編譯軟件的滲透測試。Dafydd以網名PortSwigger蜚聲安全界,是眾所周知的Web應用程序集成攻擊平臺Burp Suite的開發(fā)者。 Marcus Pinto 博學滲透測試專家,劍橋大學碩士,MDSec公司聯(lián)合創(chuàng)始人。Marcus為全球金融、政府、電信、博彩、零售等行業(yè)組織和機構提供Web應用程序滲透測試和安全防御的咨詢與培訓。
目錄
第1章Web應用程序安全與風險1
1.1Web應用程序的發(fā)展歷程1
1.1.1Web應用程序的常見功能3
1.1.2Web應用程序的優(yōu)點4
1.2Web應用程序安全4
1.2.1"本站點是安全的"5
1.2.2核心安全問題:用戶可提交任意輸入6
1.2.3關鍵問題因素7
1.2.4新的安全邊界8
1.2.5Web應用程序安全的未來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.1HTTP27
3.1.1HTTP請求27
3.1.2HTTP響應28
3.1.3HTTP方法29
3.1.4URL30
3.1.5REST31
3.1.6HTTP消息頭31
3.1.7cookie33
3.1.8狀態(tài)碼33
3.1.9HTTPS34
3.1.10HTTP35
3.1.11HTTP身份驗證35
3.2Web功能36
3.2.1服務器端功能36
3.2.2客戶端功能40
3.2.3狀態(tài)與會話46
3.3編碼方案47
3.3.1URL編碼47
3.3.2Unicode編碼48
3.3.3HTML編碼48
3.3.4Base64編碼49
3.3.5十六進制編碼49
3.3.6遠程和序列化框架49
3.4下一步50
3.5問題50
第4章解析應用程序51
4.1枚舉內容與功能51
4.1.1Web抓取51
4.1.2用戶指定的抓取54
4.1.3發(fā)現(xiàn)隱藏的內容56
4.1.4應用程序頁面與功能路徑67
4.1.5發(fā)現(xiàn)隱藏的參數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通過客戶端傳送數據83
5.1.1隱藏表單字段84
5.1.2HTTP cookie86
5.1.3URL參數86
5.1.4Referer消息頭86
5.1.5模糊數據88
5.1.6ASP.NET ViewState89
5.2收集用戶數據:HTML表單91
5.2.1長度限制91
5.2.2基于腳本的確認93
5.2.3禁用的元素94
5.3收集用戶數據:瀏覽器擴展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安全處理客戶端數據112
5.4.1通過客戶端傳送數據112
5.4.2確認客戶端生成的數據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在網絡上泄露令牌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章攻擊數據存儲區(qū)208
9.1注入解釋型語言208
9.2注入SQL210
9.2.1利用一個基本的漏洞211
9.2.2注入不同的語句類型213
9.2.3查明SQL注入漏洞216
9.2.4"指紋"識別數據庫219
9.2.5UNION操作符220
9.2.6提取有用的數據224
9.2.7使用UNION提取數據224
9.2.8避開過濾226
9.2.9二階SQL注入227
9.2.10高級利用229
9.2.11SQL注入之外:擴大數據庫攻擊范圍236
9.2.12使用SQL注入工具238
9.2.13SQL語法與錯誤參考241
9.2.14防止SQL注入246
9.3注入NoSQL249
9.4注入XPath250
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注入LDAP254
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注入SOAP281
10.3.3查找并利用SOAP注入283
10.3.4防止SOAP注入284
10.4注入后端HTTP請求284
10.4.1服務器端HTTP重定向285
10.4.2HTTP參數注入287
10.5注入電子郵件290
10.5.1操縱電子郵件標頭290
10.5.2SMTP命令注入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.1XSS的分類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.2XSS攻擊有效載荷324
12.2.3XSS攻擊的傳送機制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.2UI偽裝374
13.2跨域捕獲數據377
13.2.1通過注入HTML捕獲數據377
13.2.2通過注入CSS捕獲數據378
13.2.3JavaScript劫持380
13.3同源策略深入討論384
13.3.1同源策略與瀏覽器擴展384
13.3.2同源策略與HTML5386
13.3.3通過服務應用程序跨域388
13.4其他客戶端注入攻擊389
13.4.1HTTP消息頭注入389
13.4.2cookie注入393
13.4.3開放式重定向漏洞396
13.4.4客戶端SQL注入402
13.4.5客戶端HTTP參數污染402
13.5本地隱私攻擊403
13.5.1持久性cookie404
13.5.2緩存Web內容404
13.5.3瀏覽歷史記錄405
13.5.4自動完成406
13.5.5Flash本地共享對象406
13.5.6Silverlight獨立存儲406
13.5.7Internet Explorer userData407
13.5.8HTML5本地存儲機制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攻擊其他網絡主機413
13.7.6利用非HTTP服務413
13.7.7利用瀏覽器漏洞414
13.7.8DNS重新綁定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.4JAttack423
14.3獲取有用的數據428
14.4常見漏洞模糊測試431
14.5整合全部功能:Burp Intruder434
14.6實施自動化的限制442
14.6.1會話處理機制443
14.6.2CAPTCHA控件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服務器與數據庫消息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整數漏洞472
16.2.1整數溢出472
16.2.2符號錯誤472
16.2.3查找整數漏洞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.1Web服務器配置缺陷493
18.1.1默認證書493
18.1.2默認內容494
18.1.3目錄列表499
18.1.4WebDAV方法500
18.1.5Web服務器作為服務器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.3Web應用程序防火墻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.2SQL注入520
19.2.3路徑遍歷520
19.2.4任意重定向521
19.2.5OS命令注入522
19.2.6后門密碼522
19.2.7本地代碼漏洞522
19.2.8源代碼注釋524
19.3Java平臺524
19.3.1確定用戶提交的數據524
19.3.2會話交互525
19.3.3潛在危險的API526
19.3.4配置Java環(huán)境528
19.4ASP.NET529
19.4.1確定用戶提交的數據529
19.4.2會話交互530
19.4.3潛在危險的API531
19.4.4配置ASP.NET環(huán)境533
19.5PHP534
19.5.1確定用戶提交的數據534
19.5.2會話交互536
19.5.3潛在危險的API536
19.5.4配置PHP環(huán)境540
19.6Perl542
19.6.1確定用戶提交的數據542
19.6.2會話交互543
19.6.3潛在危險的API543
19.6.4配置Perl環(huán)境544
19.7JavaScript545
19.8數據庫代碼組件
第1章 Web應用程序安全與風險
web應用程序安全無疑是當務之急,也是值得關注的話題。對相關各方而言,這一問題都至關重要。這里的相關各方包括因特網業(yè)務收入日益增長的公司、 Web應用程序托付敏感信息的用戶,以及通過竊取支付信息或入侵銀行賬戶偷竊巨額資金的犯罪分子。的信譽也非常重要,沒人愿意與不安全的web站點進行交易,也沒有組織愿意披露有關其安全方面的漏洞或違規(guī)行為的詳細情況。因此,獲取當前web應用程序安全狀況的信息不可小視。
本章簡要介紹web應用程序的發(fā)展歷程及它們提供的諸多優(yōu)點,并且列舉我們親身體驗過的在目前Web應用程序中存在的漏洞,這些漏洞表明絕大多數應用程序還遠遠不夠安全。本章還將描述Web應用程序面臨的核心安全問題(即用戶可提交任意輸入的問題),以及造成安全問題的各種因素。討論Web應用程序安全方面的近期發(fā)展趨勢,并預測其未來的發(fā)展方向。
1.1 Web應用程序的發(fā)展歷程
在因特網發(fā)展的早期階段,萬維網(world wideweb)僅由w曲站點構成,這些站點基本上是包含靜態(tài)文檔的信息庫。隨后人們發(fā)明了Web瀏覽器,通過它來檢索和顯示那些文檔,如圖1-1所示。這種相關信息流僅由服務器向瀏覽器單向傳送。多數站點并不驗證用戶的合法性,因為根本沒有必要這樣做;所有用戶同等對待,提供同樣的信息。創(chuàng)建一個w曲站點所帶來的安全威脅主要與web服務器軟件的(諸多)漏洞有關。攻擊者入侵web站點并不能獲取任何敏感信息,因為服務器上保存的信息可以公開查看。所以攻擊者往往會修改服務器上的文件,以歪曲Web站點的內容.或者利用服務器的存儲容量和帶寬傳播"非法軟件"。
如今的萬維網與早期的萬維網已經不同,Web上的大多數站點實際上是應用程序(見圖1.2)。它們功能強大,在服務器和瀏覽器之間進行雙向信息傳送。它們支持注冊與登錄、金融交易、搜索以及用戶創(chuàng)作的內容。用戶獲取的內容以動態(tài)形式生成,并且往往能夠滿足每個用戶的特殊需求。它們處理的許多信息屬于私密和高度敏感的信息。因此,安全問題至關重要:如果人們認為Web應用程序會將他們的信息泄露給未授權的訪問者,他們就會拒絕使用這個web應用程序。
……
"關于黑客攻防技術,沒有一本書能比這本書講解得更為透徹和!" ——Jason Haddix,惠普公司滲透測試總監(jiān) "如果你對Web應用程序安全感興趣,我強烈推薦本書,它實為Web安全人士必讀之作。" ——Robert Wesley McGrew,McGrew安全公司研究人員 "第1版本來就是Web安全領域的扛鼎之作,第2版可謂經典之上的完善,值得擁有!" ——Daniel Miessler,安全顧問
看起來高大上,額,對于我這個初學者來說,看不懂,希望我以后應該能看懂,上帝保佑,給五星了!
書非常厚重,大體翻看了一下,還沒有看完,感覺非常不錯。以前也買過好幾本關于網絡安全方面的書,這本應該是最好的一本。非常滿意,推薦購買!
確實很專業(yè),建議有一定基礎的人看此本書。如果能看懂絕對受益匪淺。
這本書讓我有種想當黑客的感覺,嘿嘿開玩笑的不過內容挺好的吧大概
web安全的神作。安全入門必須深讀的一本書。看一遍遠遠不夠。
內容寫的有點像教科書,整體還比較滿意,包裝簡陋,就一個塑料袋。
這本稍微看一些,以后有時間了在慢慢消化,感覺對web這方面的攻防技術講解得比較透徹。
內容沒有細看,但是整體架構很好,介紹的很詳細
滿分。很喜歡,是正品。一直都在當當買書 會繼續(xù)支持下去
別買!翻譯的就是個P,啥破玩意兒!真想砸他臉上
書的質量不錯,正如文中所說,有些技術現(xiàn)在已經過時了,但是這些技術的思想在一段時期內是不會過時的。
這個貌似有點兒深,我想要最簡單的黑客,其實我只是好奇而已
工具介紹與理論相結合,同時貫穿了整個滲透測試的流程和思路。
還可以,挺詳細,暫時沒發(fā)現(xiàn)抓包問題,有點可惜,我再去發(fā)現(xiàn)下。
就是覺得這個本的技術有點舊了,隨著IT行業(yè)的快速發(fā)展有些技術還是說的以前的;但是有點可以肯定,這些技術依然可以用!還是很不錯的一本書;
當下web應用安全攻防的書不少,但很多是東拼西湊大篇幅講怎么用這個那個工具或腳本,而這本書能從原理,方法,工具,攻擊&防御多個維度全面講解,且以滲透測試的角度來看應用程序的安全,全面而有深度,嚴重推薦啊!!相比之下, 還看過另一本:阿里那位吳先生的白帽子講web安全,則遜色很多,大部分內容是泛泛而談,對實際的滲透或攻擊或防御缺少指導意義.
這本書非常不錯,不管從理論還是實踐上都值得一讀,有點類似開發(fā)界的《代碼大全2》,不斷品嘗,不斷吸收新的東西,國外大作非常精典,強烈推薦所有從事網絡安全的人士閱讀。
速度快,真快。同時買的另一家書店的還tm在北京,可以吃屎吧。
與其說是實戰(zhàn)篇,不如說是理論篇,主要介紹了一些web攻防的概念。 缺少詳細的實戰(zhàn)講解。
不光書的質量如何。快遞滿分非常感謝,快遞大哥把快遞送到我小區(qū)門口真的非常感謝。我記得那個保安一般不讓人進入的,辛苦了快遞大哥蔣耀詩先生。
孩子感興趣,給他買的。看了一部分,覺得當“黑客”好難。哈哈!
從實際應用開始講解,而且介紹得很全面,幾乎涵蓋了好多經典web滲透的案例。可以快遞送貨包裝不太好,壓倒一條很大的痕,但不影響使用。
感覺非常好的一本書,涵蓋了滲透測試,以及安全測試相關知識
與圖片展示的相符,里面的內容正在研讀,有待看完才有結論,從前面的2章內容來看,還是講網站安全的必要性,哪些地方容易被入侵。還沒涉及到攻防實際內容,書籍質量不錯,紙張與印刷都很好。
還沒細看,如書名所言,是一部攻防技術寶典Web實戰(zhàn)篇。
還可以,技術不是很落后,黑客攻防:Web安全實戰(zhàn)詳解。。。。。。