移動APP安全在滲透測試中的應用


http://netsecurity.51cto.com/art/201403/433726_all.htm

以往安全愛好者研究的往往是app的本地安全,比如遠控、應用破解、信息竊取等等,大多人還沒有關注到app服務端的安全問題,於是在這塊的安全漏洞非常多。

移動app大多通過web api服務的方式跟服務端交互,這種模式把移動安全跟web安全綁在一起。移動app以web服務的方式跟服務端交互,服務器端也是一個展示信息的網站,常見的web漏洞在這也存在,比如說SQL注入、文件上傳、中間件/server漏洞等,但是由於部分app不是直接嵌入網頁在app中,而是使用的api接口返回josn數據,導致掃描器爬蟲無法爬取鏈接。

下圖是抓的糗事百科糗事列表,contet字段內容與我無關 -_-|||

移動APP安全在滲透測試中的應用

那么我嘗試去找app服務端的漏洞,目前想到的兩種方法:

1.反編譯APP 
2.http[s]代理抓包

那么有人應該會提出問題,這兩種方式拿到的鏈接都是零零散散的,也不好找漏洞啊,我這邊的利用方式是把所有抓取的鏈接直接提交任務到多引擎web漏洞掃描器,掃描器可以批量掃SQL注入等等,其實除了這些漏洞,還有很多可以利用的信息。

一、反編譯APP

有兩種反編譯方式,dex2jar和apktool,兩個工具反編譯的效果是不一樣的,dex2jar反編譯出java源代碼,apktool反編譯出來的是java匯編代碼。

1. dex2jar反編譯

工具:dex2jar+jdgui

方法:

a. 修改apk為zip擴展名

 移動APP安全在滲透測試中的應用

b. 解壓出classes.dex文件

c.使用dex2jar反編譯(dex2jar.bat classes.dex)

移動APP安全在滲透測試中的應用

最后反編譯出來的源碼如下圖。雖然部分類被配置proguard.cfg 混淆了,但是還是可以利用的。

移動APP安全在滲透測試中的應用

2. apktool反編譯

工具:apktool

這個工具比較簡單,直接(apktool d apkfile)就可以反編譯apk文件,反編譯出來的東西為smali反匯編代碼、res資源文件、assets配置文件、lib庫文件,我們可以直接搜索smali文件和資源文件來查找鏈接等。

移動APP安全在滲透測試中的應用

利用app查找網站真實IP

除了app服務端的漏洞,還有一個比較好玩的利用方式,通過收集app里面的子域名ip來尋找目標網站的真實IP,根據經驗,大多app的接口都沒有使用cdn等服務。

移動APP安全在滲透測試中的應用

糗事百科真實IP

移動APP安全在滲透測試中的應用

 

二、http[s]代理抓包

這個方法利用在移動設備上設置代理,通過人工操作使app與服務端交互,

步驟:

a. 在抓包機器上開啟代理,測試可以用burp,需要自動化提交掃描任務可以自己寫一個代理程序,移動設備設置代理服務器。

移動APP安全在滲透測試中的應用

b. 在移動設備上操作app,代理端抓取如下。

移動APP安全在滲透測試中的應用

總結:

整個思路已經很清晰,那么其實要做的就是讓這個過程自動化,反編譯之后有一個問題,url不一定完整,很多URL都是拼接起來的,我嘗試寫一套分析引擎,自動化反編譯,然后通過對源碼的分析,拼接完整的api url,再進行漏洞掃描。

下圖是一個dome,后面准備用python來寫,放到服務器上。

移動APP安全在滲透測試中的應用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM