1、简介:
Drozer是一款用于测试android应用程序漏洞的安全评估工具,能够发现多种类型的安全的漏洞,免费版本的相关资源下载地址:
https://www.mwrinfosecurity.com/products/drozer/community-edition/
其中包含了Drozer的使用说明书,里面对Drozer的使用方法进行了详细的描述。
攥写本文的目的在于提取说明书内主要关键步骤,并结合实际例子,以便于自己能够快速参考和使用,同时也方便英文不好的同事做参考。
2、环境要求:
(1)、安装JAVA JRE或JDK,并设置java路径到环境变量path(过程略)。
(2)、安装Android SDK,并添加ADB到环境变量path(过程略)。
3、准备工作(Windows):
(1)、下载并安装Drozer(默认安装路径:C:\drozer\)。
(2)、将Drozer agent安装到手机终端,并打开Drozer angent,如图:
(3)、启动命令行,设置端口转发:
adb forward tcp:31415 tcp:31415
(4)、启动连接,进入Drozer命令行。
C:\drozer\drozer.bat console connect
注意:执行该命令时命令行所在的路径最好和Drozer安装路径一致,否则可能会出现 莫名其妙的问题。
4、常用命令:
(1)、获取指定的安装包的详细信息:
run app.package.info -a packageName
(2)、分析指定安装包的攻击面:
run app.package.attacksurface packageName
(3)、获取指定安装包的对外导出的activity列表:
run app.activity.info -a packageName
(4)、启动安装包指定的activity
run app.activity.start --component packageName activityName
(5)、获取指定安装包的对外导出的content provider的信息:
run app.provider.info -a packageName
(6)、扫描指定安装包的content provider的URI:
run scanner.provider.finduris -a packageName
注:Able表示可通过该URI读取数据,反之,Unable表示不可读取。
(7)、读取指定的uri的数据(必须是可读取的uri,参考第6点):
run app.provider.query contentProviderURI
(8)、对指定安装包的content provider进行SQL注入漏洞扫描。
run scanner.provider.injection -a packageName
(9)、SQL注入手动测试语句:
projection 测试:run app.provider.query contentProviderURI --projection "'"
selection 测试:run app.provider.query contentProviderURI --selection "'"
projection注入语句测试:run app.provider.query contentProviderURI --projection "* FROM xx;--"
Selection注入语句测试:run app.provider.query contentProviderURI --selection "1=1);--"
(10)、对指定安装包的content provider进行目录遍历漏洞扫描:
run scanner.provider.traversal -a packageName
(11)、手动测试目录遍历漏洞:
读取指定路径文件内容:run app.provider.read contentProviderURI+filePath
下载安装包目录下指定目录下的文件:run app.provider.download contentProviderURI+filePath exportPath
(12)、获取指定安装包的androidmanifest.xml的内容:
run app.package.manifest packageName