免责声明:由于传播、利用本公众号所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
文章作者:先知社区(WMBa0)
文章来源:https://xz.aliyun.com/news/17265
上周对某行的4个app(其实都是一个app写的模板)进行了渗透测试,记录自己渗透的一些思路和过程,已打码,仅供学习和参考。
个人是逆向出身,后来对Android感兴趣逐渐深入学习,更加偏向于本地漏洞+web渗透测试,其实还是菜鸡一个。
可能大多数厂商认为Android本地漏洞,不造成服务器危害,就不重视,甚至感觉没意义。那么本文就从一个毫不起眼的app信息泄露开始吧
脱壳
360免费版加固,frida-dexdump、blackdex都可以脱掉,这里就不演示了
https://github.com/hluwa/frida-dexdump
密码泄露
经过对app登录界面,有对密码强度进行了验证
经过对该类的方法进行hook(frida),密码直接弹出来了
这样的校验方式只能说太危险了,做的很草率
如果用户安装了木马监听app,这样密码就泄露啦
正确做法,密码不要存储在本地进行校验,发包发给服务器进行校验
那么厂商认为这样没什么危害,我也很吃惊,可能真没啥危害吧,毕竟没有直接危害他们的服务器
activity越权
看了他们的Androidmanifest.xml文件,发现每个activity全是导出状态(默认)
直接上objection进行,activity列出
android hooking list activities
查看当前activity
android hooking get current_activity
启动某个activity
android intent launch_activity
这里面的每一个activity都可以通过objection唤起
可能感觉没啥用,但是每个activity都是具备一定功能的,有的开发者没对功能做身份校验。
经过对activity的遍历启动,我发现了里面有个员工信息查询的activity
可以直接打开,然后查询数据,没有对操作的行为进行验权
比如这个,我添加数据居然成功提交了
activity越权属于Android客户端漏洞
Log日志信息泄露
这个漏洞属于开发者在开发过程中,用于输出辅助信息
该app逆天的地方在于,直接把数据包未加密的时候的数据也输出出来。
adb logcat zcxxxx
即可看到每次数据包加密前的内容,还有其他的地方也有log打印,这里只是看到其中一处哈
对该漏洞进行提交,厂商认为没有危害服务器不给予认同。
攻击:木马app监听Log日志,直接获取用户名+密码
防护:release版删除log日志相关函数
数据包加密方式+秘钥泄露
经过脱壳后,app的所有应用层代码直接呈现在渗透测试者面前
(⊙o⊙),其实该类我们可以直接使用IDEA复制粘贴加密和解密方式
对数据包解密就可以得到明文
解密后的数据包,没有sign值校验,意味着攻击者可以爆破用户名和密码
爆破参数,测试参数等等都可以
那么厂家也不认同这个漏洞。ε=(´ο`*)))唉
原话:实际环境难以造成影响,无法达到收录标准
任意用户密码修改漏洞
app其实还有其他漏洞的哈,这里就拿前面提到的activity越权+数据包解密来结合一下
因为存在activity越权,所以我们可以唤醒密码修改功能的activity界面
该界面没有验证码,没有手机号验证
很简单的3个框,渗透测试狂喜
尝试admin用户名
对返回包解密,结果为:“查无此供应商键值”
到现在可以爆破用户名,可以对输入框进行一系列测试等等操作
厂商认为该漏洞不给予收录,需要我证明可以修改用户名密码。
那我建议给我一个测试用户,不需要密码,只要服务器那边有该用户就行,我证明一下能不能修改。(app没有注册用户功能,是内部的app)
厂商也不愿提供
实在不行我爆破用户名吧,厂商也不愿担责任,禁止爆破
所以结果就是不认同,因为我没证明可以修改。我勒个逆天回复
文末总结
ε=(´ο`*)))唉太菜了,挖的都是垃圾。
希望可以给师傅们提供一个漏洞挖掘的思路哈
原文始发于微信公众号(七芒星实验室):某银行员工维修APP渗透测试总结
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论