黑客大曝光

出版時(shí)間:2008-6  出版社:電子工業(yè)出版社  作者:(美)斯卡姆布雷,(美)施瑪,(美)西瑪 著  頁數(shù):462  字?jǐn)?shù):512000  
Tag標(biāo)簽:無  

前言

  經(jīng)過近一年的辛苦工作,《黑客大曝光——Web應(yīng)用安全機(jī)密與解決方案(第2版)》的翻譯終于告一段落。看著厚厚的書稿,無疑有一些輕松的感覺。正是“納清風(fēng)臺榭開懷,傍流水亭軒賞心?!薄 ∮浀盟哪昵埃约旱牡谝槐緯毒彌_區(qū)溢出教程》出版時(shí),漏洞滿天飛,蠕蟲肆虐,肉雞成群。幾年過去了,現(xiàn)在可喜地看到,政府、企業(yè)、網(wǎng)管的安全意識越來越強(qiáng),安全措施越來越完善,安全技術(shù)也水漲船高,利用一個(gè)漏洞掃描器就可以忽悠單子的時(shí)代一去不復(fù)返了。不過,安全所處的大環(huán)境也急劇地變化,新型的網(wǎng)絡(luò)應(yīng)用越來越多,電子商務(wù)越來越發(fā)達(dá);而另一

內(nèi)容概要

在網(wǎng)絡(luò)技術(shù)和電子商務(wù)飛速發(fā)展的今天,Web應(yīng)用安全面臨著前所未有的挑戰(zhàn)。本書凝聚了作者們超過30年的Web安全從業(yè)經(jīng)驗(yàn),詳細(xì)剖析了Web應(yīng)用的安全漏洞,攻擊手法和對抗措施,一步步的教授如何防御邪惡的攻擊,并協(xié)助讀者理解黑客的思考過程。    本書分為13章,書后帶有附錄和詳細(xì)的英漢對照索引。本書是網(wǎng)絡(luò)管理員、系統(tǒng)管理員的必備寶典,也是電子商務(wù)從業(yè)者、網(wǎng)絡(luò)愛好者和企業(yè)管理者的參考書籍。

作者簡介

Joel Scambray擁有信息系統(tǒng)安全專家認(rèn)證(CISSP),有15年的信息安全經(jīng)驗(yàn),包括:在微軟和安永國際會計(jì)公司擔(dān)任高級管理角色,與人創(chuàng)辦Foundstone公司,擔(dān)任“財(cái)富500強(qiáng)”企業(yè)的技術(shù)顧問,與人合著“黑客大曝光”(Hacking Exposed)系列暢銷書。
  Mike Shema是NT Object

書籍目錄

