亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python建代理配合burp怎樣實現自動免費用水

發布時間:2021-12-04 10:30:02 來源:億速云 閱讀:173 作者:柒染 欄目:網絡安全

今天就跟大家聊聊有關Python建代理配合burp怎樣實現自動免費用水,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

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

0x02 利用fd分析與實戰

要對這app做測試,首先了解下app的運作流程。

登錄后,app主界面如下

Python建代理配合burp怎樣實現自動免費用水

邏輯簡單,步驟如下:

1.app使用藍牙連接水表。

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

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

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

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

這樣分析還不夠,我們利用fiddler看看app向服務器的HTTP請求內容

怎么抓手機包看這,講的比我好我就不多說了:如何用Fiddler對Android應用進行抓包

app啟動時的HTTP數據請求截圖:

Python建代理配合burp怎樣實現自動免費用水

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

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

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

Python建代理配合burp怎樣實現自動免費用水

Python建代理配合burp怎樣實現自動免費用水

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

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

看了下這些http請求,發現并未和服務器發生有關金額的信息交互。

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

app截圖,以及fiddler抓取到的金額數據截圖:

Python建代理配合burp怎樣實現自動免費用水

Python建代理配合burp怎樣實現自動免費用水

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

點擊確認結賬就余額就能變回6元了,這個“確認結賬”按鈕實際上是個刷新命令。

0x03 Python+burp簡易搭建代理服務器

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

貼出原代碼:

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

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

Python建代理配合burp怎樣實現自動免費用水

Python建代理配合burp怎樣實現自動免費用水

設置好后,只要運行代碼,就可以實現代理服務。雖然想要代理直接連burp就好,但是這提供了一個可以使用PY代碼進行一定程度的中間人操作的環境。


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


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


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

Python建代理配合burp怎樣實現自動免費用水

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

用if判斷不為空就可以剛剛獲取的訂單號進行偽造的“結賬”了

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

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

Python建代理配合burp怎樣實現自動免費用水

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

Python建代理配合burp怎樣實現自動免費用水

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

然后就是執行偽造的“結賬”請求:

Python建代理配合burp怎樣實現自動免費用水

看完上述內容,你們對Python建代理配合burp怎樣實現自動免費用水有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

治县。| 西峡县| 循化| 冷水江市| 宜宾县| 合江县| 饶平县| 菏泽市| 民县| 乌拉特前旗| 左权县| 油尖旺区| 和平县| 福州市| 探索| 宁波市| 家居| 宝丰县| 安西县| 哈尔滨市| 汕头市| 楚雄市| 历史| 博客| 吴桥县| 沽源县| 太仓市| 双辽市| 鄂托克旗| 新沂市| 手游| 清涧县| 揭阳市| 青州市| 侯马市| 阿克陶县| 甘孜县| 南城县| 前郭尔| 囊谦县| 临武县|