本書分為5篇33章,系統(tǒng)、全面地介紹了Windows平臺緩沖區(qū)溢出漏洞的分析、檢測與防護。第一篇為漏洞exploit的基礎理論和初級技術,可以引領讀者迅速入門;第二篇在第一篇的基礎上,結合國內外相關研究者的前沿成果,對漏洞技術從攻、防兩個方面進行總結;第三篇站在安全測試者的角度,討論了幾類常用軟件的漏洞挖掘方法與思路;第四篇則填補了本類書籍在Windows內核安全及相關攻防知識這個神秘領域的技術空白;第五篇以大量的0day案例分析,來幫助讀者理解前四篇的各類思想方法。本書可作為網絡安全從業(yè)人員、黑客技術發(fā)燒友的參考指南,也可作為網絡安全專業(yè)的研究生或本科生的指導用書。本書分為5篇,共33章。第1篇漏洞利用原理(初級)第1章基礎知識本章著重對漏洞挖掘中的一些基礎知識進行介紹。首先是漏洞研究中的一些基本概念和原理;然后是對Windows平臺下可執(zhí)行文件的結構和內存方面的一些基礎知識的介紹;最后介紹了一些漏洞分析中經常使用的軟件工具。包括調試工具、反匯編工具、二進制編輯工具等。您會在后面的調試實驗中反復見到這些工具的身影。在這章的最后一節(jié),我們設計了一個非常簡單的破解小實驗,用于實踐工具的應用,消除您對二進制的恐懼感,希望能夠給您帶來一些樂趣。第2章棧溢出原理與實踐基于棧的溢出是最基礎的漏洞利用方法。本章首先用大量的示意圖,深入淺出地講述了操作系統(tǒng)中函數調用、系統(tǒng)棧操作等概念和原理;隨后通過三個調試實驗逐步講解如何通過棧溢出,一步一步地劫持進程并植入可執(zhí)行的機器代碼。即使您沒有任何匯編語言基礎,從未進行過二進制級別的調試,在本章詳細的實驗指導下也能輕松完成實驗,體會到exploit的樂趣。第3章開發(fā)shellcode的藝術本章緊接第2章的討論,比較系統(tǒng)地介紹了溢出發(fā)生后,如何布置緩沖區(qū)、如何定位shellcode、如何編寫和調試shellcode等實際的問題。最后兩小節(jié)還給出了一些編寫shellcode的高級技術,供有一定匯編基礎的朋友做參考。第4章用MetaSploit開發(fā)ExploitMetaSploit是軟件工程中的FrameWork(架構)在安全技術中的完美實現,它把模塊化、繼承性、封裝等面向對象的特點在漏洞利用程序的開發(fā)中發(fā)揮得淋漓盡致。使用這個架構開發(fā)Exploit要比直接使用C語言寫出的Exploit簡單得多。本章將集中介紹如何使用這個架構進行Exploit開發(fā)。第5章堆溢出利用在很長一段時間內,Windows下的堆溢出被認為是不可利用的,然而事實并非如此。本章將用精辟的論述點破堆溢出利用的原理,讓您輕松領會堆溢出的精髓。此外,這章的一系列調試實驗將加深您對概念和原理的理解。用通俗易懂的方式論述復雜的技術是本書始終堅持的原則。第6章形形色色的內存攻擊技術在了解基本的堆棧溢出后,本章將為大家展示更為高級的內存攻擊技術。本章集中介紹了一些曾發(fā)表于BlackHat上的著名論文中所提出的高級利用技術,如狙擊Windows異常處理機制、攻擊虛函數、off by one、 HeapSpray等利用技巧。對于安全專家,了解這些技巧和手法不至于在分析漏洞時錯把可以利用的漏洞誤判為低風險類型;對于黑客技術愛好者,這些知識很可能成為激發(fā)技術靈感的火花。第7章手機里的緩沖區(qū)溢出在PC機上的溢出攻擊進行的如火如荼的時候,您是否也想了解手機平臺上的緩沖區(qū)溢出問題?那就不要錯過本章!本章以ARM和WindowsMobile為例,介紹手機平臺上編程和調試技巧。并在最后以一個手機上的exploitme為大家揭開手機里緩沖區(qū)溢出的神秘面紗。第8章其他類型的軟件漏洞緩沖區(qū)溢出漏洞只是軟件漏洞的一個方面,我們來看看其他一些流行的安全漏洞。如格式化串漏洞、SQL注入、XPath注入、XSS等安全漏洞產生的原因、利用技巧及防范措施。第2篇漏洞利用原理(高級)第9章Windows安全機制概述微軟在Windows XP SP2和Windows2003之后,向操作系統(tǒng)中加入了許多安全機制。本章將集中討論這些安全機制對漏洞利用的影響。第10章棧中的守護天使:GS針對緩沖區(qū)溢出時覆蓋函數返回地址這一特征,微軟在編譯程序時使用了一個很酷的安全編譯選項——GS。本章將對GS編譯選項的原理進行詳細介紹,并介紹幾種繞過GS的溢出技巧。第11章亡羊補牢:SafeSEH攻擊S.E.H已經成為windows平臺下漏洞利用的經典手法。為了遏制日益瘋狂的攻擊,微軟在Windows XPSP2及后續(xù)版本的操作系統(tǒng)中引入了著名的S.E.H校驗機制SafeSEH。本章將會對這一安全機制進行詳細的分析,并介紹其中的不足和繞過方法。第12章數據與程序的分水嶺:DEP溢出攻擊的根源在于現代計算機對數據和代碼沒有明確區(qū)分這一先天缺陷,而DEP這種看似釜底抽薪式的防護措施是否真的可以杜絕溢出攻擊呢?答案馬上揭曉。第13章在內存中躲貓貓:ASLR程序加載時不再使用固定的基址加載,ASLR技術將溢出時使用的跳板在內存中隱藏了起來,沒有了跳板我們如何溢出呢?本章將帶領您在黑暗中尋找溢出的出口。第14章S.E.H終極防護:SEHOPSafeSEH的敗北,讓微軟推出一種更為嚴厲的S.E.H保護機制SEHOP。這里將為您展示這種保護機制的犀利之處。第15章重重保護下的堆當堆溢出變成可能后,微軟不能再無視堆中的保護機制了,讓我們一覽堆中的保護機制,并分析其漏洞。第3篇漏洞挖掘技術第16章漏洞挖掘技術簡介不論從工程上講還是從學術上講,漏洞挖掘都是一個相當前沿的領域。本章將從動態(tài)測試和靜態(tài)審計兩方面對漏洞挖掘技術的基礎知識進行簡單的介紹。第17章文件類型漏洞挖掘與Smart Fuzz文件類型的漏洞層出不窮,持續(xù)威脅著互聯(lián)網的安全。如何系統(tǒng)的測試文件格式,產生精確有效的畸形測試用例用以發(fā)掘文件解析器的安全漏洞,并不是一件容易的事情。本章將從理論和實踐兩個方面向您講述灰盒測試技術。第18章FTP的漏洞挖掘本章將簡述FTP協(xié)議,并手把手地帶領您完成幾個初級的漏洞測試案例,讓您親身體會下真實的漏洞長什么模樣。第19章E-mail的漏洞挖掘E-mail系統(tǒng)涉及的安全問題不光只有緩沖區(qū)溢出,在本章的挖掘案例中,您會發(fā)現除了工具和常用方法外,威力最為強大的武器還是您的大腦。Evilthinking是安全測試中最重要的思維方式之一。第20章ActiveX控件的漏洞挖掘控件類漏洞曾經是大量網馬的棲身之地。本章將結合若干個曾經的0day向您比較系統(tǒng)的介紹這類漏洞的測試、調試的相關工具和方法。第4篇操作系統(tǒng)內核安全第21章探索ring0研究內核漏洞,需要首先掌握一些內核基礎知識,例如內核驅動程序的開發(fā)、編譯、運行和調試,內核中重要的數據結構等,本章將為讀者開啟探索ring0之門,逐步掌握一些內核基礎知識。第22章內核漏洞利用技術本章將帶領讀者從一個簡單的內核漏洞程序exploitme.sys的編寫開始,展示內核漏洞利用的思路、方法,以及利用程序和Ring0Shellcode的編寫和設計。第23章FUZZ驅動程序掌握了內核漏洞的原理和利用方法,本章將進入內核漏洞挖掘階段,學習較為高級的內核漏洞挖掘技術,最后實踐該漏洞挖掘技術,分析挖掘出內核漏洞。第24章內核漏洞案例分析本章對幾種典型的內核漏洞,用幾個真實的內核漏洞案例來詳細分析,分析漏洞造成的具體原因和細節(jié),并構造漏洞成功利用的方法。第5篇漏洞分析案例第25章漏洞分析技術概述本章縱覽了漏洞分析與調試的思路,并介紹了一些輔助漏洞調試分析的高級逆向工具。第26章RPC入侵:MS06-040 與MS08-067由于可以做到主動式遠程入侵,RPC級別的漏洞被譽為漏洞中的王者,此類漏洞也極其稀有,每一個都有一段曲折的故事。值得一提的是最近的兩個RPC系統(tǒng)漏洞竟然出自同一個函數。本章將對這個縫來補去沒有修好的函數進行詳細分析,讓您從攻防兩方面深刻理解漏洞的起因和修復策略的重要性。第27章MS06-055分析:實戰(zhàn)Heap Spray通過網頁“掛馬”是近年來攻擊者慣用的手法。本章通過分析微軟IE瀏覽器中真實的緩沖區(qū)溢出漏洞,告訴您為什么不能隨便點擊來歷不明的URL鏈接,并在實戰(zhàn)中為大家演示HeapSpray技術。第28章MS09-032分析:一個“&”引發(fā)的血案 一個視頻網頁的背后可能是一只兇狠的木馬,這就是著名的Microsoft DirectShowMPEG-2視頻ActiveX控件遠程代碼執(zhí)行漏洞。本章將為您分析該漏洞產生的原因及分析技巧。第29章Yahoo!Messenger棧溢出漏洞 在波濤洶涌的溢出大潮中Yahoo也沒能幸免,作為國外非常流行的Yahoo!Messenger也存在過非常嚴重的漏洞。本章將重現當時的場景,并分析漏洞產生的原因。第30章CVE-2009-0927:PDF中的JS 您可能不會隨便運行一個可執(zhí)行文件,但是您會想到別人發(fā)過來的PDF文檔中也有可能隱藏著一些東西嗎?本章將以PDF文檔為例,帶您領略文件類型溢出漏洞的風采。第31章壩之蟻穴:超長URL溢出漏洞 安全軟件不一定安全,即便是這款保護未成年人健康上網的計算機終端過濾軟件,也有可能成為黑客攻擊的窗口。本章將介紹綠壩軟件中一個已經被修復了的安全漏洞。第32章暴風影音M3U文件解析漏洞 晚上回家后用暴風影音打開別人發(fā)過來的M3U列表文件,在你陶醉于其內容之時,一只精干的小馬已悄然在后臺運行。想要了解這只小馬是如何進入你的電腦的?請閱讀本章。第33章LNK快捷方式文件漏洞是否我不去運行任何可疑文件,不去打開陌生的網址就安全了呢?答案是否定。LNK快捷方式漏洞無需打開文件,只要瀏覽惡意文件,所在文件夾就會中毒,俗稱“看一眼就掛”。本章將帶您分析這一神奇的漏洞。