第1章 Web應(yīng)用攻擊的基礎(chǔ)知識 1.1 什么是Web應(yīng)用攻擊  1.1.1 GUI Web攻擊  1.1.2 URI攻擊  1.1.3 請求方法、請求頭和數(shù)據(jù)體  1.1.4 資源  1.1.5 認(rèn)證,會話和授權(quán)  1.1.6 Web客戶端和HTML  1.1.7 其他協(xié)議 1.2 為什么攻擊Web應(yīng)用 1.3 何人、何時(shí)、何地攻擊Web應(yīng)用  1.3.1 安全薄弱點(diǎn) 1.4 如何攻擊Web應(yīng)用程序  1.4.1 Web瀏覽器  1.4.2 瀏覽器擴(kuò)展  1.4.3 HTTP代理  1.4.4 命令行工具  1.4.5 一些老工具 1.5 小結(jié) 1.6 參考和進(jìn)一步閱讀第2章 剖析 2.1 架構(gòu)剖析  2.1.1 踩點(diǎn)和掃描:定義范圍  2.1.2 Banner抓取  2.1.3 高級HTTP指紋  2.1.4 中間件架構(gòu) 2.2 應(yīng)用剖析  2.2.1 手工檢測  2.2.2 使用搜索工具進(jìn)行剖析  2.2.3 自動(dòng)Web爬行工具  2.2.4 常見Web應(yīng)用剖析 2.3 常用對抗措施  2.3.1 一條警示  2.3.2 保護(hù)目錄  2.3.3 保護(hù)包含文件  2.3.4 一些其他技巧 2.4 小結(jié) 2.5 參考和進(jìn)一步閱讀第3章 攻擊Web平臺 3.1 使用Metasploit進(jìn)行點(diǎn)擊式的漏洞利用 3.2 手工漏洞利用 3.3 檢測繞過技術(shù) 3.4 Web平臺安全最佳實(shí)踐  3.4.1 通用最佳實(shí)踐  3.4.2 IIS加固  3.4.3 加固Apache  3.4.4 PHP最佳實(shí)踐 3.5 小結(jié) 3.6 參考和進(jìn)一步閱讀第4章 攻擊Web認(rèn)證 4.1 認(rèn)證威脅  4.1.1 用戶名/密碼威脅  4.1.2 更強(qiáng)的Web認(rèn)證  4.1.3 Web認(rèn)證服務(wù) 4.2 繞過認(rèn)證  4.2.1 令牌重放  4.2.2 身份管理  4.2.3 利用客戶端  4.2.4 最后一些思考:身份竊取 4.3 小結(jié) 4.4 參考和進(jìn)一步閱讀第5章 攻擊Web授權(quán) 5.1 授權(quán)實(shí)現(xiàn)的指紋識別  5.1.1 爬行ACL  5.1.2 識別訪問/會話令牌  5.1.3 分析會話令牌  5.1.4 差異分析  5.1.5 角色矩陣 5.2 攻擊ACL 5.3 攻擊令牌  5.3.1 手動(dòng)預(yù)測  5.3.2 自動(dòng)預(yù)測  5.3.3 捕獲/重放  5.3.4 會話定置 5.4 授權(quán)攻擊案例分析  5.4.1 水平權(quán)限提升  5.4.2 垂直權(quán)限提升  5.4.3 差異分析  5.4.4 使用Curl映射許可 5.5 授權(quán)最佳實(shí)踐  5.5.1 Web ACL最佳實(shí)踐  5.5.2 Web授權(quán)/會話令牌安全  5.5.3 安全日志 5.6 小結(jié) 5.7 參考和進(jìn)一步閱讀第6章 輸入驗(yàn)證攻擊 6.1 預(yù)料意外的情況 6.2 在哪里尋找攻擊載體 6.3 繞過客戶端驗(yàn)證 6.4 常見的輸入驗(yàn)證攻擊  6.4.1 緩沖區(qū)溢出  6.4.2 轉(zhuǎn)義攻擊  6.4.3 腳本攻擊  6.4.4 邊界檢查  6.4.5 操縱應(yīng)用程序行為  6.4.6 SQL注入和數(shù)據(jù)存儲攻擊  6.4.7 執(zhí)行命令  6.4.8 編碼濫用  6.4.9 PHP全局變量  6.4.10 常見的后果 6.5 小結(jié) 6.6 參考和進(jìn)一步閱讀第7章 攻擊Web數(shù)據(jù)存儲 7.1 SQL入門  7.1.1 語法  7.1.2 SELECT,INSERT和UPDATE 7.2 發(fā)現(xiàn)SQL注入  7.2.1 語法和錯(cuò)誤  7.2.2 語義和行為  7.2.3 替換字符編碼 7.3 利用SQL注入漏洞  7.3.1 改變流程  7.3.2 查詢替換數(shù)據(jù)  7.3.3 平臺 7.4 其他數(shù)據(jù)存儲攻擊  7.4.1 輸入驗(yàn)證  7.4.2 把查詢數(shù)據(jù)從查詢邏輯分離出來  7.4.3 數(shù)據(jù)庫加密  7.4.4 數(shù)據(jù)庫配置 7.5 小結(jié)第8章 攻擊XML Web服務(wù) 8.1 什么是Web服務(wù)  8.1.1 傳輸:HTTP(S)上的SOAP  8.1.2 WSDL  8.1.3 目錄服務(wù):UDDI和DISCO  8.1.4 與Web應(yīng)用程序安全的相似性 8.2 攻擊Web服務(wù) 8.3 Web服務(wù)安全基礎(chǔ)  8.3.1 Web服務(wù)安全措施 8.4 小結(jié) 8.5 參考和進(jìn)一步閱讀第9章 攻擊Web應(yīng)用管理 9.1 遠(yuǎn)程服務(wù)器管理  9.1.1 Telnet  9.1.2 SSH  9.1.3 私有的管理端口  9.1.4 其他管理服務(wù) 9.2 Web內(nèi)容管理  9.2.1 FTP  9.2.2 SSH/scp  9.2.3 FrontPage  9.2.4 WebDAV 9.3 管理員錯(cuò)誤配置  9.3.1 不必要的Web服務(wù)器擴(kuò)展  9.3.2 信息泄漏 9.4 開發(fā)者造成的錯(cuò)誤 9.5 小結(jié) 9.6 參考和進(jìn)一步閱讀第10章 攻擊Web客戶端 10.1 漏洞利用 10.2 欺騙 10.3 通用對抗措施  10.3.1 IE安全區(qū)域  10.3.2 Firefox安全設(shè)置  10.3.3 低權(quán)限瀏覽  10.3.4 服務(wù)端的對抗措施 10.4 小結(jié) 10.5 參考和進(jìn)一步閱讀第11章 拒絕服務(wù)(Denial of Service)攻擊 11.1 常見的DoS攻擊技術(shù)  11.1.1 傳統(tǒng)的DoS攻擊:利用漏洞  11.1.2 現(xiàn)代DoS攻擊:能力損耗  11.1.3 應(yīng)用層的DoS攻擊 11.2 常見的DoS對抗措施  11.2.1 主動(dòng)DoS防御  11.2.2 DoS測試(DoS Testing)  11.2.3 應(yīng)對DoS攻擊 11.3 總結(jié) 11.4 參考和進(jìn)一步閱讀第12章 充分認(rèn)知分析(Full-Knowledge Analysis) 12.1 威脅建模  12.1.1 理清安全對象  12.1.2 識別資產(chǎn)  12.1.3 架構(gòu)概述  12.1.4 分解應(yīng)用程序  12.1.5 識別威脅并用文檔描述它們  12.1.6 對威脅排序  12.1.7 開發(fā)威脅減緩策略 12.2 代碼評審  12.2.1 手動(dòng)源代碼評審  12.2.2 自動(dòng)源代碼評審  12.2.3 二進(jìn)制分析 12.3 應(yīng)用程序代碼的安全測試  12.3.1 模糊測試  12.3.2 測試工具、程序和用具 12.4 在Web開發(fā)流程中的安全  12.4.1 人員  12.4.2 流程  12.4.3 技術(shù) 12.5 小結(jié) 12.6 參考和進(jìn)一步閱讀第13章 Web應(yīng)用安全掃描器 13.1 技術(shù):Web應(yīng)用安全掃描器  13.1.1 測試平臺  13.1.2 測試  13.1.3 單個(gè)掃描器評審  13.1.4 整體測試結(jié)果 13.2 非技術(shù)問題  13.2.1 流程  13.2.2 人員 13.3 小結(jié) 13.4 參考和進(jìn)一步閱讀附錄A Web應(yīng)用程序的安全檢查列表附錄B Web攻擊工具和攻擊技術(shù)清單附錄C URLScan和ModSecurity附錄D 關(guān)于本書的配套網(wǎng)站索引

