這篇文章從往年很早就想寫(xiě),一向沒(méi)時(shí)候,剛好過(guò)段時(shí)候有沙龍是講這方面的東西,清算了下就有了下文。

以往安然歡愉愛(ài)好者研究的常常是app的本地安然,好比遠(yuǎn)控、利用破解、信息盜取等等,大年夜多人還沒(méi)有存眷到app辦事端的安然標(biāo)題問(wèn)題,因而在這塊的安然縫隙很是多。
移動(dòng)app大年夜多經(jīng)由過(guò)程web api辦事的編制跟辦事端交互,這類模式把移動(dòng)安然跟web安然綁在一路。移動(dòng)app以web辦事的編制跟辦事端交互,辦事器端也是一個(gè)揭示信息的網(wǎng)站,常見(jiàn)的web縫隙在這也存在,好比說(shuō)SQL注進(jìn)、文件上傳、中間件/server縫隙等,可是因?yàn)椴块T(mén)app不是直接嵌進(jìn)網(wǎng)頁(yè)在app中,而是利用的api接口返回josn數(shù)據(jù),導(dǎo)致掃描器爬蟲(chóng)沒(méi)法爬取鏈接。
下圖是抓的糗事百科糗事列表,contet字段內(nèi)容與我無(wú)關(guān) -_-|||

那么我測(cè)驗(yàn)測(cè)驗(yàn)往找app辦事端的縫隙,今朝想到的兩種編制:
1.反編譯APP
2.http[s]代辦署理抓包
那么有人應(yīng)當(dāng)會(huì)提出標(biāo)題問(wèn)題,這兩種編制拿到的鏈接都是零零散散的,也不好找縫隙啊,我這邊的操縱編制是把所有抓取的鏈接直接提交任務(wù)到多引擎web縫隙掃描器,掃描器可以批量掃SQL注進(jìn)等等,其實(shí)除這些縫隙,還有良多可以操縱的信息。
1、反編譯APP
有兩種反編譯編制,dex2jar和apktool,兩個(gè)東西反編譯的結(jié)果是不一樣的,dex2jar反編譯出java源代碼,apktool反編譯出來(lái)的是java匯編代碼。
1. dex2jar反編譯
東西:dex2jar+jdgui
編制:
a. 點(diǎn)竄apk為zip擴(kuò)大名

b. 解壓出classes.dex文件
c.利用dex2jar反編譯(dex2jar.bat classes.dex)
最后反編譯出來(lái)的源碼以下圖。當(dāng)然部門(mén)類被建設(shè)proguard.cfg 混合了,可是仍是可以操縱的。

2. apktool反編譯
東西:apktool
這個(gè)東西比較簡(jiǎn)單,直接(apktool d apkfile)便可以反編譯apk文件,反編譯出來(lái)的東西為smali反匯編代碼、res資本文件、assets建設(shè)文件、lib庫(kù)文件,我們可以直接搜刮smali文件和資本文件來(lái)查找鏈接等。
操縱app查找網(wǎng)站真實(shí)IP
除app辦事端的縫隙,還有一個(gè)比較好玩的操縱編制,經(jīng)由過(guò)程匯集app里面的子域名ip來(lái)尋覓方針網(wǎng)站的真實(shí)IP,按照經(jīng)驗(yàn),大年夜多app的接口都沒(méi)有益用cdn等辦事。

糗事百科真實(shí)IP
以往安然歡愉愛(ài)好者研究的常常是app的本地安然,好比遠(yuǎn)控、利用破解、信息盜取等等,大年夜多人還沒(méi)有存眷到app辦事端的安然標(biāo)題問(wèn)題,因而在這塊的安然縫隙很是多。
2、http[s]代辦署理抓包
這個(gè)別例操縱在移動(dòng)設(shè)備上設(shè)置代辦署理,經(jīng)由過(guò)程人工把持使app與辦事端交互,
步調(diào):
a. 在抓包機(jī)械上開(kāi)啟代辦署理,測(cè)試可以用burp,需要主動(dòng)化提交掃描任務(wù)可以本身寫(xiě)一個(gè)代辦署理法度,移動(dòng)設(shè)備設(shè)置代辦署理辦事器。

b. 在移動(dòng)設(shè)備上把持app,代辦署理端抓取以下。

總結(jié):
全部思路已很清晰,那么其實(shí)要做的就是讓這個(gè)過(guò)程主動(dòng)化,反編譯以后有一個(gè)標(biāo)題問(wèn)題,url不必然完全,良多URL都是拼接起來(lái)的,我測(cè)驗(yàn)測(cè)驗(yàn)寫(xiě)一套闡發(fā)引擎,主動(dòng)化反編譯,然后經(jīng)由過(guò)程對(duì)源碼的闡發(fā),拼接完全的api url,再進(jìn)行縫隙掃描。
下圖是一個(gè)dome,后面預(yù)備用python來(lái)寫(xiě),放到辦事器上。
