android app 渗透测试,android app渗透测试方法大全.pdf
Android APP 滲透測試方法大全
by backlion
一、Android APP 滲透測試方法
1.測試環境
SDK : J a JDK , Android SDK。
工具: 7zip, dex2jar ,jd -gui, apktool, IDA pro (6.1), ApkAnalyser , Eclipse,
dexopt-wrapper ,
010 editor , SQLite Studio, ApkIDE。
apk 工具: android 組件安全測試工具, activity 劫持測試工具, android 擊鍵記錄
測試工具,
工具(proxydroid), MemSpector, Host Editor
2.客戶端程序安全測試
2.1 數字簽名檢測
C:\ Program Files\J a\jdk1.8.0_111\ bin\jarsigner.exe -verify APK 文 件 路 徑
-verbose –certs
當輸出結果為“jar 已驗證”時,表示簽名正常
檢測簽名的 CN 及其他字段是否正確標識客戶端程序的來源和發布者身份
如上圖,說明測試結果為安全。
要說明的是,只有在使用直接客戶的 簽名時,才認為安全。 Debug 、第 (如
開發方) 等等均認為風險。
2.2.反編譯檢測
把 apk 當成 zip 并解壓,得到 classes.dex 文件(有時可能不止一個 dex 文件,但文
件名大多類似)
使用 dex2jar 執行如下命令:
dex2jar.bat classes.dex 文件路徑
得到 classes.dex.jar
然后使用 jd -gui 打開 jar 文件,即可得到 J A 代碼。【注: 直接使用 smali2j a 或
者 APKAnalyser 打開 apk 文件,也可反編譯回 J a 代碼】
【注:有時用apktool 能夠解包并查看 smali,但 dex2jar 卻不行。如果 dex2jar 反編
譯失敗,可以試試看能 恢復 smali 代碼。】逆向后發現是沒混淆的情況,是不安全的。
如果代碼經過混淆,或者有加殼措施, 完整恢復源代碼的,都可以認為此項安全 ,混淆
后的代碼樣例,除了覆寫和接口以外的字段都是無意義的名稱。如下圖已加密混淆 ,除了覆
寫和接口以外的字段都是無意義的名稱::
反編譯為 smali 代碼
使用 apktool 工具可以對 apk 進行解包。具體的解包命令格式為:apktool d[ecode]
[OPTS] [
1.如果只需要修改 smali 代碼,不涉及資源文件的修改,可以在解包時加入 -r 選項(也
可
以直接使用 baksmali 將 dex 反編譯為 smali 代碼,見 5.3),不解碼 apk 中的資源。
在打包時可以避免資源方面的問題(如 aapt 報的各種錯誤)。
2. 如果只需要反編譯資源文件,可以在解包時加入-s 選項,不對 classes.dex 進行反編譯。
3. 如果在 5.6.1 使用 apktool 打包 smali 代碼中出現資源相關的錯誤,可能是需要較新
的
framework 文件。可 此處,添加 framework 文件。例如,添加 Android 4.4.2 SDK
中的 framework 文件,命令如下:
4. 解包時指定相應的 framework (上面命令中的tag0 是對添加的 framework 的標記,
用于標識不同的 framework),如圖所示:
解包完成后,會將結果生成在指定的輸出路徑中,其中,smali 文件夾下就是最終生成的
Dalvik VM 匯編代碼,AndroidManifest.xml 文件以及 res 目錄下的資源文件也已被解
碼。如圖:
處 理 odex 文
總結
以上是生活随笔為你收集整理的android app 渗透测试,android app渗透测试方法大全.pdf的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何准备拜访新客户
- 下一篇: aap渗透_一次App 渗透实战