初識APP安全性測試
作者:網絡轉載 發布時間:[ 2015/12/1 14:51:05 ] 推薦標簽:App測試 安全性測試
前言
隨著互聯網發展,APP應用的盛行,近了解到手機APP相關的安全性測試,以webview為主體的app,站在入侵或者攻擊的角度來講,安全隱患在于http抓包,逆向工程。
目前大部分app還是走的http或者https,所以防http抓包泄露用戶信息以及系統自身漏洞是必要的,通過抓包當你查看一個陌生用戶信息時,一些手機號,qq等信息頁面上應該不顯示的,但這些信息不顯示并不代表服務器沒有下發,好多都是客戶端限制的,通過抓包,完全可以查看到陌生用戶的app。再如好多發帖,push消息的應用,如果沒有消息有效性的驗證,抓到包之后篡改消息,服務器一點反應都沒,這會留有極大的隱患。逆向工程對于android很好理解了,反編譯,修改或者插入自己的代碼,以達到相應目的。
安全性測試策略
1. 用戶隱私
· 檢查是否在本地保存用戶密碼,無論加密與否
· 檢查敏感的隱私信息,如聊天記錄、關系鏈、銀行賬號等是否進行加密
· 檢查是否將系統文件、配置文件明文保存在外部設備上
· 部分需要存儲到外部設備的信息,需要每次使用前都判斷信息是否被篡改
備注:本地存儲數據可以查看看應用的SharedPreferences文件和數據庫文件中的數據(root后在應用安裝目錄內,或者查看外部存儲中有沒有寫入敏感數據)。
2. 文件權限
· 檢查App所在的目錄,其權限必須為不允許其他組成員讀寫
3. 網絡傳輸
· 檢查敏感信息在網絡傳輸中是否做了加密處理,重要數據要采用TLS或者SSL
備注:http請求默認是明文的,如果安全驗證和加密機制很爛,通過網絡嗅探掃描,很容易被猜到和模擬請求,也可能被注入。
比如:允許一個虛假的HTML形式被注入攻擊者利用來誘騙用戶輸入他們的用戶名和密碼,然后把他們的憑據發送到惡意網站。
4. 運行時解釋保護
· 對于嵌有解釋器的軟件,檢查是否存在XSS、SQL注入漏洞
· 使用webiew的App,檢查是否存在URL欺騙漏洞
5. Android組件權限保護
· 禁止App內部組件被任意第三方程序調用。
· 若需要供外部調用的組件,應檢查對調用者是否做了簽名限制
6. 升級
· 檢查是否對升級包的完整性、合法性進行了校驗,避免升級包被劫持
7.應用自身安全性
· 對某個應用進行逆向,看反編譯后的代碼有沒有敏感信息暴露。反編譯后對代碼修改,插入劫持代碼后重新打包,如果存在這種漏洞,對用戶和開發者都構成極大的威脅。
備注:要求對應用進行加密,防止靜態破解,盜取源碼,然后嵌入惡意病毒、廣告等行為再利用工具打包、簽名,形成二次打包應用
8.界面截取
· 通過adb shell命令或第三方軟件獲取root權限,在手機界面截取用戶填寫的隱私信息,隨后進行惡意行為。
安全性測試方法
如下為轉載 Seay FreeBuf 的文章
移動app大多通過web api服務的方式跟服務端交互,這種模式把移動安全跟web安全綁在一起。移動app以web服務的方式跟服務端交互,服務器端也是一個展示信息的網站,常見的web漏洞在這也存在,比如說SQL注入、文件上傳、中間件/server漏洞等,但是由于部分app不是直接嵌入網頁在app中,而是使用的api接口返回josn數據,導致掃描器爬蟲無法爬取鏈接。
下圖是抓的糗事百科糗事列表
那么我嘗試去找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
相關推薦

最新發布
性能測試之測試環境搭建的方法
2020/7/21 15:39:32軟件測試是從什么時候開始被企業所重視的呢?
2020/7/17 9:09:11Android自動化測試框架有哪些?有什么用途?
2020/7/17 9:03:50什么樣的項目適合做自動化?自動化測試人員應具備怎樣的能力?
2020/7/17 8:57:06幾大市面主流性能測試工具測評
2020/7/17 8:52:11RPA機器人能夠快速響應企業需求,是怎么做到的?
2020/7/17 8:48:05Bug可以真正消滅嗎?為什么?
2020/7/17 8:43:03軟件測試基本概念是怎么來的?軟件測試生命周期的形成歷經了什么?
2020/7/16 9:11:10