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 

 

posted @ 2018-12-04 11:01  G0mini  阅读(849)  评论(0编辑  收藏  举报