Python建代理配合burp怎樣實(shí)現(xiàn)自動免費(fèi)用水

今天就跟大家聊聊有關(guān)Python建代理配合burp怎樣實(shí)現(xiàn)自動免費(fèi)用水,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

武侯網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)公司于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。

0x01 前言    本文只是對某校園熱水服務(wù)app做個測試,其實(shí)本人并沒有做大壞事,并未傳播相關(guān)技術(shù),文章以下內(nèi)容的敏感部分會打碼,并且相關(guān)廠商已經(jīng)正在進(jìn)行漏洞修復(fù),大家看看就好。文章后會提供“Python簡易搭建代理服務(wù)器”的關(guān)鍵代碼,代碼簡單而且開源,我自己也加了點(diǎn)注釋。最后的exp只針對本app,感興趣的朋友可以看看。以下內(nèi)容包含個人見解,輕噴。若有誤導(dǎo)懇請指出。

0x02 利用fd分析與實(shí)戰(zhàn)

要對這app做測試,首先了解下app的運(yùn)作流程。

登錄后,app主界面如下

Python建代理配合burp怎樣實(shí)現(xiàn)自動免費(fèi)用水

邏輯簡單,步驟如下:

1.app使用藍(lán)牙連接水表。

2.先扣你10塊余額,轉(zhuǎn)到預(yù)扣款里(不夠10元扣除所有)

3.水表上顯示10塊錢,也就是你的預(yù)扣款(我只有6元所有會顯示6元),水表出水

4.用水,水表上的金額隨著用水量而減少

5.停止用水,水表上顯示的金額就是余額,將返還給余額

這樣分析還不夠,我們利用fiddler看看app向服務(wù)器的HTTP請求內(nèi)容

怎么抓手機(jī)包看這,講的比我好我就不多說了:如何用Fiddler對Android應(yīng)用進(jìn)行抓包

app啟動時的HTTP數(shù)據(jù)請求截圖:

Python建代理配合burp怎樣實(shí)現(xiàn)自動免費(fèi)用水

一共請求了5次,沒發(fā)現(xiàn)什么地方有問題。要想知道這些請求都是做什么的,可以看看請求的get的內(nèi)容以及post的內(nèi)容,還可以看看網(wǎng)站的響應(yīng)內(nèi)容。從截圖中fiddler右下角的“Message=未發(fā)現(xiàn)版本”就可以猜想這個http請求可能是檢查更新的請求。

我們用的是“fiddler”,大家都知道的,許多利用都是改金額,現(xiàn)在還沒用水,還沒發(fā)生金額的變化,咱們現(xiàn)在用水試試。

點(diǎn)擊“點(diǎn)擊開始用水”按鈕,看看app截圖以及fiddler的http請求

Python建代理配合burp怎樣實(shí)現(xiàn)自動免費(fèi)用水

Python建代理配合burp怎樣實(shí)現(xiàn)自動免費(fèi)用水

app扣除了6塊,轉(zhuǎn)到了預(yù)扣款里,水表上顯示6.00元,<img>假裝有水表照片.jpg</img>

看fiddler截圖,一共有4個http請求,注意紅框,“00A3AAAF”是本次用水的訂單號,之后會用到。

看了下這些http請求,發(fā)現(xiàn)并未和服務(wù)器發(fā)生有關(guān)金額的信息交互。

我們進(jìn)行下個步驟,停止用水讓它退還余額。

app截圖,以及fiddler抓取到的金額數(shù)據(jù)截圖:

Python建代理配合burp怎樣實(shí)現(xiàn)自動免費(fèi)用水

Python建代理配合burp怎樣實(shí)現(xiàn)自動免費(fèi)用水

可以看到之前紅框框起來的訂單號在結(jié)賬返還金額的時候用到了,不用改。bal的值明顯就是退還金額,將他改為6,也就是我的預(yù)扣款試試。成功退還所有預(yù)扣款?。ㄟ@app有兩次http請求返回的余額,內(nèi)容都相同,都需要改為6,另一次就不貼截圖了)

點(diǎn)擊確認(rèn)結(jié)賬就余額就能變回6元了,這個“確認(rèn)結(jié)賬”按鈕實(shí)際上是個刷新命令。

0x03 Python+burp簡易搭建代理服務(wù)器

之前已經(jīng)用fd實(shí)現(xiàn)漏洞利用,但是每次都需要手動改,如果寫個腳本會比較快一些。正巧我在某同性交友網(wǎng)看到了“Python搭建代理服務(wù)器”的代碼,就想試試能不能通過這個代碼稍加更改實(shí)現(xiàn)自動化Exp。

貼出原代碼:

關(guān)鍵部分我寫了注釋,還有代碼不清楚格式是否會亂,我在文后以附件的形式貼出來吧

