android抓包为什么有些数据抓不了?抓包的辛酸历程
一、開篇閑扯
不知道該從哪個方面來寫這10天的收獲,但確切的說:這10天我收獲很大,也暴露出自己潛在的一些問題。為了讓看官更快的知道藝靈接下來要講啥,所以我會把主要的東西簡練成一句話放前面。至于后面的2千來字,全是回憶這10天我是怎么入坑爬坑,再入坑再爬坑以及自己是有多么的無知的過程。
二、核心點
SSL Pinning、App逆向反編譯、用證書的密鑰來解鎖證書
三、建議
沒錯,整篇文章要講的東西只用上面一句話就概括了!下面就是閑扯時刻......
如果看官跟藝靈一樣是一個門外漢但又想抓取app的數據,藝靈建議看官花10來分鐘的時間閱讀剩下2千字。先不說防坑了,起碼會給你介紹若干款抓包神器+幾款模擬器+開掛神器+反編譯神器+繞過SSL Pinning的最簡單方法!就算你最后抓包不成,下次抓包時,不用為了找抓包工具和環境而苦惱,也不用糾結于哪款抓包工具更牛!對不?不過話說回來,接下來的內容但愿會讓你快速定位問題并對癥下藥,而不是眉毛胡子一把抓,不停的在坑中徘徊!與坑做無畏的斗爭!!!
四、前三天是盲目的不停更換抓包工具
正如小標題所說,前三天我在不停的更換抓包工具。
最先,我使用了業內比較知名的Fiddler工具,但是獲取http數據正常,只要是https數據全部狀態為400。配圖一張:fiddler抓包時https狀態為400
然后我以為是工具問題,于是又換了Charles,結果還是一樣。
接著我又換了spy-debugger,結果同上。
接著我又換了mitmproxy,結果同上。
然后我又問@趙哥抓App用啥工具,當時趙哥回我:抓包用Thor。好吧,小白第一次聽說,然后就開始在網上搜索,幾經折騰,終于在二手的6s上成功安裝了Thor 1.3版本,當時內心無比激動!畢竟這玩意現在是收費的,而且網上說的也很牛逼!接著我就在6s上打開了我要抓包的那款App,心里滿懷期待!那個激動啊!萬萬沒想的到的是:下一秒竟然翻車了!!!熟悉的界面再次出現在眼前!如圖:只要用抓包工具此app就沒有網絡我瞬間......
一款款比較牛逼的抓包軟件相繼失敗,我開始懷疑人生,心中暗想:我了個去!這個App到底使用了什么鬼技術,這些抓包工具全都抓不了數據,這也太不科學了吧!內心無數的疑問,就不寫了,看官自己感受下就行了。
五、初識SSL Pinning
越想越不對勁,接下來我又開始在網上搜索,最后找到了一篇文章介紹說:這是使用了SSL Pinning技術。現在忘記是哪一篇文章了,于是我又按照這個線索專門搜索有關:SSL Pinning相關的資料。
至于啥是SSL Pinning,其實我也不是很懂,我現在的理解就是:這玩意兒采用的是客戶端和服務器雙向驗證技術來防止市場上常見的抓包工具進行抓包。想知道詳細的自行網上搜索吧。
其實此時我還并不確定這款App采用的就是SSL Pinning,但是至少有了點頭緒了。于是接下來就是換工具進行抓包了。
網上搜索后發現有文章說:使用Xposed+JustTrustMe來突破SSL Pinning,比如這篇文章:https://bbs.pediy.com/thread-226435.htm、https://blog.csdn.net/hldh214/article/details/84310876。于是我又開始在電腦上的模擬中按教程操作,不得不說:不是所有的模擬器都是那么的好用,也不是所有的模擬器都向官方說的那么牛逼!
在挑選安卓模擬器的時候我又遇到了新坑,暫且不說在模擬器上安裝Xposed+JustTrustMe會遇到一些失敗的問題這個坑,就說你要抓包的這款app能不能在模擬器上運行吧!
夜神模擬器,大家都比較熟悉了吧,但此款App在最新版的夜神無法運行,一打開就提示:很抱歉,程序已停止運行!相信對于經常使用模擬器的玩家來說,這個彈窗非常熟悉了吧!什么改兼容版本、改cpu內核、改分辨率啥的全試過了,此款app還是不行!(有些app是可以的)最后放棄夜神模擬器。
再來說說網易推出的mumu模擬器,app可正常運行,在裝Xposed+JustTrustMe時遇到了點問題最后解決了,但按文章說的證書操作時,我本地卻無法安裝Burp Suite自帶的.der證書!即使是改名后從sd卡安裝也不行,然后這款模擬器也放棄了。
接下來雷電模擬器失敗、天天模擬器失敗、逍遙模擬器竟然不卡殼一次性通過!此時我內心又開始激動了起來,于是又按照文章教程操作。很顯然,Xposed+JustTrustMe并沒有發揮出功效。有必要說明一下,網上也有說使用VirtualXposed可以免root抓包的,地址:https://xposed.appkg.com/2799.html,經測試,對此app無效!
接下來又搜索到了逆向神器Frida,然后打開命令行,一波操作猛如虎安裝成功。接下來按照這篇文章:https://blog.csdn.net/xiaohua_de/article/details/80259920開始使用注入的方法了。然后我又在注入上面卡了幾天。
最先開始是命令跑不起來,跑起來后發現模擬器不行,需要用真機環境!但真機需要root,當天我有點糾結。
次日,我也不管了,在網上下了個oppo a33相關的刷機包對手機進行了刷機。這也是我第一次親手給手機刷機,刷機后開不了機,長按音量鍵和開機鍵也沒反應,當時把我還嚇壞了,心想:這手機該不會就這樣變成板磚了吧,我這抓包還沒成功呢你就先犧牲了......
又在網上搜索了下,后來長按了30來秒才開機,這時間可真長!本以為刷機后手機就已經root了,但這個刷機包把手機上預裝了一堆軟件,卸載都卸載不掉。于是接下來就是找root工具對手機進行root!先后試過了幾款root工具,都沒有成功,最后用刷機精靈成功root!別提我當時多興奮了,在電腦上卸載了一堆剛對待預安裝的軟件。然后我把輸入法也給卸載了,我以為這是第三方的。直到我打開app要輸入內容時才發現:軟鍵盤不見了!然后又是安裝第三方軟鍵盤,并沒有用。于是進行了恢復出廠設置,再安裝才有輸入法。唉,我這都搞的啥事啊......
既然現在手機也已經root,那勝利就在眼前了!連上USB,命令行中一波命令跑起來,結果走到./frida-server這一步時,出現各種問題,先后經歷了報錯、無權限等好幾波錯誤,最后一一解決。幾經波折,終于把文章中的前8步都走完了,只剩下最后一步了!我又開始激動了起來,但第9步說要掛VPN,掛就掛唄!于是又給手機裝VPN,裝完了再看Brup Suite結果發現連攔截都不攔截了,直接不走這里!!!而且此時app里一直提示著:證書路徑錯誤的提示。好吧,我承認這個frida我又不會玩......
六、誤撞逆向大神得救
在上面的步驟中,我已經開始向逆向沾邊了,接下來就是用apk反編譯工具。例如文章:https://blog.csdn.net/katrinawj/article/details/80016315?但是,即使我用dex2jar、jd-ui按照教程對app進行了脫殼得到了classes-dex2jar.jar文件,但我壓根就不會安卓啊!接下來該怎么搞?我要怎么盤classes-dex2jar.jar?一臉迷茫......
差不多也是這個時候,之前在csdn上咨詢的那個逆向大神用郵件回復我了。原來他已經搞定了!不得不說:大神就是大神,一出手效果立竿見影!此時,我已經佩服的五體投地!
后來,逆向大神又發來郵件并附帶了一篇教程。按照大神的提示,我對幾個版本的app進行逆向后也得到了原證書的密鑰。話說,我這還是第一次折騰逆向。但此時正在閱讀文章的看官應該能想到此時我的心理活動:現在密鑰是有了,可我要怎么使用呢?......
雖然文章中附帶有Charles配置SSL Proxying Settings的步驟,但我按照步驟操作后并沒有實現預期效果。就這樣,又瞎耗了一天時間。不得不說:不會英語真的很吃虧的!不會英語真的很吃虧的!不會英語真的很吃虧的!以后一定讓我的孩子學好英語,不說做為主語吧,起碼閱讀無障礙就行。什么孩子?對象還沒有呢!這真是一個悲傷的故事......
前面說了,雖然我拿到了證書的密鑰,但是還是無法抓包,主要就是原因:
安裝的app版本與證書密鑰版本不符!!!雖然SSL Proxying和Client Certificates也要注意添加域名和證書,但這個并不是主要的原因,但對破解也非常重要!
好了,最后來一張成功的效果圖吧!如圖:最后Charles中可以抓取數據了
七、最后
廢話這么多,最后在大神的指點下成功了,主要還是因為:使用此app某版本反編譯后獲取了該版本的密鑰,然后用此密鑰來解鎖證書限制。說白了,還是要用原配的鑰匙才能開鎖!對于不知道密鑰的app,我就不知道咋搞了,逆向這東西可真不是個簡單的事情!
對于這10天的我來說,就像是撿到了失傳已久的獨孤九劍、九陽神功、降龍十八掌、乾坤大挪移等眾多武林絕學,但可惜骨骼不驚奇沒有練武天賦,浪費了這么多神器......
總結
以上是生活随笔為你收集整理的android抓包为什么有些数据抓不了?抓包的辛酸历程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: signature=486e344006
- 下一篇: ansible的错误