章節(jié)摘錄

  第6章 輸入驗(yàn)證攻擊  輸入驗(yàn)證是Web應(yīng)用程序安全防范的首道防線。許多攻擊,如SQL注入,腳本攻擊(包括了跨站腳本),以及詳細(xì)錯(cuò)誤信息的泄漏,都是由于攻擊者向程序提交了未曾預(yù)料到的輸入類型而造成的?! ≥斎腧?yàn)證就是為了確保輸入數(shù)據(jù)的格式和類型都是程序所需的。如果不進(jìn)行嚴(yán)格的檢查以減少誤操作,程序的完整性和它的信息就有可能會受到損害。  想象一個(gè)應(yīng)用程序中的購物車,我們考慮其信用卡字段。首先,信用卡號碼只包含數(shù)字;其次,大多數(shù)信用卡號碼都是16位的數(shù)字,但也有一些是小于16位的。因此,如果進(jìn)行輸入驗(yàn)證,第一項(xiàng)應(yīng)該是長度檢查:輸入的數(shù)據(jù)是否為14~16位的字符;第二項(xiàng)檢查應(yīng)該是內(nèi)容檢查:輸入的數(shù)據(jù)是否含非數(shù)字的字符。我們可以在系統(tǒng)中加上另一項(xiàng)檢查:輸入的數(shù)據(jù)是否是一個(gè)合法的信用卡號碼?!?000111122223333”顯然不是一個(gè)信用卡號碼,但“4435786912639983”呢?我們寫一個(gè)簡單的校驗(yàn)和程序就可以判斷一個(gè)16位數(shù)字是否符合合法的信用卡號碼要求。另外,一些常識性知識也可以用來驗(yàn)證,比如,一個(gè)15位的信用卡號碼應(yīng)該以3開頭,第二位應(yīng)該為4或者7。這個(gè)信用卡的例子演示了如何測試輸入為一串?dāng)?shù)字的合法性。但請注意,這個(gè)例子沒有嘗試判斷信用卡號碼是否匹配用戶名或用戶地址,而只是嘗試驗(yàn)證號碼本身的合法性。本章內(nèi)容著重于兩點(diǎn):一是完全信任用戶提供的數(shù)據(jù)會帶來的危險(xiǎn);二是如果沒有恰當(dāng)?shù)南拗破谕臄?shù)據(jù)類型,攻擊者攻擊應(yīng)用程序各種的方法。  數(shù)據(jù)驗(yàn)證可能會非常的復(fù)雜,但它卻是應(yīng)用程序安全基礎(chǔ)中的基礎(chǔ)。應(yīng)用程序的開發(fā)者應(yīng)該事先預(yù)料到用戶在表單字段中所有可能的輸入值。剛才我們提到了驗(yàn)證信用卡號碼的三種簡單方法:長度、內(nèi)容和校驗(yàn)和。這樣的驗(yàn)證過程可以放在HTML頁面中,以JavaScript實(shí)現(xiàn),并運(yùn)行在SSL之上?;贘avaScript的解決方案非常簡單,也的確是開發(fā)人員最常使用的方法之一。但在接下來的幾節(jié)里,我們將會看到,客戶端的輸入驗(yàn)證可以被繞過,而SSL只是起到保護(hù)Web傳輸?shù)谋C苄?。換句話說,我們不能信任Web瀏覽器所做的安全檢查工作,通過SSL加密連接不會對提交到應(yīng)用程序的數(shù)據(jù)內(nèi)容造成任何的影響?! ?.1 預(yù)料意外的情況  輸入驗(yàn)證最大的一個(gè)安全漏洞就是將驗(yàn)證流程用JavaScript實(shí)現(xiàn)并放在瀏覽器中。使用客戶端的腳本語言實(shí)現(xiàn)驗(yàn)證流程似乎是合情合理的,原因首先是驗(yàn)證流程不必在服務(wù)端實(shí)現(xiàn);其次是,客戶端驗(yàn)證容易實(shí)現(xiàn)且被大多數(shù)Web瀏覽器支持(雖然也有很個(gè)別的瀏覽器不支持);更重要的是,這樣就把服務(wù)端所要做的大量工作移到了客戶端,是應(yīng)用程序的一種成功。但Web瀏覽器是不可信、不可控的環(huán)境,所有傳入傳出的數(shù)據(jù)都可在傳輸途中被修改,不管是否存在輸入驗(yàn)證流程。因此,用于購買新的Web服務(wù)器來處理服務(wù)端輸入驗(yàn)證的支出,遠(yuǎn)遠(yuǎn)小于惡意用戶使用%0a的小手段來損害到應(yīng)用程序安全帶來的代價(jià)。  輸入驗(yàn)證的攻擊可能針對應(yīng)用程序的不同方面。理解黑客如何攻擊不完整的驗(yàn)證流程是非常重要的,因?yàn)樗麄儙淼奈kU(xiǎn)遠(yuǎn)不只“垃圾數(shù)據(jù)”錯(cuò)誤那么簡單?! ?shù)據(jù)存儲:包括SQL注入攻擊中使用的字符。這些字符可以改寫數(shù)據(jù)庫查詢語句,導(dǎo)致執(zhí)行攻擊者定制的行為。產(chǎn)生的錯(cuò)誤能泄漏出各種信息,比如應(yīng)用程序采用的編程語言,甚至是應(yīng)用程序發(fā)送到數(shù)據(jù)庫的具體SQL查詢語句?! ∶俺淦渌脩簦喊缯灸_本以及與“釣魚”相關(guān)的攻擊。攻擊者可以通過提交數(shù)據(jù)改寫HTML,從而竊取其他用戶的信息,或者引誘用戶泄露他們的敏感信息?! 】刂芖eb服務(wù)器:此類攻擊因操作系統(tǒng)不同而不同。比如插入分號,能在UNIX的Web服務(wù)器上執(zhí)行任意指令。應(yīng)用程序本來要在Web服務(wù)器上執(zhí)行命令,但通過特殊的字符,可以欺騙它執(zhí)行其他的命令?! ⌒孤稇?yīng)用程序內(nèi)容:攻擊者能通過產(chǎn)生的錯(cuò)誤來泄露程序的語言信息。其他攻擊方法也可以繞過瀏覽器對文件類型的限制。比如許多Nimda蠕蟲的變種,使用了斜線(用來分隔目錄)其他的編碼方式來繞過IIS的安全檢查,從而可以訪問Web根目錄以外的文件?! 【彌_區(qū)溢出攻擊:緩沖區(qū)溢出攻擊已經(jīng)困擾著程序多年了,Web應(yīng)用程序也不例外。此類攻擊包括向一個(gè)變量或者字段中填充盡可能多的字符,然后觀察其結(jié)果。這樣可能會導(dǎo)致應(yīng)用程序崩潰或者停止執(zhí)行任意命令。緩沖區(qū)溢出更多在編譯語言,如C或C++中,被關(guān)注,而在Perl或Python等解釋性語言中則很少注意。基于.NET和Java的Web平臺,由于不允許程序員直接操縱堆棧和堆分配(這是緩沖區(qū)溢出的條件),從而導(dǎo)致應(yīng)用層面的緩沖區(qū)溢出非常困難。緩沖區(qū)溢出可能會在特定的語言平臺上長期存在?! ~@得任意數(shù)據(jù)的訪問權(quán)限:一個(gè)用戶可以訪問另一個(gè)同級用戶的信息,比如一個(gè)顧客可以查看另外一個(gè)顧客的賬單信息;一個(gè)用戶可以訪問某些特權(quán)數(shù)據(jù),比如匿名用戶能夠枚舉、創(chuàng)建或者刪除用戶。數(shù)據(jù)訪問同樣適用于受保護(hù)的文件或程序中的管理員領(lǐng)域?! ?.2 在哪里尋找攻擊載體  每一個(gè)GET和POST的參數(shù)都可以用來做輸入驗(yàn)證攻擊,更改參數(shù),不管它們來自表單還是應(yīng)用程序,都是一項(xiàng)很細(xì)微的工作。最易被攻擊的點(diǎn)是輸入字段。通常這些字段包括登錄名、密碼、地址、電話、信用卡號以及搜索,其他使用下拉菜單的字段也不應(yīng)該被忽略。第一步需要枚舉出這些字段以及它們大概的輸入類型?! 〔灰e(cuò)誤地認(rèn)為輸入驗(yàn)證攻擊的目標(biāo)只能是用戶需要完成填寫的字段,事實(shí)上, GET和POST請求的任何變量都有可能被攻擊。對一個(gè)很有價(jià)值的目標(biāo),攻擊者在攻擊前會深入全面的調(diào)查程序的文件、參數(shù)和表單字段?! ookie是另一類攻擊目標(biāo)。Cookie本來包含了用戶不能故意操縱的值,但也有可能被用于SQL注入或冒充其他的用戶?! ookie只是一種特殊的HTTP頭。事實(shí)上,任何HTTP頭都是輸入驗(yàn)證攻擊的載體。HTTP響應(yīng)頭截?cái)嗍橇硪环N以HTTP頭為攻擊目標(biāo)的例子,它將正常地響應(yīng)截?cái)啵⑷雮卧斓念^部集(通常是Cookie或控制緩存,會給客戶端帶來很大的破壞)?! ∽屛覀冏屑?xì)分析一下HTTP響應(yīng)頭截?cái)喙簟9舻哪繕?biāo)是使用參數(shù)作為轉(zhuǎn)向指示的程序。例如,一個(gè)存在潛在漏洞的URL如下:  http://Website/redirect.cgi?page=http://Website/welcome.cgi  一個(gè)很好的輸入驗(yàn)證流程需要確認(rèn)page參數(shù)的值是一個(gè)合法的URL。但如果可以包含任意的字符,那么參數(shù)可以被改寫為如下的樣子:  http://Website/redirect.cgi?page =0d%0aContent-Type:%20text/  html%0d%0aHTTP/1.1%20200%20OK%0d%0aContent-Type:%20text/  html%0d%0a%0d%0a%3chtml%3eHello, world!%3c/html%3e  Page原來的值被一串字符所替換了,這些字符模擬了來自一個(gè)Web服務(wù)器的HTTP響應(yīng)頭,包括了一個(gè)簡單的HTML字符串“Hello, world!”。將編碼后的字符替換掉,惡意載荷就更容易理解了:  Content-Type: text/html  HTTP/1.1 200 OK  Content-Type: text/html  Hello, world!  最終的攻擊結(jié)果是瀏覽器顯示了偽造的HTML內(nèi)容,而不是期望轉(zhuǎn)向的網(wǎng)頁。這個(gè)例子似乎并無破壞作用,但惡意攻擊可以包含JavaScript等內(nèi)容,使其看起來需要用戶提交密碼、社會保險(xiǎn)號、信用卡信息或其他敏感信息。這里不是要討論如何構(gòu)造有效的釣魚攻擊,而是想說明參數(shù)的內(nèi)容可以被操縱,而且會產(chǎn)生意想不到的效果?! ?.3 繞過客戶端驗(yàn)證  如果程序的輸入驗(yàn)證只采用了基于JavaScript的方法,那么這個(gè)程序遠(yuǎn)沒有想象中的安全。客戶端的JavaScript基本上是都可以被繞過的。一些個(gè)人代理、個(gè)人防火墻以及Cookie管理軟件都吹噓它們可以過濾掉網(wǎng)站彈出窗口和其他入侵組件。其實(shí)很多計(jì)算機(jī)專家也完全關(guān)閉JavaScript,以防止受到最新E-Mail病毒的攻擊??偠灾泻芏嗟睦碛珊秃唵蔚姆椒ㄗ孖nternet用戶禁用JavaScript?! ‘?dāng)然,禁用JavaScript會使很多應(yīng)用程序不完整。不過現(xiàn)在有很多的工具可以移除JavaScript或允許我們在JavaScript檢查后提交內(nèi)容。使用一個(gè)像Paros的代理,我們就可以在GET或POST請求發(fā)送到服務(wù)器之前將其截獲,以這種方式可在瀏覽器中輸入能通過驗(yàn)證的數(shù)據(jù),而在代理中將數(shù)據(jù)改變?yōu)槿我庵??! ?.4 常見的輸入驗(yàn)證攻擊  讓我們看一下常見的輸入驗(yàn)證攻擊。雖然大多數(shù)攻擊只是向程序傾倒垃圾數(shù)據(jù),但也有一些攻擊含有精心構(gòu)造的字符串。在本章中,我們只是展示一下可能被攻擊的漏洞,而把具體的攻擊細(xì)節(jié)放在其他章節(jié)中講解。例如,SQL注入攻擊也是輸入驗(yàn)證攻擊,但我們會在第8章中再詳細(xì)討論。  6.4.1 緩沖區(qū)溢出  緩沖區(qū)溢出很少會在解釋性或高級編程語言中產(chǎn)生。比如,使用PHP或Java語言編寫的程序,產(chǎn)生漏洞的可能性就很小。但還是有可能發(fā)生的,比如使用了某種語言的自帶函數(shù),而這個(gè)函數(shù)本身就含有緩沖區(qū)溢出漏洞。不過,還是建議把精力放在其他輸入驗(yàn)證,Session管理和其他的Web安全方面。當(dāng)然,如果程序包含了自己編寫的IIS的ISAPI接口或Apache模塊,那么還是需要進(jìn)行緩沖區(qū)溢出的檢查,或者進(jìn)行更高效的代碼安全評審?! ?shí)現(xiàn)緩沖區(qū)溢出攻擊,只需要在一個(gè)輸入字段中輸入盡量多的數(shù)據(jù),這是一種非常暴力和野蠻的攻擊,但如果程序返回了一個(gè)錯(cuò)誤,那么攻擊就起作用了。Perl非常適合做這種類型攻擊,只需要一條指令就可以對一個(gè)參數(shù)產(chǎn)生任意長度的攻擊?! ? perl -e print "a" x 500  aaaaaaa...重復(fù)500次  可以通過Perl腳本產(chǎn)生HTTP請求(使用LWP模塊),或者使用Netcat產(chǎn)生輸出。當(dāng)然不是用它們來提交正常的參數(shù),而是用把參數(shù)替換成嵌入的Perl語句的輸出。比如一個(gè)正常的請求如下:  $ echo –e “GET /login.php?user=faustus\nHTTP/1.0\n\n” | \  nc –vv Website 80  而在命令行中調(diào)用Perl進(jìn)行緩沖區(qū)測試的例子如下:  $ echo –e “GET /login.php?user=\  > `perl –e ‘print “a” x 500’`\nHTTP/1.0\n\n” | \  nc –vv Website 80  這里向login.php發(fā)送了長達(dá)500個(gè)"a "的user值。這條語句可在任何類UNIX的環(huán)境(或Cygwin)下執(zhí)行,而和curl程序結(jié)合起來使用,還可以減少SSL所帶來的問題,如:  $ curl https://Website/login.php?user=`perl –e " print" a" x 500"`  當(dāng)使用不同的負(fù)載和不同的長度進(jìn)行緩沖區(qū)溢出測試時(shí),目標(biāo)程序會返回不同的錯(cuò)誤。這些錯(cuò)誤可能全部是“密碼錯(cuò)誤”,但也可能有一些會提示user參數(shù)的邊界情況。緩沖區(qū)測試的首要原則是使用基本的差異分析或異常檢測,其步驟如下:  1.向應(yīng)用程序發(fā)送一個(gè)正常的請求并記錄服務(wù)器的響應(yīng);  2.向應(yīng)用程序發(fā)送第一個(gè)緩沖區(qū)溢出測試數(shù)據(jù),記錄服務(wù)器此時(shí)的響應(yīng);  3.向應(yīng)用程序發(fā)送下一個(gè)測試數(shù)據(jù)并記錄服務(wù)器響應(yīng);  4.重復(fù)第3步。  當(dāng)發(fā)現(xiàn)服務(wù)器的響應(yīng)不同于對一個(gè)“正?!闭埱蟮捻憫?yīng)時(shí),就檢查有哪些差別,這將幫助你跟蹤到那些能產(chǎn)生錯(cuò)誤的特定載荷(比如在URL中,7809個(gè)斜杠是可以接受的,但7810個(gè)就不可接受)。  在某些情況下,緩沖區(qū)溢出攻擊能夠使攻擊者在服務(wù)器上執(zhí)行任意指令。編寫這樣的緩沖區(qū)溢出利用工具比較困難,但使用起來則非常簡單。換句話說,發(fā)現(xiàn)漏洞需要非常有經(jīng)驗(yàn)的安全審核人員,但初級的攻擊者也能夠下載到和使用預(yù)先編寫好的攻擊工具。  注意 大多數(shù)時(shí)候,緩沖區(qū)溢出攻擊都是“盲目”的,如果沒有權(quán)限對應(yīng)用附加調(diào)試器,或者查看日志或系統(tǒng)信息,構(gòu)造出可執(zhí)行任意命令的緩沖區(qū)溢出代碼將是件非常困難的工作。比如,IIS上的FrontPage Services Extension溢出漏洞,如果沒有對系統(tǒng)完全的訪問權(quán)限,就不能被利用而構(gòu)成緩沖區(qū)溢出攻擊。

