黑客攻防技術寶典

所属分类:計算機安全  
出版时间:2009-8   出版时间:人民郵電出版社   作者:Dafydd Stuttard,Marcus Pinto   页数:495   译者:石華耀  

前言

  隨著網絡技術的快速發展以及網絡帶寬的不斷擴張,Web應用程序幾乎無處不在,滲透到社會的經濟、文化、娛樂等各個方面。但同時,承載著豐富功能與用途的Web應用程序也成為惡意用戶與黑客等攻擊者的主要攻擊目標。因此,如何確保Web,應用程序的安全已成為政府、企業,特別是銀行等金融機構所面臨的主要挑戰。  古語雲︰知己知彼,百戰不殆。只有充分了解攻擊者所采用的攻擊方法以及Web應用程序中存在的可供攻擊者利用的各種漏洞,我們才能針對這些漏洞采取行之有效的防御方法。本書兩位作者都是安全領域的專家,擁有豐富的滲透測試實踐經驗,因而本書具有極高的實用價值。書中主要介紹了滲透測試員在測試Web應用程序時所采用的步驟和技巧。同時,從防御的角度看,這些步驟與技巧也為確保Web應用程序的安全、加強防御措施指明了方向。  本書內容全面,幾乎涵蓋了所有Web核心技術,如HTTP、客戶與服務器端技術、數據編碼等;涉及了Web應用程序的主要核心功能,如客戶端控件、會話管理、訪問控制、應用程序邏輯與體系架構、Web服務器等;詳細分析了各種類型的漏洞,如代碼注入、路徑遍歷、跨站點腳本、重定向攻擊、跨站點請求偽造、會話劫持、會話固定、緩沖區溢出、整數漏洞、格式化漏洞等;還提供了一些作者作為專業滲透測試員開發的Burphtruder、JAttack、Paros、WebScarab、Nikto、Hydra等工具。另外,為彌補讀者在某些方面的知識欠缺,本書還提供了一些背景知識及相關鏈.接。本著實用的原則,作者在分析漏洞、介紹滲透測試步驟與技術的同時,還提供了大量實例與代碼片段;每節的“滲透測試步驟”部分還對前面討論的內容進行了簡要總結。此外,每章最後的“問題”可幫助讀者回顧該章的重點知識。

内容概要

  《黑客攻防技术宝典·Web实战篇》是探索和研究Web应用程序安全缺陷的实践指南。作者利用大量的实际案例、屏幕快照和示例代码,详细介绍了每一种Web应用程序弱点,并深入阐述了如何针对Web应用程序进行具体的渗透测试。《黑客攻防技术宝典·Web实战篇》从介绍当前Web应用程序安全概况开始,重点讨论渗透测试时使用的技巧和详细步骤,最后总结书中涵盖的主题。每章后还附有习题,便于读者巩固所学内容。  《黑客攻防技术宝典·Web实战篇》适用于各层次计算机安全和Web开发与管理领域的技术人员。

作者简介

  Dafydd Stuttard,世界知名的安全技術專家。著名Web應用攻擊測試工具Burp Suite的開發者。以網名PortSwigger蜚聲安全界。牛津大學博士,現任Next Generation Security Software公司資深安全顧問,主要負責Web應用程序安全。

书籍目录

