黑客攻防技術寶典:Web實戰篇(第2版)與第1版的區別

出版圈郭志敏發表於2012-06-19

第1版出版4年以來,許多事情發生了改變,而許多事情仍保持原狀。當然,新技術繼續高速發展,這引發了各種新型漏洞和攻擊。同時,黑客們還開發出了新的攻擊技術,設計了利用舊有漏洞的新方法。但是,這些技術或人為因素都不可能引發革命。今天應用程式採用的技術早在許多年前就已經確立,現今的先進攻擊技術所蘊涵的基本概念也早在高效應用這些技術的許多研究人員出生之前就已經成形。Web應用程式安全是一個動態且充滿活力的研究領域,但多年來,人類積累的智慧也在緩慢進化,因此,當前的技術狀況與10年或更久以前的情況截然不同。

第2版並不是對第1版的徹底改寫,第1版的大部分內容,現在仍然適用。第2版約30%的內容為新增內容或改動很大,剩餘70%的內容僅有小幅改動或未作任何修改。如果讀者購買了本書,但對這些改動感到失望,請不要放棄。如果你已經掌握了第Ⅰ版中介紹的所有技巧,說明你已經學會所需的絕大部分技能和知識。這樣的話,你就可以集中精力學習本書的新增內容,迅速瞭解Web應用程式安全領域近年來的發展變化情況。

第2版的一個顯著特點是,在整本書中提供了所介紹的幾乎所有漏洞的真實示例。讀者可以使用“嘗試訪問”連結以互動方式線上執行書中討論的示例,以確認可以發現並利用其中包含的漏洞。書中提供了幾百個“示例實驗室”,讀者可以根據自己閱讀本書的進度逐個訪問這些“實驗室”。訪問這些線上“實驗室”需要支付一定的訂閱費用,這些費用主要用於管理和維護相關基礎設施。

如果讀者希望集中精力學習第2版中的新增內容,以下是對新增或改寫內容的彙總。

第1章僅部分內容有所改動,將介紹Web應用程式的新應用、技術領域的一些顯著趨勢,以及組織的典型安全邊界將如何繼續發展變化。

第2章僅有小幅改動,新增內容將介紹幾個用於避開輸入確認防禦的常規技巧示例。

第3章增加了幾節新內容,主要介紹各種新技術及已在第1版中簡要介紹的技術。新增的主題包括REST、Ruby on Rails、SQL、XML、Web服務、CSS、VBScript、文件物件模型、Ajax、JSON、同源策略和HTML5。

第4章僅有少量更新,以反映用於解析內容和功能的技術的發展趨勢。

第5章進行了進行大幅改動。具體來說,基本上重新編寫了有關瀏覽器擴充套件技術的幾節內容,詳細介紹了反編譯和除錯位元組碼的常規方法、如何處理常規格式的序列化資料,以及如何處理滲透測試過程中遇到的常見問題,包括不支援代理的客戶端和SSL問題。本章還將介紹Silverlight技術。

第6章內容與現今情況保持一致,僅有小幅改動。

第7章新增內容主要介紹自動測試令牌隨機性的新工具。本章還包含有關攻擊加密令牌的新內容,包括如何在不瞭解所使用的加密演算法或加密金鑰的情況下篡改令牌的實用技巧。

第8章將介紹一些訪問控制漏洞,包括由直接訪問伺服器端方法以及平臺配置不當(將基於HTTP的方法用於執行訪問控制)導致的漏洞。本章還將介紹一些新工具和技巧,可在一定程度上自動完成測試訪問控制的繁瑣任務。

第9章和第10章的內容經過重組,因而變得更易於管理,其章節安排也更符合邏輯。第9章主要介紹針對其他資料儲存技術的SQL隱碼攻擊和其他類似攻擊。由於SQL隱碼攻擊漏洞已廣為人知,並且在很大程度上得到了解決,因此,本章將著重介紹現在仍然可以發現SQL隱碼攻擊漏洞的實際情形。本章的其他內容也有小幅改動,將介紹當前的技術和攻擊方法。同時,本章還新增了一節內容,用於說明如何使用自動化工具來利用SQL隱碼攻擊漏洞。有關LDAP注入的內容經過大幅改動,以更詳細地介紹特定技術(Microsoft Active Directory和OpenLDAP),以及利用常見漏洞的新技巧。此外,本章還將介紹針對NoSQL的攻擊。