編輯推薦

  在網(wǎng)絡(luò)技術(shù)和電子商務(wù)飛速發(fā)展的今天,Web應(yīng)用安全面臨著前所未有的挑戰(zhàn)。本書凝聚了作者們超過30年的Web安全從業(yè)經(jīng)驗(yàn),讓讀者了解黑客如何使用架構(gòu)和應(yīng)用剖析來進(jìn)行探測和進(jìn)入有漏洞的系統(tǒng)。詳細(xì)剖析了Web應(yīng)用的安全漏洞,攻擊手法和對抗措施,一步步的教授如何防御邪惡的攻擊,并協(xié)助讀者理解黑客的思考過程?! 〗?jīng)典黑客圖書,知名行業(yè)專家打造!  站在惡意入侵的角度來審視你的Web應(yīng)用,以防范最新的Web攻擊。本書經(jīng)過全面的修訂和更新以覆蓋最新Web利用技術(shù),為你一步步地展示黑客們?nèi)绾蚊闇?zhǔn)漏洞站點(diǎn)、獲取權(quán)限、竊取關(guān)鍵數(shù)據(jù)以及進(jìn)行毀滅性的攻擊。通過本書你將:  了解黑客如何使用架構(gòu)和應(yīng)用剖析來進(jìn)行探測和進(jìn)入有漏洞的系統(tǒng)?! ~@得最流行的Web平臺(包括IIS,Apache,PHP和ASP.NET)的漏洞利用代碼、繞過技術(shù)和對抗措施的細(xì)節(jié)。  學(xué)習(xí)常見Web認(rèn)證機(jī)制(包括基于密碼的,多因素的和諸如Passport的單點(diǎn)登錄機(jī)制)的優(yōu)勢和弱點(diǎn)?! ±斫馊绾瓮ㄟ^高級會話分析、劫持和定制技術(shù)來操縱任何Web應(yīng)用的訪問控制的核心。  尋找和定位輸入驗(yàn)證缺陷,包括跨站腳本(XSS)、SQL注入、HTTPB向應(yīng)頭截?cái)?、編碼和特殊字符濫用?! ∵M(jìn)一步了解最新的SQL注入技術(shù),包括盲注入攻擊、子查詢高級利用技術(shù)、Oracle利用技術(shù)和改進(jìn)的對抗措施?! ×私庾钚碌腦ML Web服務(wù)攻擊、Web管理攻擊和DDos攻擊(包括點(diǎn)擊欺詐)?! ”闅vFirefox和IE的漏洞利用代碼,以及最新的社會工程驅(qū)動(dòng)的客戶端攻擊,諸如釣魚和廣告軟件。  本書幫你參透Web攻擊背后的玄機(jī),練就一雙大眼金睛,為你的Web應(yīng)用保駕護(hù)航!

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    黑客大曝光 PDF格式下載


用戶評論 (總計(jì)2條)

 
 

  •   對網(wǎng)絡(luò)安全有興趣的朋友值得推薦一看!
  •   本來是密碼學(xué)的贈(zèng)品書,結(jié)果卻沒有,不知道是什么地方出錯(cuò)了
 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7