爬蟲小技巧利用Mitmproxy破解app
mitmproxy就是用于MITM的proxy,MITM即中間人攻擊(Man-in-the-middle attack)。用于中間人攻擊的代理首先會(huì)向正常的代理一樣轉(zhuǎn)發(fā)請(qǐng)求,保障服務(wù)端與客戶端的通信,其次會(huì)實(shí)時(shí)查、記錄其截獲的數(shù)據(jù)或篡改數(shù)據(jù),引發(fā)服務(wù)端或客戶端特定的行為。
利用Fiddler可以過濾出瀏覽器對(duì)某個(gè)特定URL的請(qǐng)求,并查看、分析其數(shù)據(jù),
但實(shí)現(xiàn)不了高度定制化的需求,類似于:“截獲對(duì)瀏覽器對(duì)該URL的請(qǐng)求,將返回內(nèi)容置空,并將真實(shí)的返回內(nèi)容存到某個(gè)數(shù)據(jù)庫,出現(xiàn)異常時(shí)發(fā)出郵件通知”。而對(duì)于mitmproxy,這樣的需求可以通過載入自定義python腳本輕松實(shí)現(xiàn)。
但mitmproxy并不會(huì)真的對(duì)無辜的人發(fā)起中間人攻擊,由于mitmproxy工作在HTTP層,而當(dāng)前HTTPS的普及讓客戶端擁有了檢測(cè)并規(guī)避中間人攻擊的能力,所以要讓mitmproxy 能夠正常工作,必須要讓客戶端(APP 或?yàn)g覽器)主動(dòng)信任 mitmproxy 的SSL證書,或忽略證書異常,這也就意味著APP或?yàn)g覽器是屬于開發(fā)者本人的——顯而易見,這不是在做黑產(chǎn),而是在做開發(fā)或測(cè)試。
目前比較廣泛的應(yīng)用是做仿真爬蟲,即利用手機(jī)模擬器、無頭瀏覽器來爬取APP或網(wǎng)站的數(shù)據(jù),mitmproxy作為代理可以攔截、存儲(chǔ)爬蟲獲取到的數(shù)據(jù),或修改數(shù)據(jù)調(diào)整爬蟲的行為。
(1)安裝Python2、Python3環(huán)境
(2)App爬蟲神器mitmproxy
Mac/Windows環(huán)境安裝mitmproxy
python3 pip3 install mitmproxy 或者 python2 pip install mitmproxy
(3)按鍵精靈
(4)強(qiáng)制抓包工具postern
https://github.com/postern-overwal/postern-stuff
啟動(dòng)mitmproxy
要啟動(dòng)mitmproxy用mitmproxy、mitmdump、mitmweb這三個(gè)命令中的任意一個(gè)即可,這三個(gè)命令功能一致,且都可以加載自定義腳本,唯一的區(qū)別是交互界面的不同。
mitmproxy命令啟動(dòng)后,會(huì)提供一個(gè)命令行界面,用戶可以實(shí)時(shí)看到發(fā)生的請(qǐng)求,并通過命令過濾請(qǐng)求,查看請(qǐng)求數(shù)據(jù)
使用mitmproxy + python做攔截代理
http://www.dhdzp.com/article/164560.htm







設(shè)置代理地址和端口

然后在瀏覽器中訪問地址前,先選擇代理方式,再進(jìn)行訪問

安裝證書
正常情況下,mitmproxy啟動(dòng)后,只能抓取到HTTP請(qǐng)求的信息,要抓取HTTPS請(qǐng)求信息需要安裝證書。證書安裝有兩種方式
如果沒有打開mitmproxy進(jìn)行抓包的話,在這一步會(huì)得到如下錯(cuò)誤

如果打開mitmproxy進(jìn)行抓包的話

使用的mitmproxy啟動(dòng)
使用的mitmweb啟動(dòng)
使用的mitmdump啟動(dòng)

以上就是爬蟲小技巧利用Mitmproxy破解app的詳細(xì)內(nèi)容,更多關(guān)于破解app的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python爬取視頻時(shí)長場(chǎng)景實(shí)踐示例
這篇文章主要為大家介紹了Python獲取視頻時(shí)長場(chǎng)景實(shí)踐示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
python訪問mysql數(shù)據(jù)庫的實(shí)現(xiàn)方法(2則示例)
這篇文章主要介紹了python訪問mysql數(shù)據(jù)庫的實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了兩種Python操作MySQL數(shù)據(jù)庫的相關(guān)技巧,需要的朋友可以參考下2016-01-01
python flask中動(dòng)態(tài)URL規(guī)則詳解
今天小編就為大家分享一篇python flask中動(dòng)態(tài)URL規(guī)則詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11
python獲取時(shí)間及時(shí)間格式轉(zhuǎn)換問題實(shí)例代碼詳解
這篇文章主要介紹了python獲取時(shí)間及時(shí)間格式轉(zhuǎn)換,需要的朋友可以參考下2018-12-12
drf-router和authenticate認(rèn)證源碼分析
在 Rest Framework 中提供了兩個(gè) router , 可以幫助我們快速的實(shí)現(xiàn)路由的自動(dòng)生成,本文通過實(shí)例代碼給大家介紹drf-router和authenticate認(rèn)證源碼分析,感興趣的朋友跟隨小編一起看看吧2021-07-07
python3格式化字符串 f-string的高級(jí)用法(推薦)
從Python 3.6開始,f-string是格式化字符串的一種很好的新方法。與其他格式化方式相比,它們不僅更易讀,更簡(jiǎn)潔,不易出錯(cuò),而且速度更快!本文重點(diǎn)給大家介紹python3格式化字符串 f-string的高級(jí)用法,一起看看吧2020-03-03
在Python的Django框架的視圖中使用Session的方法
這篇文章主要介紹了在Python的Django框架的視圖中使用Session的方法,包括相關(guān)的設(shè)置測(cè)試Cookies的方法,需要的朋友可以參考下2015-07-07

