APP测试
进行APP测试时,需要使用手机或者模拟器进行测试,这时,需要连接。
工具:
逍遥模拟器
ADB
drozer
1.先要使用电脑连接到模拟器,(研究了一下午)。
2.首先要开启模拟器的USB调试模式才行。(第一坑)
逍遥模拟器USB调试位置:
设置--->关于平板电脑--->版本号(多点几下),然后返回到设置,会发现一个开发者功能,然后点击进去找到USB调试选择即可。
3.开启USB调试模式之后,需要使用drozer 进行连接,把drozer 手机端按在模拟器上。然后启动
4.然后使用adb去连接。
adb devices 查看手机连接状态
adb forward tcp:31415 tcp:31415 端口转发
adb kill-server adb devices 服务重启
注:(很大的坑)
当你把USB调试模式开启后,发现也无法连接。显示一个关于5037端口的问题。说5037端口被占用。
解决方案:
在cmd中找到该端口。
netstat -ano |findstr "5037"
然后查看该端口运行的什么程序
tasklist | findstr "进程号"
然后杀死改进程
taskkill -f -im 运行的程序名
注:(最大的坑)
USB模式也开启了,端口也没有被占用。然而还是无法连接成功。
使用adb 进行端口转发,然而模拟器中也有一个adb,这两个adb竟然版本号不同,需要相互替换一下。换成同一个即可。
5.以上方式足以能解决adb 端口转发问题。端口转发成功后,使用drozer进行连接
drozer console connect
连接成功。
开始测试
1.查看所有的包名
run app.package.list
2.加-f参数 可以筛选
run app.package.list -f dz
3.获得包的基本信息
run app.package.info -a com.mwr.dz
4.确定攻击面
run app.package.attacksurface com.mwr.dz
Activity
获取activity信息
run app.activity.info -a 包名
直接调用某个activity,查看app。
run app.activity.start --component com.mwr.dz com.mwr.dz.activities.MainActivity
Broadcast Receiver
获取 Broadcast Receiver信息
run app.broadcast.info -a 包名
Services
获取services信息
run app.service.info -a 包名
Contend Provider
获取Contend Provider信息
run app.provider.info -a 包名
测试,是否存在content可被访问
run scanner.provider.finduris -a 包名
查看所有的 Content Provider
run app.provider.finduri 包名
根据上述查询出的URL,进而查询其中的数据。
run app.provider.query 包名 --vertical
利用app.provider.read 搜索并利用本地文件包含漏洞
run app.provider.read content://上述URL/../../../../etc/hosts