關(guān)于我們
書單推薦
新書推薦
|
黑客攻防技術(shù)寶典
《黑客攻防技術(shù)寶典.Web實(shí)戰(zhàn)篇(第2版)》是探索和研究Web 應(yīng)用程序安全漏洞的實(shí)踐指南。作者利用大量的實(shí)際案例和示例代碼,詳細(xì)介紹了各類Web 應(yīng)用程序的弱點(diǎn),并深入闡述了如何針對Web 應(yīng)用程序進(jìn)行具體的滲透測試。本書從介紹當(dāng)前Web 應(yīng)用程序安全概況開始,重點(diǎn)討論滲透測試時(shí)使用的詳細(xì)步驟和技巧,最后總結(jié)書中涵蓋的主題。每章后還附有習(xí)題,便于讀者鞏固所學(xué)內(nèi)容。
第2 版新增了Web 應(yīng)用程序安全領(lǐng)域近年來的發(fā)展變化新情況,并以嘗試訪問的鏈接形式提供了幾百個(gè)互動式“漏洞實(shí)驗(yàn)室”,便于讀者迅速掌握各種攻防知識與技能。 本書適合各層次計(jì)算機(jī)安全人士和Web 開發(fā)與管理領(lǐng)域的技術(shù)人員閱讀。
安全技術(shù)寶典全新升級 深入剖析,實(shí)戰(zhàn)演練,使你如飲醍醐
Dafydd Stuttard,世界知名安全顧問、作家、軟件開發(fā)人士。牛津大學(xué)博士,MDSec公司聯(lián)合創(chuàng)始人,尤其擅長Web應(yīng)用程序和編譯軟件的滲透測試。Dafydd以網(wǎng)名PortSwigger蜚聲安全界,是眾所周知的Web應(yīng)用程序集成攻擊平臺Burp Suite的開發(fā)者。
Marcus Pinto,資深滲透測試專家,劍橋大學(xué)碩士,MDSec公司聯(lián)合創(chuàng)始人。Marcus為全球金融、政府、電信、博彩、零售等行業(yè)頂尖組織和機(jī)構(gòu)提供Web應(yīng)用程序滲透測試和安全防御的咨詢與培訓(xùn)。
第1章 Web應(yīng)用程序安全與風(fēng)險(xiǎn)
1.1 Web應(yīng)用程序的發(fā)展歷程 1.1.1 Web應(yīng)用程序的常見功能 1.1.2 Web應(yīng)用程序的優(yōu)點(diǎn) 1.2 Web應(yīng)用程序安全 1.2.1 “本站點(diǎn)是安全的” 1.2.2 核心安全問題:用戶可提交任意輸入 1.2.3 關(guān)鍵問題因素 1.2.4 新的安全邊界 1.2.5 Web應(yīng)用程序安全的未來 1.3 小結(jié) 第2章 核心防御機(jī)制 2.1 處理用戶訪問 2.1.1 身份驗(yàn)證 2.1.2 會話管理 2.1.3 訪問控制 2.2 處理用戶輸入 2.2.1 輸入的多樣性 2.2.2 輸入處理方法 2.2.3 邊界確認(rèn) 2.2.4 多步確認(rèn)與規(guī)范化 2.3 處理攻擊者 2.3.1 處理錯(cuò)誤 2.3.2 維護(hù)審計(jì)日志 2.3.3 向管理員發(fā)出警報(bào) 2.3.4 應(yīng)對攻擊 2.4 管理應(yīng)用程序 2.5 小結(jié) 2.6 問題 第3章 Web應(yīng)用程序技術(shù) 3.1 HTTP 3.1.1 HTTP請求 3.1.2 HTTP響應(yīng) 3.1.3 HTTP方法 3.1.4 URL 3.1.5 REST 3.1.6 HTTP消息頭 3.1.7 cookie 3.1.8 狀態(tài)碼 3.1.9 HTTPS 3.1.10 HTTP代理 3.1.11 HTTP身份驗(yàn)證 3.2 Web功能 3.2.1 服務(wù)器端功能 3.2.2 客戶端功能 3.2.3 狀態(tài)與會話 3.3 編碼方案 3.3.1 URL編碼 3.3.2 Unicode編碼 3.3.3 HTML編碼 3.3.4 Base64編碼 3.3.5 十六進(jìn)制編碼 3.3.6 遠(yuǎn)程和序列化框架 3.4 下一步 3.5 問題 第4章 解析應(yīng)用程序 4.1 枚舉內(nèi)容與功能 4.1.1 Web抓取 4.1.2 用戶指定的抓取 4.1.3 發(fā)現(xiàn)隱藏的內(nèi)容 4.1.4 應(yīng)用程序頁面與功能路徑 4.1.5 發(fā)現(xiàn)隱藏的參數(shù) 4.2 分析應(yīng)用程序 4.2.1 確定用戶輸入入口點(diǎn) 4.2.2 確定服務(wù)器端技術(shù) 4.2.3 確定服務(wù)器端功能 4.2.4 解析受攻擊面 4.2.5 解析Extreme Internet Shopping應(yīng)用程序 4.3 小結(jié) 4.4 問題 第5章 避開客戶端控件 5.1 通過客戶端傳送數(shù)據(jù) 5.1.1 隱藏表單字段 5.1.2 HTTP cookie 5.1.3 URL參數(shù) 5.1.4 Referer消息頭 5.1.5 模糊數(shù)據(jù) 5.1.6 ASP.NET ViewState 5.2 收集用戶數(shù)據(jù):HTML表單 5.2.1 長度限制 5.2.2 基于腳本的確認(rèn) 5.2.3 禁用的元素 5.3 收集用戶數(shù)據(jù):瀏覽器擴(kuò)展 5.3.1 常見的瀏覽器擴(kuò)展技術(shù) 5.3.2 攻擊瀏覽器擴(kuò)展的方法 5.3.3 攔截瀏覽器擴(kuò)展的流量 5.3.4 反編譯瀏覽器擴(kuò)展 5.3.5 附加調(diào)試器 5.3.6 本地客戶端組件 5.4 安全處理客戶端數(shù)據(jù) 5.4.1 通過客戶端傳送數(shù)據(jù) 5.4.2 確認(rèn)客戶端生成的數(shù)據(jù) 5.4.3 日志與警報(bào) 5.5 小結(jié) 5.6 問題 第6章 攻擊驗(yàn)證機(jī)制 6.1 驗(yàn)證技術(shù) 6.2 驗(yàn)證機(jī)制設(shè)計(jì)缺陷 6.2.1 密碼保密性不強(qiáng) 6.2.2 蠻力攻擊登錄 6.2.3 詳細(xì)的失敗消息 6.2.4 證書傳輸易受攻擊 6.2.5 密碼修改功能 6.2.6 忘記密碼功能 6.2.7 “記住我”功能 6.2.8 用戶偽裝功能 6.2.9 證書確認(rèn)不完善 6.2.10 非唯一性用戶名 6.2.11 可預(yù)測的用戶名 6.2.12 可預(yù)測的初始密碼 6.2.13 證書分配不安全 6.3 驗(yàn)證機(jī)制執(zhí)行缺陷 6.3.1 故障開放登錄機(jī)制 6.3.2 多階段登錄機(jī)制中的缺陷 6.3.3 不安全的證書存儲 6.4 保障驗(yàn)證機(jī)制的安全 6.4.1 使用可靠的證書 6.4.2 安全處理證書 6.4.3 正確確認(rèn)證書 6.4.4 防止信息泄露 6.4.5 防止蠻力攻擊 6.4.6 防止濫用密碼修改功能 6.4.7 防止濫用賬戶恢復(fù)功能 6.4.8 日志、監(jiān)控與通知 6.5 小結(jié) 6.6 問題 第7章 攻擊會話管理 7.1 狀態(tài)要求 7.2 會話令牌生成過程中的薄弱環(huán)節(jié) 7.2.1 令牌有一定含義 7.2.2 令牌可預(yù)測 7.2.3 加密令牌 7.3 會話令牌處理中的薄弱環(huán)節(jié) 7.3.1 在網(wǎng)絡(luò)上泄露令牌 7.3.2 在日志中泄露令牌 7.3.3 令牌-會話映射易受攻擊 7.3.4 會話終止易受攻擊 7.3.5 客戶端暴露在令牌劫持風(fēng)險(xiǎn)之中 7.3.6 寬泛的cookie范圍 7.4 保障會話管理的安全 7.4.1 生成強(qiáng)大的令牌 7.4.2 在整個(gè)生命周期保障令牌的安全 7.4.3 日志、監(jiān)控與警報(bào) 7.5 小結(jié) 7.6 問題 第8章 攻擊訪問控制 8.1 常見漏洞 8.1.1 完全不受保護(hù)的功能 8.1.2 基于標(biāo)識符的功能 8.1.3 多階段功能 8.1.4 靜態(tài)文件 8.1.5 平臺配置錯(cuò)誤 8.1.6 訪問控制方法不安全 8.2 攻擊訪問控制 8.2.1 使用不同用戶賬戶進(jìn)行測試 8.2.2 測試多階段過程 8.2.3 通過有限訪問權(quán)限進(jìn)行測試 8.2.4 測試“直接訪問方法” 8.2.5 測試對靜態(tài)資源的控制 8.2.6 測試對HTTP方法實(shí)施的限制 8.3 保障訪問控制的安全 8.4 小結(jié) 8.5 問題 第9章 攻擊數(shù)據(jù)存儲區(qū) 9.1 注入解釋型語言 9.2 注入SQL 9.2.1 利用一個(gè)基本的漏洞 9.2.2 注入不同的語句類型 9.2.3 查明SQL注入漏洞 9.2.4 “指紋”識別數(shù)據(jù)庫 9.2.5 UNION操作符 9.2.6 提取有用的數(shù)據(jù) 9.2.7 使用UNION提取數(shù)據(jù) 9.2.8 避開過濾 9.2.9 二階SQL注入 9.2.10 高級利用 9.2.11 SQL注入之外:擴(kuò)大數(shù)據(jù)庫攻擊范圍 9.2.12 使用SQL注入工具 9.2.13 SQL語法與錯(cuò)誤參考 9.2.14 防止SQL注入 9.3 注入NoSQL 9.4 注入XPath 9.4.1 破壞應(yīng)用程序邏輯 9.4.2 謹(jǐn)慎XPath注入 9.4.3 盲目XPath注入 9.4.4 查找XPath注入漏洞 9.4.5 防止XPath注入 9.5 注入LDAP 9.5.1 利用LDAP注入 9.5.2 查找LDAP注入漏洞 9.5.3 防止LDAP注入 9.6 小結(jié) 9.7 問題 第10章 測試后端組件 10.1 注入操作系統(tǒng)命令 10.1.1 例1:通過Perl注入 10.1.2 例2:通過ASP注入 10.1.3 通過動態(tài)執(zhí)行注入 10.1.4 查找OS命令注入漏洞 10.1.5 查找動態(tài)執(zhí)行漏洞 10.1.6 防止OS命令注入 10.1.7 防止腳本注入漏洞 10.2 操作文件路徑 10.2.1 路徑遍歷漏洞 10.2.2 文件包含漏洞 10.3 注入XML解釋器 10.3.1 注入XML外部實(shí)體 10.3.2 注入SOAP 10.3.3 查找并利用SOAP注入 10.3.4 防止SOAP注入 10.4 注入后端HTTP請求 10.4.1 服務(wù)器端HTTP重定向 10.4.2 HTTP參數(shù)注入 10.5 注入電子郵件 10.5.1 操縱電子郵件標(biāo)頭 10.5.2 SMTP命令注入 10.5.3 查找SMTP注入漏洞 10.5.4 防止SMTP注入 10.6 小結(jié) 10.7 問題 第11章 攻擊應(yīng)用程序邏輯 11.1 邏輯缺陷的本質(zhì) 11.2 現(xiàn)實(shí)中的邏輯缺陷 11.2.1 例1:征求提示 11.2.2 例2:欺騙密碼修改功能 11.2.3 例3:直接結(jié)算 11.2.4 例4:修改保險(xiǎn)單 11.2.5 例5:入侵銀行 11.2.6 例6:規(guī)避交易限制 11.2.7 例7:獲得大幅折扣 11.2.8 例8:避免轉(zhuǎn)義 11.2.9 例9:避開輸入確認(rèn) 11.2.10 例10:濫用搜索功能 11.2.11 例11:利用調(diào)試消息 11.2.12 例12:與登錄機(jī)制競賽 11.3 避免邏輯缺陷 11.4 小結(jié) 11.5 問題 第12章 攻擊其他用戶 12.1 XSS的分類 12.1.1 反射型XSS漏洞 12.1.2 保存型XSS漏洞 12.1.3 基于DOM的XSS漏洞 12.2 進(jìn)行中的XSS攻擊 12.2.1 真實(shí)XSS攻擊 12.2.2 XSS攻擊有效載荷 12.2.3 XSS攻擊的傳送機(jī)制 12.3 查找并利用XSS漏洞 12.3.1 查找并利用反射型XSS漏洞 12.3.2 查找并利用保存型XSS漏洞 12.3.3 查找并利用基于DOM的XSS漏洞 12.4 防止XSS攻擊 12.4.1 防止反射型與保存型XSS漏洞 12.4.2 防止基于DOM的XSS漏洞 12.5 小結(jié) 12.6 問題 第13章 攻擊用戶:其他技巧 13.1 誘使用戶執(zhí)行操作 13.1.1 請求偽造 13.1.2 UI偽裝 13.2 跨域捕獲數(shù)據(jù) 13.2.1 通過注入HTML捕獲數(shù)據(jù) 13.2.2 通過注入CSS捕獲數(shù)據(jù) 13.2.3 JavaScript劫持 13.3 同源策略深入討論 13.3.1 同源策略與瀏覽器擴(kuò)展 13.3.2 同源策略與HTML5 13.3.3 通過代理服務(wù)應(yīng)用程序跨域 13.4 其他客戶端注入攻擊 13.4.1 HTTP消息頭注入 13.4.2 cookie注入 13.4.3 開放式重定向漏洞 13.4.4 客戶端SQL注入 13.4.5 客戶端HTTP參數(shù)污染 13.5 本地隱私攻擊 13.5.1 持久性cookie 13.5.2 緩存Web內(nèi)容 13.5.3 瀏覽歷史記錄 13.5.4 自動完成 13.5.5 Flash本地共享對象 13.5.6 Silverlight獨(dú)立存儲 13.5.7 Internet Explorer userData 13.5.8 HTML5本地存儲機(jī)制 13.5.9 防止本地隱私攻擊 13.6 攻擊ActiveX控件 13.6.1 查找ActiveX漏洞 13.6.2 防止ActiveX漏洞 13.7 攻擊瀏覽器 13.7.1 記錄鍵擊 13.7.2 竊取瀏覽器歷史記錄與搜索查詢 13.7.3 枚舉當(dāng)前使用的應(yīng)用程序 13.7.4 端口掃描 13.7.5 攻擊其他網(wǎng)絡(luò)主機(jī) 13.7.6 利用非HTTP服務(wù) 13.7.7 利用瀏覽器漏洞 13.7.8 DNS重新綁定 13.7.9 瀏覽器利用框架 13.7.10 中間人攻擊 13.8 小結(jié) 13.9 問題 第14章 定制攻擊自動化 14.1 應(yīng)用定制自動化攻擊 14.2 枚舉有效的標(biāo)識符 14.2.1 基本步驟 14.2.2 探測“觸點(diǎn)” 14.2.3 編寫攻擊腳本 14.2.4 JAttack 14.3 獲取有用的數(shù)據(jù) 14.4 常見漏洞模糊測試 14.5 整合全部功能:Burp Intruder 14.6 實(shí)施自動化的限制 14.6.1 會話處理機(jī)制 14.6.2 CAPTCHA控件 14.7 小結(jié) 14.8 問題 第15章 利用信息泄露 15.1 利用錯(cuò)誤消息 15.1.1 錯(cuò)誤消息腳本 15.1.2 棧追蹤 15.1.3 詳盡的調(diào)試消息 15.1.4 服務(wù)器與數(shù)據(jù)庫消息 15.1.5 使用公共信息 15.1.6 制造詳盡的錯(cuò)誤消息 15.2 收集公布的信息 15.3 使用推論 15.4 防止信息泄露 15.4.1 使用常規(guī)錯(cuò)誤消息 15.4.2 保護(hù)敏感信息 15.4.3 盡量減少客戶端信息泄露 15.5 小結(jié) 15.6 問題 第16章 攻擊本地編譯型應(yīng)用程序 16.1 緩沖區(qū)溢出漏洞 16.1.1 棧溢出 16.1.2 堆溢出 16.1.3 “一位偏移”漏洞 16.1.4 查找緩沖區(qū)溢出漏洞 16.2 整數(shù)漏洞 16.2.1 整數(shù)溢出 16.2.2 符號錯(cuò)誤 16.2.3 查找整數(shù)漏洞 16.3 格式化字符串漏洞 16.4 小結(jié) 16.5 問題 第17章 攻擊應(yīng)用程序架構(gòu) 17.1 分層架構(gòu) 17.1.1 攻擊分層架構(gòu) 17.1.2 保障分層架構(gòu)的安全 17.2 共享主機(jī)與應(yīng)用程序服務(wù)提供商 17.2.1 虛擬主機(jī) 17.2.2 共享的應(yīng)用程序服務(wù) 17.2.3 攻擊共享環(huán)境 17.2.4 保障共享環(huán)境的安全 17.3 小結(jié) 17.4 問題 第18章 攻擊Web服務(wù)器 18.1 Web服務(wù)器配置缺陷 18.1.1 默認(rèn)證書 18.1.2 默認(rèn)內(nèi)容 18.1.3 目錄列表 18.1.4 WebDAV方法 18.1.5 Web服務(wù)器作為代理服務(wù)器 18.1.6 虛擬主機(jī)配置缺陷 18.1.7 保障Web服務(wù)器配置的安全 18.2 易受攻擊的服務(wù)器軟件 18.2.1 應(yīng)用程序框架缺陷 18.2.2 內(nèi)存管理漏洞 18.2.3 編碼與規(guī)范化漏洞 18.2.4 查找Web服務(wù)器漏洞 18.2.5 保障Web服務(wù)器軟件的安全 18.3 Web應(yīng)用程序防火墻 18.4 小結(jié) 18.5 問題 第19章 查找源代碼中的漏洞 19.1 代碼審查方法 19.1.1 “黑盒”測試與“白盒” 測試 19.1.2 代碼審查方法 19.2 常見漏洞簽名 19.2.1 跨站點(diǎn)腳本 19.2.2 SQL注入 19.2.3 路徑遍歷 19.2.4 任意重定向 19.2.5 OS命令注入 19.2.6 后門密碼 19.2.7 本地代碼漏洞 19.2.8 源代碼注釋 19.3 Java平臺 19.3.1 確定用戶提交的數(shù)據(jù) 19.3.2 會話交互 19.3.3 潛在危險(xiǎn)的API 19.3.4 配置Java環(huán)境 19.4 ASP.NET 19.4.1 確定用戶提交的數(shù)據(jù) 19.4.2 會話交互 19.4.3 潛在危險(xiǎn)的API 19.4.4 配置ASP.NET環(huán)境 19.5 PHP 19.5.1 確定用戶提交的數(shù)據(jù) 19.5.2 會話交互 19.5.3 潛在危險(xiǎn)的API 19.5.4 配置 PHP 環(huán)境 19.6 Perl 19.6.1 確定用戶提交的數(shù)據(jù) 19.6.2 會話交互 19.6.3 潛在危險(xiǎn)的API 19.6.4 配置Perl環(huán)境 19.7 JavaScript 19.8 數(shù)據(jù)庫代碼組件 19.8.1 SQL注入 19.8.2 調(diào)用危險(xiǎn)的函數(shù) 19.9 代碼瀏覽工具 19.10 小結(jié) 19.11 問題 第20章 Web應(yīng)用程序黑客工具包 20.1 Web瀏覽器 20.1.1 Internet Explorer 20.1.2 Firefox 20.1.3 Chrome 20.2 集成測試套件 20.2.1 工作原理 20.2.2 測試工作流程 20.2.3 攔截代理服務(wù)器替代工具 20.3 獨(dú)立漏洞掃描器 20.3.1 掃描器探測到的漏洞 20.3.2 掃描器的內(nèi)在限制 20.3.3 掃描器面臨的技術(shù)挑戰(zhàn) 20.3.4 當(dāng)前產(chǎn)品 20.3.5 使用漏洞掃描器 20.4 其他工具 20.4.1 Wikto/Nikto 20.4.2 Firebug 20.4.3 Hydra 20.4.4 定制腳本 20.5 小結(jié) 第21章 Web應(yīng)用程序滲透測試方法論 21.1 解析應(yīng)用程序內(nèi)容 21.1.1 搜索可見的內(nèi)容 21.1.2 瀏覽公共資源 21.1.3 發(fā)現(xiàn)隱藏的內(nèi)容 21.1.4 查找默認(rèn)的內(nèi)容 21.1.5 枚舉標(biāo)識符指定的功能 21.1.6 調(diào)試參數(shù) 21.2 分析應(yīng)用程序 21.2.1 確定功能 21.2.2 確定數(shù)據(jù)進(jìn)入點(diǎn) 21.2.3 確定所使用的技術(shù) 21.2.4 解析受攻擊面 21.3 測試客戶端控件 21.3.1 通過客戶端傳送數(shù)據(jù) 21.3.2 客戶端輸入控件 21.3.3 測試瀏覽器擴(kuò)展組件 21.4 測試驗(yàn)證機(jī)制 21.4.1 了解驗(yàn)證機(jī)制 21.4.2 測試密碼強(qiáng)度 21.4.3 測試用戶名枚舉 21.4.4 測試密碼猜測的適應(yīng)性 21.4.5 測試賬戶恢復(fù)功能 21.4.6 測試“記住我”功能 21.4.7 測試偽裝功能 21.4.8 測試用戶名唯一性 21.4.9 測試證書的可預(yù)測性 21.4.10 檢測不安全的證書傳輸 21.4.11 檢測不安全的證書分配 21.4.12 測試不安全的存儲 21.4.13 測試邏輯缺陷 21.4.14 利用漏洞獲取未授權(quán)訪問 21.5 測試會話管理機(jī)制 21.5.1 了解會話管理機(jī)制 21.5.2 測試令牌的含義 21.5.3 測試令牌的可預(yù)測性 21.5.4 檢查不安全的令牌傳輸 21.5.5 檢查在日志中泄露的令牌 21.5.6 測試令牌?會話映射 21.5.7 測試會話終止 21.5.8 測試會話固定 21.5.9 檢查 CSRF 21.5.10 檢查cookie范圍 21.6 測試訪問控件 21.6.1 了解訪問控制要求 21.6.2 使用多個(gè)賬戶測試 21.6.3 使用有限的權(quán)限測試 21.6.4 測試不安全的訪問控制方法 21.7 測試基于輸入的漏洞 21.7.1 模糊測試所有請求參數(shù) 21.7.2 測試 SQL 注入 21.7.3 測試 XSS和其他響應(yīng)注入 21.7.4 測試 OS 命令注入 21.7.5 測試路徑遍歷 21.7.6 測試腳本注入 21.7.7 測試文件包含 21.8 測試特殊功能方面的輸入漏洞 21.8.1 測試 SMTP 注入 21.8.2 測試本地代碼漏洞 21.8.3 測試SOAP注入 21.8.4 測試 LDAP 注入 21.8.5 測試XPath注入 21.8.6 測試后端請求注入 21.8.7 測試XXE注入 21.9 測試邏輯缺陷 21.9.1 確定關(guān)鍵的受攻擊面 21.9.2 測試多階段過程 21.9.3 測試不完整的輸入 21.9.4 測試信任邊界 21.9.5 測試交易邏輯 21.10 測試共享主機(jī)漏洞 21.10.1 測試共享基礎(chǔ)架構(gòu)之間的隔離 21.10.2 測試使用ASP主機(jī)的應(yīng)用程序之間的隔離 21.11 測試Web服務(wù)器漏洞 21.11.1 測試默認(rèn)證書 21.11.2 測試默認(rèn)內(nèi)容 21.11.3 測試危險(xiǎn)的HTTP方法 21.11.4 測試代理功能 21.11.5 測試虛擬主機(jī)配置不當(dāng) 21.11.6 測試Web服務(wù)器軟件漏洞 21.11.7 測試Web應(yīng)用程序防火墻 21.12 其他檢查 21.12.1 測試基于 DOM 的攻擊 21.12.2 測試本地隱私漏洞 21.12.3 測試脆弱的SSL加密算法 21.12.4 檢查同源策略配置 21.13 檢查信息泄露
你還可能感興趣
我要評論
|