標籤:set blank tool 引擎 方法 jpg 經驗 程式 3.5
http://netsecurity.51cto.com/art/201403/433726_all.htm
以往安全愛好者研究的往往是app的本地安全,比如遠控、應用破解、資訊竊取等等,大多人還沒有關注到app服務端的安全問題,於是在這塊的安全性漏洞非常多。
移動app大多通過web api服務的方式跟服務端互動,這種模式把Mobile Security跟web安全綁在一起。移動app以web服務的方式跟服務端互動,伺服器端也是一個展示資訊的網站,常見的web漏洞在這也存在,比如說SQL注入、檔案上傳、中介軟體/server漏洞等,但是由於部分app不是直接嵌入網頁在app中,而是使用的api介面返回josn資料,導致掃描器爬蟲無法爬取連結。
是抓的糗事百科糗事列表,contet欄位內容與我無關 -_-|||
那麼我嘗試去找app服務端的漏洞,目前想到的兩種方法:
1.反編譯APP 2.http[s]代理抓包
那麼有人應該會提出問題,這兩種方式拿到的連結都是零零散散的,也不好找漏洞啊,我這邊的利用方式是把所有抓取的連結直接提交任務到多引擎web漏洞掃描器,掃描器可以批量掃SQL注入等等,其實除了這些漏洞,還有很多可以利用的資訊。
一、反編譯APP
有兩種反編譯方式,dex2jar和apktool,兩個工具反編譯的效果是不一樣的,dex2jar反編譯出java原始碼,apktool反編譯出來的是java彙編代碼。
1. dex2jar反編譯
工具:dex2jar+jdgui
方法:
a. 修改apk為zip副檔名
b. 解壓出classes.dex檔案
c.使用dex2jar反編譯(dex2jar.bat classes.dex)
最後反編譯出來的源碼如。雖然部分類被配置proguard.cfg 混淆了,但是還是可以利用的。
2. apktool反編譯
工具:apktool
這個工具比較簡單,直接(apktool d apkfile)就可以反編譯apk檔案,反編譯出來的東西為smali反組譯碼代碼、res資源檔、assets設定檔、lib庫檔案,我們可以直接搜尋smali檔案和資源檔來尋找連結等。
利用app尋找網站真實IP
除了app服務端的漏洞,還有一個比較好玩的利用方式,通過收集app裡面的子網域名稱ip來尋找目標網站的真實IP,根據經驗,大多app的介面都沒有使用cdn等服務。
糗事百科真實IP
二、http[s]代理抓包
這個方法利用在行動裝置上設定代理,通過人工操作使app與服務端互動,
步驟:
a. 在抓包機器上開啟代理,測試可以用burp,需要自動化提交掃描任務可以自己寫一個代理程式,行動裝置設定Proxy 伺服器。
b. 在行動裝置上操作app,代理端抓取如下。
總結:
整個思路已經很清晰,那麼其實要做的就是讓這個過程自動化,反編譯之後有一個問題,url不一定完整,很多URL都是拼接起來的,我嘗試寫一套分析引擎,自動化反編譯,然後通過對源碼的分析,拼接完整的api url,再進行漏洞掃描。
是一個dome,後面準備用python來寫,放到伺服器上。
移動APP安全在滲透測試中的應用