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

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

以往安全愛好者研究的每每是app的本地安全,好比遠控、應用破解、信息竊取等等,大多人尚未關注到app服務端的安全問題,因而在這塊的安全漏洞很是多。python

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

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

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

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

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

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

1、反編譯APPapp

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

1. dex2jar反編譯工具

工具:dex2jar+jdguiweb安全

方法:

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安全在滲透測試中的應用

 

2、http[s]代理抓包

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

步驟:

a. 在抓包機器上開啓代理,測試能夠用burp,須要自動化提交掃描任務能夠本身寫一個代理程序,移動設備設置代理服務器。

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

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

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

總結:

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

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

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

相關文章
相關標籤/搜索