第1章 Web應用程序安全與風險 11.1 Web應用程序的發展歷程 11.1.1 Web應用程序的常見功能 21.1.2 Web應用程序的優點 31.2 Web應用程序安全 31.2.1 “本站點是安全的” 31.2.2 核心安全問題︰用戶可提交任意輸入 51.2.3 關鍵問題因素 61.2.4 新的安全邊界 71.2.5 Web應用程序安全的未來 81.3 小結 8第2章 核心防御機制 92.1 處理用戶訪問 92.1.1 身份驗證 102.1.2 會話管理 102.1.3 訪問控制 112.2 處理用戶輸入 122.2.1 輸入的多樣性 122.2.2 輸入處理方法 132.2.3 邊界確認 142.2.4 多步確認與規範化 162.3 處理攻擊者 172.3.1 處理錯誤 172.3.2 維護審計日志 182.3.3 向管理員發出警報 192.3.4 應對攻擊 192.4 管理應用程序 202.5 小結 212.6 問題 21第3章 Web應用程序技術 223.1 HTTP 223.1.1 HTTP請求 223.1.2 HTTP響應 233.1.3 HTTP方法 243.1.4 URL 253.1.5 HTTP消息頭 263.1.6 cookie 273.1.7 狀態碼 283.1.8 HTTPS 293.1.9 HTTP代理 293.1.10 HTTP驗證 293.2 Web功能 303.2.1 服務器端功能 303.2.2 客戶端功能 323.2.3 狀態與會話 353.3 編碼方案 363.3.1 URL編碼 363.3.2 Unicode編碼 363.3.3 HTML編碼 373.3.4 Base64編碼 373.3.5 十六進制編碼 383.4 下一步 383.5 問題 38第4章 解析應用程序 394.1 枚舉內容與功能 394.1.1 Web抓取 394.1.2 用戶指定的抓取 414.1.3 發現隱藏的內容 434.1.4 應用程序頁面與功能路徑 504.1.5 發現隱藏的參數 514.2 分析應用程序 524.2.1 確定用戶輸入進入點 524.2.2 確定服務器端技術 534.2.3 確定服務器端功能 584.2.4 解析受攻擊面 604.3 小結 604.4 問題 61第5章 避開客戶端控件 625.1 通過客戶端傳送數據 625.1.1 隱藏表單字段 625.1.2 HTTP cookie 645.1.3 URL參數 655.1.4 Referer消息頭 655.1.5 模糊數據 665.1.6 ASP.NET ViewState 675.2 收集用戶數據︰HTML表單 705.2.1 長度限制 705.2.2 基于腳本的確認 715.2.3 禁用的元素 735.3 收集用戶數據︰厚客戶端組件 745.3.1 Java applet 745.3.2 ActiveX控件 805.3.3 Shockwave Flash對象 845.4 安全處理客戶端數據 875.4.1 通過客戶傳送數據 875.4.2 確認客戶生成的數據 885.4.3 日志與警報 895.5 小結 895.6 問題 89第6章 攻擊驗證機制 916.1 驗證技術 916.2 驗證機制設計缺陷 926.2.1 密碼保密性不強 926.2.2 蠻力攻擊登錄 936.2.3 詳細的失敗消息 956.2.4 證書傳輸易受攻擊 976.2.5 密碼修改功能 986.2.6 忘記密碼功能 996.2.7 “記住我”功能 1016.2.8 用戶偽裝功能 1026.2.9 證書確認不完善 1046.2.10 非唯一性用戶名 1046.2.11 可預測的用戶名 1056.2.12 可預測的初始密碼 1056.2.13 證書分配不安全 1066.3 驗證機制執行缺陷 1076.3.1 故障開放登錄機制 1076.3.2 多階段登錄機制中的缺陷 1086.3.3 不安全的證書存儲 1106.4 保障驗證機制的安全 1116.4.1 使用可靠的證書 1116.4.2 安全處理證書 1116.4.3 正確確認證書 1126.4.4 防止信息泄露 1136.4.5 防止蠻力攻擊 1146.4.6 防止濫用密碼修改功能 1166.4.7 防止濫用賬戶恢復功能 1166.4.8 日志、監控與通知 1176.5 小結 1176.6 問題 118第7章 攻擊會話管理 1197.1 狀態要求 1197.2 會話令牌生成過程中的薄弱環節 1227.2.1 令牌有一定含義 1227.2.2 令牌可預測 1247.3 會話令牌處理中的薄弱環節 1307.3.1 在網絡上泄露令牌 1307.3.2 在日志中泄露令牌 1337.3.3 令牌-會話映射易受攻擊 1357.3.4 會話終止易受攻擊 1367.3.5 客戶暴露在令牌劫持風險之中 1377.3.6 寬泛的cookie範圍 1387.4 保障會話管理的安全 1407.4.1 生成強大的令牌 1407.4.2 在整個生命周期保障令牌的安全 1427.4.3 日志、監控與警報 1447.5 小結 1457.6 問題 145第8章 攻擊訪問控制 1478.1 常見漏洞 1478.1.1 完全不受保護的功能 1488.1.2 基于標識符的功能 1498.1.3 多階段功能 1508.1.4 靜態文件 1508.1.5 訪問控制方法不安全 1518.2 攻擊訪問控制 1518.3 保障訪問控制的安全 1548.4 小結 1588.5 問題 158第9章 代碼注入 1599.1 注入解釋型語言 1599.2 注入SQL 1609.2.1 利用一個基本的漏洞 1619.2.2 避開登錄 1639.2.3 查明SQL注入漏洞 1649.2.4 注入不同的語句類型 1669.2.5 UNION操作符 1689.2.6 “指紋識別”數據庫 1729.2.7 提取有用的數據 1729.2.8 利用ODBC錯誤消息(僅適用于MS-SQL) 1779.2.9 避開過濾 1809.2.10 二階SQL注入 1839.2.11 高級利用 1849.2.12 SQL注入之外︰擴大數據庫攻擊範圍 1939.2.13 SQL語法與錯誤參考 1959.2.14 防止SQL注入 2009.3 注入操作系統命令 2029.3.1 例1︰通過Perl注入 2039.3.2 例2︰通過ASP注入 2049.3.3 查找OS命令注入漏洞 2059.3.4 防止OS命令注入 2079.4 注入Web腳本語言 2089.4.1 動態執行漏洞 2089.4.2 文件包含漏洞 2109.4.3 防止腳本注入漏洞 2119.5 注入SOAP 2129.5.1 查找並利用SOAP注入 2139.5.2 防止SOAP注入 2149.6 注入XPath 2149.6.1 破壞應用程序邏輯 2159.6.2 謹慎XPath注入 2169.6.3 盲目XPath注入 2169.6.4 查找XPath注入漏洞 2179.6.5 防止XPath注入 2189.7 注入SMTP 2189.7.1 操縱電子郵件消息頭 2189.7.2 SMTP命令注入 2199.7.3 查找SMTP注入漏洞 2219.7.4 防止SMTP注入 2229.8 注入LDAP 2229.8.1 注入查詢屬性 2239.8.2 修改查詢過濾器 2249.8.3 查找LDAP注入漏洞 2249.8.4 防止LDAP注入 2259.9 小結 2259.10 問題 225第10章 利用路徑遍歷 22710.1 常見漏洞 22710.2 查找並利用路徑遍歷漏洞 22810.2.1 確定攻擊目標 22810.2.2 探查路徑遍歷漏洞 22910.2.3 避開遍歷攻擊障礙 23110.2.4 利用遍歷漏洞 23410.3 防止路徑遍歷漏洞 23410.4 小結 23510.5 問題 236第11章 攻擊應用程序邏輯 23711.1 邏輯缺陷的本質 23711.2 現實中的邏輯缺陷 23811.2.1 例1︰欺騙密碼修改功能 23811.2.2 例2︰直接結算 23911.2.3 例3︰修改保險單 24011.2.4 例4︰入侵銀行 24111.2.5 例5︰擦除審計追蹤 24311.2.6 例6︰規避交易限制 24411.2.7 例7︰獲得大幅折扣 24511.2.8 例8︰避免轉義 24511.2.9 例9︰濫用搜索功能 24711.2.10 例10︰利用調試消息 24811.2.11 例11︰與登錄機制競賽 24911.3 避免邏輯缺陷 25011.4 小結 25111.5 問題 252第12章 攻擊其他用戶 25312.1 跨站點腳本 25412.1.1 反射型XSS漏洞 25412.1.2 保存型XSS漏洞 25912.1.3 基于DOM的XSS漏洞 26112.1.4 現實世界中的XSS攻擊 26212.1.5 鏈接XSS與其他攻擊 26412.1.6 XSS攻擊有效載荷 26512.1.7 XSS攻擊的傳送機制 27012.1.8 查找並利用XSS漏洞 27112.1.9 HttpOnly cookie與跨站點追蹤 28512.1.10 防止XSS攻擊 28712.2 重定向攻擊 29012.2.1 查找並利用重定向漏洞 29112.2.2 防止重定向漏洞 29412.3 HTTP消息頭注入 29412.3.1 利用消息頭注入漏洞 29512.3.2 防止消息頭注入漏洞 29712.4 框架注入 29812.4.1 利用框架注入 29812.4.2 防止框架注入 29912.5 請求偽造 29912.5.1 本站點請求偽造 29912.5.2 跨站點請求偽造 30112.6 JSON劫持 30312.6.1 JSON 30312.6.2 攻擊JSON 30412.6.3 查找JSON劫持漏洞 30512.6.4 防止JSON劫持 30612.7 會話固定 30612.7.1 查找並利用會話固定漏洞 30812.7.2 防止會話固定漏洞 30912.8 攻擊ActiveX控件 30912.8.1 查找ActiveX漏洞 31012.8.2 防止ActiveX漏洞 31212.9 本地隱私攻擊 31212.9.1 持久性cookie 31212.9.2 緩存Web內容 31212.9.3 瀏覽歷史記錄 31312.9.4 自動完成 31312.9.5 防止本地隱私攻擊 31412.10 高級利用技巧 31412.10.1 利用Ajax 31412.10.2 反DNS Pinning 31712.10.3 瀏覽器利用框架 31912.11 小結 32012.12 問題 321第13章 定制攻擊自動化 32213.1 應用定制自動化攻擊 32213.2 枚舉有效的標識符 32313.2.1 基本步驟 32313.2.2 探測“觸點” 32413.2.3 編寫攻擊腳本 32513.2.4 JAttack 32613.3 獲取有用的數據 33113.4 常見漏洞模糊測試 33413.5 整合全部功能︰Burp Intruder 33713.6 小結 34413.7 問題 345第14章 利用信息泄露 34614.1 利用錯誤消息 34614.1.1 錯誤消息腳本 34614.1.2 棧追蹤 34714.1.3 詳盡的調試消息 34814.1.4 服務器與數據庫消息 34914.1.5 使用公共信息 35014.1.6 制造詳盡的錯誤消息 35114.2 收集公布的信息 35114.3 使用推論 35214.4 防止信息泄露 35314.4.1 使用常規錯誤消息 35314.4.2 保護敏感信息 35414.4.3 盡量減少客戶端信息泄露 35414.5 小結 35414.6 問題 355第15章 攻擊編譯型應用程序 35715.1 緩沖區溢出漏洞 35715.1.1 棧溢出 35815.1.2 堆溢出 35815.1.3 “一位偏移”漏洞 35915.1.4 查找緩沖區溢出漏洞 36115.2 整數漏洞 36215.2.1 整數溢出 36215.2.2 符號錯誤 36315.2.3 查找整數漏洞 36315.3 格式化字符串漏洞 36415.4 小結 36515.5 問題 366第16章 攻擊應用程序架構 36716.1 分層架構 36716.1.1 攻擊分層架構 36816.1.2 保障分層架構的安全 37016.2 共享主機與應用程序服務提供商 37116.2.1 虛擬主機 37216.2.2 共享的應用程序服務 37216.2.3 攻擊共享環境 37316.2.4 保障共享環境的安全 37616.3 小結 37816.4 問題 378第17章 攻擊Web服務器 37917.1 Web服務器配置缺陷 37917.1.1 默認證書 37917.1.2 默認內容 38017.1.3 目錄列表 38317.1.4 危險的HTTP方法 38417.1.5 Web服務器作為代理服務器 38517.1.6 虛擬主機配置缺陷 38717.1.7 保障Web服務器配置的安全 38717.2 Web服務器軟件漏洞 38817.2.1 緩沖區溢出漏洞 38817.2.2 路徑遍歷漏洞 38917.2.3 編碼與規範化漏洞 38917.2.4 查找Web服務器漏洞 39117.2.5 保障Web服務器軟件的安全 39217.3 小結 39317.4 問題 393第18章 查找源代碼中的漏洞 39418.1 代碼審查方法 39418.1.1 “黑盒”測試與“白盒”測試 39418.1.2 代碼審查方法 39518.2 常見漏洞簽名 39618.2.1 跨站點腳本 39618.2.2 SQL注入 39718.2.3 路徑遍歷 39718.2.4 任意重定向 39818.2.5 OS命令注入 39918.2.6 後門密碼 39918.2.7 本地代碼漏洞 39918.2.8 源代碼注釋 40118.3 Java平台 40118.3.1 確定用戶提交的數據 40118.3.2 會話交互 40218.3.3 潛在危險的API 40218.3.4 配置Java環境 40518.4 ASP.NET 40618.4.1 確定用戶提交的數據 40618.4.2 會話交互 40718.4.3 潛在危險的API 40718.4.4 配置ASP.NET環境 41018.5 PHP 41018.5.1 確定用戶提交的數據 41118.5.2 會話交互 41218.5.3 潛在危險的API 41218.5.4 配置PHP環境 41618.6 Perl 41818.6.1 確定用戶提交的數據 41818.6.2 會話交互 41818.6.3 潛在危險的API 41918.6.4 配置Perl環境 42018.7 JavaScript 42118.8 數據庫代碼組件 42118.8.1 SQL注入 42218.8.2 調用危險的函數 42218.9 代碼瀏覽工具 42318.10 小結 42418.11 問題 424第19章 Web應用程序黑客工具包 42619.1 Web瀏覽器 42619.1.1 Internet Explorer 42619.1.2 Firefox 42719.1.3 Opera 42819.2 集成測試套件 42919.2.1 工作原理 42919.2.2 特性比較 43919.2.3 攔截代理服務器替代工具 44319.3 漏洞掃描器 44519.3.1 掃描器探測到的漏洞 44519.3.2 掃描器的內在限制 44719.3.3 掃描器面臨的技術挑戰 44819.3.4 當前產品 44919.3.5 使用漏洞掃描器 45119.4 其他工具 45119.4.1 Nikto 45119.4.2 Hydra 45219.4.3 定制腳本 45219.5 小結 454第20章 Web應用程序滲透測試方法論 456

