- Web漏洞搜索
- (美)彼得·亞沃斯基
- 2469字
- 2021-11-05 10:19:56
前言
這本書將向你介紹道德黑客的世界,如何發(fā)現(xiàn)安全漏洞,以及如何向應(yīng)用程序所有者報(bào)告漏洞。當(dāng)我剛開始學(xué)習(xí)黑客技術(shù)時(shí),我不僅想知道黑客發(fā)現(xiàn)了什么漏洞,而且想知道他們是如何發(fā)現(xiàn)這些漏洞的。
在我搜索信息的過程中,總是會(huì)出現(xiàn)同樣的問題:
●黑客在應(yīng)用程序中發(fā)現(xiàn)了哪些漏洞?
●黑客是如何得知應(yīng)用程序中存在這些漏洞的?
●黑客如何滲透一個(gè)網(wǎng)站?
●黑客攻擊是什么樣子的?它是完全自動(dòng)化的,還是手動(dòng)完成的?
●我如何開始進(jìn)行滲透和發(fā)現(xiàn)漏洞?
我最終登錄了HackerOne,這是一個(gè)漏洞獎(jiǎng)勵(lì)平臺(tái),旨在將道德黑客與尋找黑客來測試其應(yīng)用程序的公司聯(lián)系起來。HackerOne的功能允許道德黑客和公司披露已經(jīng)發(fā)現(xiàn)和修復(fù)的漏洞。
在閱讀那些公開的HackerOne報(bào)告時(shí),我努力理解人們已經(jīng)發(fā)現(xiàn)了哪些漏洞,以及這些漏洞會(huì)如何被濫用。我經(jīng)常需要把同一篇報(bào)告重讀兩三遍才能理解它。我意識(shí)到,我和其他初學(xué)者可以從對現(xiàn)實(shí)世界漏洞的純語言解釋中獲益。
這本書是一個(gè)重要的參考,它將幫助你理解不同類型的Web漏洞。你將學(xué)到如何發(fā)現(xiàn)漏洞,如何上報(bào)它們,如何從中獲得報(bào)酬,以及如何編寫防御代碼。但這本書中不僅涵蓋成功的范例,也包含錯(cuò)誤案例和人們應(yīng)該吸取的教訓(xùn),其中很多問題是我自己遇到過的。
當(dāng)你通讀完本書,你就已經(jīng)邁出了讓網(wǎng)絡(luò)變得更安全的第一步,并且你應(yīng)該能夠從中賺到一些錢。
本書的讀者對象
這本書是為學(xué)習(xí)漏洞挖掘技術(shù)的初學(xué)者寫的,不管你是網(wǎng)頁開發(fā)人員、網(wǎng)頁設(shè)計(jì)師、全職媽媽、10歲的孩子還是75歲的退休人員,都可以閱讀本書。
擁有一些編程經(jīng)驗(yàn)并且熟悉網(wǎng)絡(luò)技術(shù)有助于理解本書內(nèi)容,但這并不是成為道德黑客的先決條件。例如,你不必是一個(gè)Web開發(fā)人員或黑客,但如果你對基本超文本標(biāo)記語言(HTML)如何架構(gòu)網(wǎng)頁,層疊樣式表(CSS)如何定義網(wǎng)頁外觀,以及網(wǎng)站的JavaScript動(dòng)態(tài)有所了解的話,將有助于你發(fā)現(xiàn)漏洞和識(shí)別其帶來的影響。
了解如何編程對于查找涉及應(yīng)用程序邏輯的漏洞和思考開發(fā)人員可能會(huì)犯什么樣的錯(cuò)誤很有幫助。如果你能站在程序員的角度猜猜他們是如何實(shí)現(xiàn)一些程序的,或讀懂他們的代碼,那么你成功發(fā)現(xiàn)漏洞的概率將會(huì)更高。
如果你想學(xué)習(xí)編程,可參考No Starch Press出版的大量書籍。你也可以在Udacity和Coursera上查看免費(fèi)課程。附錄B中還列出了其他資源。
如何閱讀本書
每個(gè)描述漏洞類型的章節(jié)都有以下結(jié)構(gòu):
1)漏洞類型的描述
2)漏洞類型的示例
3)提供結(jié)論的總結(jié)
每個(gè)漏洞示例都包括以下內(nèi)容:
●我對發(fā)現(xiàn)和證明漏洞的難度的估計(jì)
●與發(fā)現(xiàn)漏洞的位置相關(guān)聯(lián)的URL
●原始披露報(bào)告或報(bào)告的鏈接
●報(bào)告漏洞的日期
●漏洞上報(bào)者通過上報(bào)信息所得到的獎(jiǎng)金
●關(guān)于漏洞的清晰描述
●可以應(yīng)用到你自己的漏洞挖掘中的提示
你不必把這本書從頭到尾讀完。如果你對某一章節(jié)感興趣,先讀它。在某些情況下,我會(huì)引用前面章節(jié)中討論過的觀點(diǎn),但是在這樣做的時(shí)候,我會(huì)盡量說明我在哪里定義了這個(gè)術(shù)語,以便你可以參考相關(guān)章節(jié)。當(dāng)你進(jìn)行漏洞搜索時(shí),記得翻閱本書。
本書的主要內(nèi)容
以下是每章內(nèi)容的概述。
第1章:解釋了什么是漏洞和漏洞獎(jiǎng)勵(lì),以及客戶端和服務(wù)器之間的區(qū)別,還介紹了互聯(lián)網(wǎng)是如何工作的,包括HTTP請求、響應(yīng)和方法,以及HTTP無狀態(tài)的含義。
第2章:涉及利用給定域的信任將用戶重定向到不同域以實(shí)施攻擊。
第3章:涵蓋了攻擊者如何操縱HTTP請求,注入額外的參數(shù),使目標(biāo)網(wǎng)站產(chǎn)生信任,以及導(dǎo)致意外行為。
第4章:涵蓋了攻擊者如何利用惡意網(wǎng)站使目標(biāo)瀏覽器向另一個(gè)網(wǎng)站發(fā)送HTTP請求,然后,另一個(gè)網(wǎng)站就裝作這個(gè)請求是合法的,并且是由目標(biāo)用戶故意發(fā)送的。
第5章:解釋了如何將自己設(shè)計(jì)的HTML元素注入目標(biāo)網(wǎng)站的網(wǎng)頁中。
第6章:演示了攻擊者如何向HTTP消息注入編碼字符,以改變服務(wù)器、代理和瀏覽器對它們的解釋。
第7章:解釋了攻擊者如何利用沒有對用戶輸入進(jìn)行消毒的站點(diǎn)來執(zhí)行他們自己的JavaScript代碼。
第8章:解釋了當(dāng)站點(diǎn)沒有清理模板中使用的用戶輸入時(shí),攻擊者是如何利用template引擎的。本章包括客戶端和服務(wù)器端示例。
第9章:描述了數(shù)據(jù)庫支持站點(diǎn)上的漏洞如何讓攻擊者意外查詢或攻擊站點(diǎn)的數(shù)據(jù)庫。
第10章:解釋了攻擊者如何讓服務(wù)器執(zhí)行意外的網(wǎng)絡(luò)請求。
第11章:展示了攻擊者如何利用應(yīng)用程序解析XML輸入和處理輸入中包含的外部實(shí)體。
第12章:涵蓋攻擊者如何利用服務(wù)器或應(yīng)用程序來運(yùn)行自己的代碼。
第13章:解釋了攻擊者如何利用應(yīng)用程序的內(nèi)存管理來引發(fā)意外行為,包括執(zhí)行攻擊者自己注入的命令。
第14章:展示了當(dāng)攻擊者可以代表合法伙伴域控制子域時(shí),子域接管是如何發(fā)生的。
第15章:揭示了攻擊者如何對基于初始條件的站點(diǎn)進(jìn)程競態(tài)完成情況加以利用,該初始條件在進(jìn)程執(zhí)行時(shí)失效。
第16章:涵蓋當(dāng)攻擊者可以訪問或修改對象(比如他們不應(yīng)該訪問的文件、數(shù)據(jù)庫記錄或賬戶)的引用時(shí)出現(xiàn)的漏洞。
第17章:涵蓋協(xié)議實(shí)施中的漏洞,該協(xié)議旨在簡化和標(biāo)準(zhǔn)化Web應(yīng)用程序、移動(dòng)應(yīng)用程序和桌面應(yīng)用程序上的安全授權(quán)。
第18章:解釋攻擊者如何利用編碼邏輯或應(yīng)用程序構(gòu)造錯(cuò)誤,使網(wǎng)站執(zhí)行一些意外的操作,從而導(dǎo)致漏洞。
第19章:根據(jù)我的經(jīng)驗(yàn)和方法給出了在哪里以及如何尋找漏洞。本章并不是一步一步地指導(dǎo)你如何入侵一個(gè)網(wǎng)站。
第20章:討論了如何編寫可信的和信息豐富的漏洞報(bào)告。
附錄A:描述了道德黑客常用的流行工具,包括代理網(wǎng)絡(luò)流量、子域枚舉、截屏等。
附錄B:列出了進(jìn)一步擴(kuò)展你的道德黑客知識(shí)的其他資源,包括在線培訓(xùn)、流行的平臺(tái)、推薦的博客等。
免責(zé)聲明
當(dāng)你讀到公開披露的漏洞,看到黑客獲得賞金,會(huì)很自然地認(rèn)為當(dāng)黑客是一個(gè)簡單和快速致富的方式。
但并不是這樣。
黑客可能是有回報(bào)的,但是你不太可能知道在這個(gè)過程中發(fā)生的失敗的案例(雖然我在這本書中分享了一些非常尷尬的故事)。因?yàn)槎鄶?shù)時(shí)候你會(huì)聽到黑客攻擊成功了,所以你可能會(huì)對自己的黑客生涯產(chǎn)生不切實(shí)際的期望。
你可能很快就會(huì)成功,但是如果你找不到漏洞,就繼續(xù)挖掘吧。開發(fā)人員總是會(huì)編寫新的代碼,而錯(cuò)誤總是會(huì)進(jìn)入生產(chǎn)環(huán)境。你嘗試的次數(shù)越多,這個(gè)過程就會(huì)變得越容易。
在這一點(diǎn)上,請隨時(shí)在Twitter上給我發(fā)信息(@yaworsk),讓我知道進(jìn)展如何。即使不成功,我也想收到你的反饋。
漏洞挖掘可能是一項(xiàng)孤獨(dú)的工作。但是一起慶祝成功的感覺也是很棒的,也許你會(huì)提前發(fā)現(xiàn)那些我將在下一版中介紹的內(nèi)容。
祝你好運(yùn)!
- Web漏洞分析與防范實(shí)戰(zhàn):卷1
- 大型互聯(lián)網(wǎng)企業(yè)安全架構(gòu)
- Practical Network Scanning
- 等級(jí)保護(hù)測評(píng)理論及應(yīng)用
- Enterprise Cloud Security and Governance
- 代碼審計(jì):企業(yè)級(jí)Web代碼安全架構(gòu)
- Learning Veeam? Backup & Replication for VMware vSphere
- Kerberos域網(wǎng)絡(luò)安全從入門到精通
- Advanced Penetration Testing for Highly:Secured Environments(Second Edition)
- 網(wǎng)絡(luò)安全實(shí)戰(zhàn)詳解(企業(yè)專供版)
- Mastering Metasploit
- 黑客攻擊與防范實(shí)戰(zhàn)從入門到精通
- 數(shù)字銀行安全體系構(gòu)建
- 網(wǎng)絡(luò)安全監(jiān)控實(shí)戰(zhàn):深入理解事件檢測與響應(yīng)
- 黑客攻防入門