這次配合burpsuite來使用,使用方法:第90行(倒數(shù)第二行)寫入之前用fiddler改包時手機(jī)wifi設(shè)置的代理,以及端口號,用來監(jiān)聽手機(jī)發(fā)出的http請求。第44行寫burpsuite監(jiān)聽的地址,從手機(jī)上獲取的http請求都會轉(zhuǎn)發(fā)給burpsuite,burpsuite設(shè)置我也貼出來吧:

Python建代理配合burp怎樣實(shí)現(xiàn)自動免費(fèi)用水

Python建代理配合burp怎樣實(shí)現(xiàn)自動免費(fèi)用水

設(shè)置好后,只要運(yùn)行代碼,就可以實(shí)現(xiàn)代理服務(wù)。雖然想要代理直接連burp就好,但是這提供了一個可以使用PY代碼進(jìn)行一定程度的中間人操作的環(huán)境。


0x04 實(shí)現(xiàn)自動化exp
PS:看到這里就可以不看了,因無法提供app與藍(lán)牙水表,以下內(nèi)容多半無法看明白。。
  之前實(shí)現(xiàn)了代理,那么現(xiàn)在就要開始改代碼了,將代碼改成漏洞app的漏洞利用工具。
因?yàn)檫@個不是通用型漏洞,漏洞利用工具也只能針對這個app,所以以下內(nèi)容不存在干貨,感興趣的可以看下去。
思路:通過這個代理,將停止用水后“結(jié)賬”請求中返還的金額替換為預(yù)扣款的金額,即返還所有金額。
還有個:對app的http請求分析的越透徹,exp就可能寫的越簡單思路越清晰。


漏洞利用程序方法眾多,以下將按我自己的思路


  從之前的fd測試可以知道,“用水”與“結(jié)賬返還金額”是兩個獨(dú)立的http請求部分,根據(jù)常識“結(jié)賬”肯定要在“用水”之后,那我們可以在app執(zhí)行“用水”之后就馬上向服務(wù)器請求偽造的“結(jié)賬”http請求,因偽造的“結(jié)賬”請求只是PC機(jī)跳過app與服務(wù)器交互,所以執(zhí)行結(jié)賬后不會影響藍(lán)牙水表的供水。這種思路有個前提,就是能成功偽造“結(jié)賬”請求,如果無法偽造,也可以在“結(jié)賬”請求發(fā)出時攔截并改包,這樣理論上是不會出問題的。
偽造“結(jié)賬”需要在“用水”之后,那怎么判斷“用水”請求?
用 if 判斷數(shù)據(jù)的特征,簡單明了。因?yàn)橹皇桥袛啵皇菙r截,所以只需要在conn_destnation函數(shù)的結(jié)尾,也就是destnation.send() 執(zhí)行后,添加 if 判斷即可,如果是“用水”便開始偽造“結(jié)賬”。因?yàn)榻Y(jié)賬需要訂單號,所以可以用re模塊正則表達(dá)式匹配“用水”請求的特征時順帶取出訂單號,見截圖:

Python建代理配合burp怎樣實(shí)現(xiàn)自動免費(fèi)用水

訂單號正好包含在URL中,真方便。

用if判斷不為空就可以剛剛獲取的訂單號進(jìn)行偽造的“結(jié)賬”了

偽造“結(jié)賬”請求需要類似cookies的憑證,憑證存在header里,可以直接使用“用水”請求的header。

可是??!我發(fā)現(xiàn)用水、結(jié)賬、查余額等一系列操作是使用的header中的憑證永不過期,若重登會給予新的憑證,但舊憑證依舊可以使用!所以就可以偷懶直接貼一份header使用。

Python建代理配合burp怎樣實(shí)現(xiàn)自動免費(fèi)用水

有了憑證就可以為所欲為了,偽造“結(jié)賬”請求除了訂單號還需要知道預(yù)扣款,前面提到過,預(yù)扣款一般為10元,但有時候余額不足預(yù)扣款就不足10元,所以為了程序兼容性,還需要獲取下預(yù)扣款。既然有了憑證為所欲為,那么可以再偽造下一個能讓服務(wù)器返回預(yù)扣款的請求即可。

Python建代理配合burp怎樣實(shí)現(xiàn)自動免費(fèi)用水

見上圖:有了憑證,并且正好服務(wù)器返回的是json形式的,直接用Python 的 eval,再獲取對應(yīng)鍵值就行。

然后就是執(zhí)行偽造的“結(jié)賬”請求:

Python建代理配合burp怎樣實(shí)現(xiàn)自動免費(fèi)用水

看完上述內(nèi)容,你們對Python建代理配合burp怎樣實(shí)現(xiàn)自動免費(fèi)用水有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

網(wǎng)頁題目:Python建代理配合burp怎樣實(shí)現(xiàn)自動免費(fèi)用水
新聞來源:http://muchs.cn/article40/jcgheo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司品牌網(wǎng)站設(shè)計(jì)、定制開發(fā)網(wǎng)站內(nèi)鏈、全網(wǎng)營銷推廣、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化