声明
本文属于OneTS安全团队成员Gal0nYu的原创文章,转载请声明出处!本文章仅用于学习交流使用,因利用此文信息而造成的任何直接或间接的后果及损失,均由使用者本人负责,OneTS安全团队及文章作者不为此承担任何责任。
本大学牲最近去实习了,当上了牛马安服仔😂
碰到了个测试app的活,但是得测客户端和服务端😓
作为一名菜鸟大学牲,哪里会测客户端啊,纯纯web狗,于是向移动端的师傅请教了下,学了几个客户端水洞,给大家分享下😸
水洞一
android客户端应用可以被调试
检测方法:
使用jadx反编译apk打开,检查 AndroidManifest.xml 文件中的 debuggable 属性是否为true
水洞二
android客户端敏感信息泄露
检测方法:
使用apkleaks工具,用命令apkleaks -f app.apk来提取apk硬编码敏感信息或者使用jadx反编译apk通过关键字检索来提取敏感信息。
水洞三
android客户端组件导出权限配置不当
检测方法:
使用drozer来检测,常用命令如下:
🔻查看可攻击点:
run app.package.attacksurface your-package-name
🔻查看activity组件信息:
run app.activity.info -a your-package-name
🔻查看broadcast组件信息:
run app.broadcast.info -a your-package-name
🔻查看services组件信息:
run app.service.info -a your-package-name
水洞四
android客户端伪造intent
检测方法:
找到content组件,看android:exported是否为true,然后尝试用drozer调用。
这里找到了com.xxx.xxx.ClipboardContentProvider组件,并且android:exported为true。
全局搜ClipboardContentProvider,查看代码,看到了getClipText方法,用于获取剪切板内容。
在app中任意复制一段内容到剪切板,然后在命令行输入以下命令即可发现可以调用这个组件获取剪切板中的内容。
adb shell content call --uri "content://com.xxx.xxx.ClipboardContentProvider" --method getClipText
水洞五
android客户端Activity劫持
检测方法:
下载安装https://github.com/yanghaoi/android_app中的apk,打开要检测的app,然后用drozer输入以下命令:
run app.activity.start --component com.test.uihijack com.test.uihijack.MainActivity
可以看到drozer server的界面被劫持。
总结
希望这些客户端水洞能给大家带来一些收获hhh,大学牲安服仔继续前行!