网络安全之APP渗透测试总结
1、脱壳
360免费版加固,frida-dexdump、blackdex都可以脱掉。这里就不演示了
GitHub - hluwa/frida-dexdump: A frida tool to dump dex in memory to support security engineers analyzing malware.
2、密码泄露
经过对app登录界面,有对密码强度进行了验证
经过对该类的方法进行hook(frida)
密码直接弹出来了。
这样的校验方式只能说太危险了,做的很草率
如果用户安装了木马监听app,这样密码就泄露啦
正确做法,密码不要存储在本地进行校验,发包发给服务器进行校验
那么厂商认为这样没什么危害,我也很吃惊,可能真没啥危害吧,毕竟没有直接危害他们的服务器。
3、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客户端漏洞
4、Log日志信息泄露
这个漏洞属于开发者在开发过程中,用于输出辅助信息
该app逆天的地方在于,直接把数据包未加密的时候的数据也输出出来。
adb logcat zcxxxx
即可看到每次数据包加密前的内容,还有其他的地方也有log打印,这里只是看到其中一处哈
对该漏洞进行提交,厂商认为没有危害服务器不给予认同。
攻击:木马app监听Log日志,直接获取用户名+密码
防护:release版删除log日志相关函数
5、数据包加密方式+秘钥泄露
经过脱壳后,app的所有应用层代码直接呈现在渗透测试者面前
(⊙o⊙),其实该类我们可以直接使用IDEA复制粘贴加密和解密方式
对数据包解密就可以得到明文
解密后的数据包,没有sign值校验,意味着攻击者可以爆破用户名和密码
爆破参数,测试参数等等都可以
那么厂家也不认同这个漏洞。ε=(´ο`*)))唉
原话:实际环境难以造成影响,无法达到收录标准
6、任意用户密码修改漏洞
app其实还有其他漏洞的哈,这里就拿前面提到的activity越权+数据包解密来结合一下
因为存在activity越权,所以我们可以唤醒密码修改功能的activity界面
该界面没有验证码,没有手机号验证
很简单的3个框,渗透测试狂喜
尝试admin用户名
对返回包解密,结果为:“查无此供应商键值”
到现在可以爆破用户名,可以对输入框进行一系列测试等等操作
厂商认为该漏洞不给予收录,需要我证明可以修改用户名密码。
那我建议给我一个测试用户,不需要密码,只要服务器那边有该用户就行,我证明一下能不能修改。(app没有注册用户功能,是内部的app)
厂商也不愿提供
实在不行我爆破用户名吧,厂商也不愿担责任,禁止爆破
所以结果就是不认同,因为我没证明可以修改。