Drozer是一款用于测试android应用程序漏洞的安全评估工具,可以发现多种类型的安全的漏洞,免费版本的相关资源下载地址:java
https://www.mwrinfosecurity.com/products/drozer/community-edition/android
其中包含了Drozer的使用说明书,里面对Drozer的使用方法进行了详细的描述。安全
攥写本文的目的在于提取说明书内主要关键步骤,并结合实际例子,以便于本身可以快速参考和使用,同时也方便英文很差的同事作参考。app
(1)、安装JAVA JRE或JDK,并设置java路径到环境变量path(过程略)。tcp
(2)、安装Android SDK,并添加ADB到环境变量path(过程略)。ide
(1)、下载并安装Drozer(默认安装路径:C:\drozer\)。工具
(2)、将Drozer agent安装到手机终端,并打开Drozer angent,如图:测试
(3)、启动命令行,设置端口转发:spa
adb forward tcp:31415 tcp:31415命令行
(4)、启动链接,进入Drozer命令行。
C:\drozer\drozer.bat console connect
注意:执行该命令时命令行所在的路径最好和Drozer安装路径一致,不然可能会出现 莫名其妙的问题。
(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