第10章討論以前在第1版第9章中介紹的其他型別的伺服器端注入漏洞。新增內容主要介紹XML外部實體注入和注入後端HTTP請求,包括HTTP引數注入/汙染和注入URL改寫方案。

第11章將提供更多常見輸入確認功能邏輯缺陷的例項。由於越來越多的應用程式採用加密來保護靜態資料,本章還將介紹如何確定並利用加密提示來解密加密資料的示例。

第1版的第12章主要介紹針對其他應用程式使用者的攻擊。第2版將這一章內容放到了兩章中,因為這些內容過於繁雜,不易管理。第12章主要討論XSS,相關內容經過大幅改動。有關如何避開防禦過濾以插入指令碼程式碼的內容已完全重寫,主要介紹一些新技術和新技巧,包括在當前瀏覽器中執行指令碼程式碼的各種鮮為人知的方法。同時,本章還將更詳細地介紹如何對指令碼程式碼進行模糊處理,以避開常用的輸入過濾的方法。本章還將介紹一些現實中新出現的XSS攻擊示例。新增一節內容介紹瞭如何在充滿挑戰的情況下實施有效的XSS攻擊,涵蓋如何將攻擊擴散到所有應用程式頁面、如何通過cookie和Referer訊息頭利用XSS,以及如何在XML等非標準請求和響應內容中利用XSS。此外,本章還將分析瀏覽器的內建XSS過濾器,以及如何避開這些過濾器來實施攻擊。新增幾節還將討論在Web郵件應用程式和上傳檔案中利用XSS的特定技巧。本章最後介紹可用於阻止XSS攻擊的各種新的防禦措施。

第13章為新增的一章,介紹“攻擊使用者”這一涉及廣泛的主題的其他內容。有關跨站點請求偽造的主題經過更新,將介紹針對登入功能的攻擊、反CSRF防禦中的常見缺陷、UI偽裝攻擊,以及破壞框架防禦中的常見缺陷。跨域捕獲資料一節(13.2節)節將介紹如何通過注入包含非指令碼HTML和CSS的文字來竊取資料的技巧,以及各種使用JavaScript和E4X跨域捕獲資料的技巧。新增一節更詳細地介紹同源策略,包括其在不同瀏覽器擴充套件技術中的實施情況、HTML5帶來的改變,以及通過代理服務應用程式跨域操作的方法。另設新增節介紹客戶端cookie注入、SQL隱碼攻擊和HTTP請求汙染。有關客戶端隱私攻擊的內容經過擴充,將介紹瀏覽器擴充套件技術和HTML5提供的儲存機制。最後,另一個新增節將集中介紹不依賴任何特殊應用程式中的漏洞、針對Web使用者的攻擊。這些攻擊可以由任何惡意或已被攻破的Web站點,或位於網路中的適當位置的攻擊者實施。

第14章新增部分內容介紹自動化攻擊過程中遇到的常見障礙,以及如何克服這些障礙。許多應用程式採用防禦性的會話處理機制來終止會話,使用臨時的反CSRF令牌,或使用多階段過程來更新應用程式狀態。本章將介紹一些處理這類機制的新工具,以便於繼續應用自動化測試技巧。新增章節將介紹CAPTCHA控制元件,以及一些通常能夠加以利用來破解這些控制元件的常見漏洞。

第15章包含有關錯誤訊息中的XSS及利用解密提示的新章節。

第16章未進行任何更新。

第17章中的新增節主要介紹基於雲的體系架構中的漏洞,並更新了有關如何利用體系架構弱點的示例。

第18章包含在應用程式伺服器和平臺中發現的一些有趣的新漏洞示例。這些伺服器和平臺包括Jetty、JMX管理控制檯、ASP.NET、Apple iDisk伺服器、Ruby WEBrick Web伺服器和Java Web伺服器。另一個新增節介紹突破Web應用程式防火牆的實用方法。

第19章未進行任何更新。

第20章的更新內容將詳細介紹基於代理的工具套件的最新功能。新增節將介紹如何傳送不支援代理的客戶端的流量,以及如何減少因使用攔截代理伺服器而在瀏覽器和其他客戶端中出現的SSL錯誤。本章還將詳細介紹使用基於代理的工具套件進行測試時通常採用的工作流程。此外,本章還將討論各種最新Web漏洞掃描器及在各種情況下使用這些掃描器的最佳方法。

第21章的更新內容將介紹在整本書中描述的新的方法論步驟。

相關文章