章节摘录

  第1章 Web應用程序安全與風險  Web應用程序安全無疑是當務之急,也是值得關注的話題。對相關各方而言,這一問題都至關重要。這里的相關各方包括因特網業務收入日益增長的公司、向web應用程序托付敏感信息的用戶,以及通過竊取支付信息或入侵銀行賬戶偷竊巨額資金的犯罪分子。可靠的信譽也非常重要,沒人願意與不安全的web站點進行交易,也沒有組織願意披露有關其安全方面的漏洞或違規行為的詳細情況。因此,獲取當前web應用程序安全狀況的可靠信息不可小視。  本章簡要介紹web應用程序的發展歷程及它們提供的諸多優點,並且列舉我們親身體驗過的在目前web應用程序中存在的漏洞,這些漏洞表明絕大多數應用程序還遠遠不夠安全。本章還將描述web應用程序面臨的核心安全問題(即用戶可提交任意輸入的問題),以及造成安全問題的各種因素。最後討論web應用程序安全方面的最新發展趨勢,並預測其未來的發展方向。  1.1 Web應用程序的發展歷程  在因特網發展的早期階段,萬維網(world Wideweb)僅由web站點構成,這些站點基本上是包含靜態文檔的信息庫。隨後人們發明了web瀏覽器,通過它來提取和顯示那些文檔,如圖1.1所示。這種相關信息流僅由服務器向瀏覽器單向傳送。多數站點並不驗證用戶的合法性,因為根本沒有必要這樣做;所有用戶同等對待,收取同樣的信息。創建一個web站點所帶來的安全威脅主要與web服務器軟件的(諸多)漏洞有關。攻擊者入侵web站點並不能獲取任何敏感信息,因為服務器上保存的信息可以公開查看。

编辑推荐

  跟安全技术大师学习黑客攻防技术,全面分析Web应用程序安全漏洞,大量实例和代码片段。  越来越多的关键应用现在已经迁移到网站上,这些Web应用的安全已经成为各机构的重要挑战。知己知彼,方能百战不殆。只有了解Web应用程序中存在的可被利用的漏洞和攻击者所采用的攻击方法,才能更有效地确保Web安全。  《黑客攻防技术宝典·Web实战篇》是Web安全领域专家的经验结晶,系统阐述了如何针对Web应用程序展开攻击与反攻击,详细剖析了攻击时所使用的技巧、步骤和工具,条理清晰,内容全面,几乎涵盖了所有Web核心技术以及Web应用程序的核心功能,另外还为读者提供了作者自己开发的几个探查漏洞的工具,是一本难得一见的黑客技术实用宝典。

图书封面




    黑客攻防技術寶典下載



用户评论 (总计0条)

 
 

 

計算機與互聯網 PDF免费下载,計算機安全PDF免费下载。 计算机教程网 

计算机教程网 @ 2017