記一次授權(quán)的APK滲透測試
原創(chuàng): luc1fer 合天智匯 作為一個滲透測試小白,本文的目的是希望能為那些和我一樣的小白提供一些測試思路。涉及的內(nèi)容可能比較基礎(chǔ),表哥們見諒。APK 解包拿到 apk 之后直接用 7-Zip 解壓可以得到幾個文件夾、一個 AndroidManifest....
原創(chuàng): luc1fer 合天智匯
作為一個滲透測試小白,本文的目的是希望能為那些和我一樣的小白提供一些測試思路。
涉及的內(nèi)容可能比較基礎(chǔ),表哥們見諒。
APK 解包
拿到 apk 之后直接用 7-Zip 解壓可以得到幾個文件夾、一個 AndroidManifest.xml 文件、一個dex文件。使用 dex2jar https://sourceforge.net/projects/dex2jar/ 將這個dex文件解壓會生成一個jar文件,然后使用jd-gui就可以查看java源代碼了。
當然可以從源碼里找代碼的漏洞,但是一般會有混淆,在這也不做深入討論。
上邊提到的 xml 文件一定不能發(fā)放過,里邊涉及到許多重要的配置項,比如:
- AndroidManifest.xml文件中android:debuggable為true。app 可被任意調(diào)試
- AndroidManifest.xml文件中android: allowBackup為true。app 數(shù)據(jù)可以被備份導出。
- 等等...
還有一點在實際測試過程中可能會用到:在對 apk 解壓之后可以嘗試在 powershell 里邊搜一下 db 文件,說不定有敏感信息(為什么這么說,因為我碰到過一次...)
for /r F:\source-code %i in (*.db) do echo %i
大家有興趣的話可以上合天網(wǎng)安實驗室做相關(guān)的實驗,推薦實驗:
apk安全分析檢測:
http://www.hetianlab.com/expc.do?ec=ECID172.19.104.182014112814012900001
(通過實驗學習如何運行apk安全分析檢測程序,對apk進行安全分析檢測,通過分析發(fā)現(xiàn)其中的潛在威脅。)
登陸頁面
用戶名可枚舉
輸入用戶名之后響應用戶名不存在,這就是最簡單的枚舉用戶名的情形了。
這次碰到的是登陸不需要密碼,但是要輸入已經(jīng)注冊過的用戶名,之后會根據(jù)用戶名發(fā)送驗證碼到對應手機,同時設置了 120s 內(nèi)不能重新發(fā)送,并且驗證碼 120s 內(nèi)有效。
這時候看起來我們沒辦法通過驗證碼做什么事,但是在實際測試過程中發(fā)現(xiàn)
1. 當我們輸入存在的賬號之后提示發(fā)送成功;
2. 重復發(fā)送,會響應 120s 內(nèi)不能重復發(fā)送;
3. 輸入不存在用戶會提示發(fā)送失敗。
所以這個時間限制對用戶名枚舉其實沒什么影響,我們可以通過爆破用戶名根據(jù)返回的信息來查看用戶名是否存在。
等等,既然咱都不知道手機號,也不讓輸密碼登陸,就算得到用戶名生成社工字典也沒法用啊,那拿到了用戶名有什么用?
當然有用,不過要看具體場景,比如下面這個案例
任意驗證碼繞過
當我們登陸時服務端給賬號綁定的手機號發(fā)送短信驗證碼,我們輸入一個上一步得到的賬號,驗證碼隨便輸,點擊登陸后抓包,登陸失敗,發(fā)現(xiàn)響應中有兩個 code 字段
改改試試:
It works!
驗證碼繞過漏洞:
http://www.hetianlab.com/expc.do?ec=ECIDee9320adea6e062017120716481900001
(掌握常見的驗證碼繞過漏洞原理,以及繞過方式利用和漏洞防護)
功能頁面
成功登錄之后,各個功能都點點看看,在個人信息頁面有一個查詢實時在線人數(shù)功能,那一欄只顯示了人數(shù),旁邊并沒有箭頭
我一度以為那里不能點擊(事實上因為數(shù)據(jù)量太大,加載了好長時間,我直接點返回了,給我的感覺就是這里沒有東西),進去之后就可以看到所有登陸人員的信息了。
在我嘗試了不同用戶之后,發(fā)現(xiàn)這里的用戶信息并沒有權(quán)限限制,也就是說對所有人都是可見的,明顯的權(quán)限配置不當。
除此之外,應用存在幾處查詢功能,通過BURP 看到返回的數(shù)據(jù)包都是 JSON 類型
因為沒什么經(jīng)驗,所以就多嘗試嗎,在 json 那里注入,xxe 都來一遍,沒啥用。
前面還有一個參數(shù),試試?
有戲!
試試 xss 吧
放到瀏覽器成功彈窗!
XSS跨站腳本攻擊原理與實踐:
http://www.hetianlab.com/expc.do?ec=ECIDee9320adea6e062017112120313800001
(本實驗將詳細介紹XSS攻擊的原理)
總結(jié)
平時做測試還是要細心,多總結(jié),每一個能輸入的地方都不能放過,多試試總是好的。
聲明:作者初衷用于分享與普及網(wǎng)絡知識,若讀者因此作出任何危害網(wǎng)絡安全行為后果自負,與合天智匯及原作者無關(guān)。
推薦閱讀:蘋果7和7p哪個更實用