趣文网 > 作文大全

记一次授权的APK渗透测试

2020-12-18 04:50:01
相关推荐

作为一个渗透测试小白,本文的目的是希望能为那些和我一样的小白提供一些测试思路。

涉及的内容可能比较基础,表哥们见谅。

APK 解包

拿到 apk 之后直接用 7-Zip 解压可以得到几个文件夹、一个 AndroidManifest.xml 文件、一个dex文件。使用 dex2jar https://sourceforge.net/projects/dex2jar/ 将这个dex文件解压会生成一个jar文件,然后使用jd-gui就可以查看java源代码了。

当然可以从源码里找代码的漏洞,但是一般会有混淆,在这也不做深入讨论。

上边提到的 xml 文件一定不能发放过,里边涉及到许多重要的配置项,比如:

- AndroidManifest.xml文件中android:debuggable为true。app 可被任意调试

- AndroidManifest.xml文件中android: allowBackup为true。app 数据可以被备份导出。

- 等等...

还有一点在实际测试过程中可能会用到:在对 apk 解压之后可以尝试在 powershell 里边搜一下 db 文件,说不定有敏感信息(为什么这么说,因为我碰到过一次...)

for /r F:source-code %i in (*.db) do echo %i

大家有兴趣的话可以上合天网安实验室做相关的实验,推荐实验:

apk安全分析检测(通过实验学习如何运行apk安全分析检测程序,对apk进行安全分析检测,通过分析发现其中的潜在威胁。)

登陆页面

用户名可枚举

输入用户名之后响应用户名不存在,这就是最简单的枚举用户名的情形了。

这次碰到的是登陆不需要密码,但是要输入已经注册过的用户名,之后会根据用户名发送验证码到对应手机,同时设置了 120s 内不能重新发送,并且验证码 120s 内有效。

这时候看起来我们没办法通过验证码做什么事,但是在实际测试过程中发现

1. 当我们输入存在的账号之后提示发送成功;

2. 重复发送,会响应 120s 内不能重复发送;

3. 输入不存在用户会提示发送失败。

所以这个时间限制对用户名枚举其实没什么影响,我们可以通过爆破用户名根据返回的信息来查看用户名是否存在。

等等,既然咱都不知道手机号,也不让输密码登陆,就算得到用户名生成社工字典也没法用啊,那拿到了用户名有什么用?

当然有用,不过要看具体场景,比如下面这个案例

任意验证码绕过

当我们登陆时服务端给账号绑定的手机号发送短信验证码,我们输入一个上一步得到的账号,验证码随便输,点击登陆后抓包,登陆失败,发现响应中有两个 code 字段

改改试试:

It works!

合天网安实验室相关实验推荐:验证码绕过漏洞(掌握常见的验证码绕过漏洞原理,以及绕过方式利用和漏洞防护)

功能页面

成功登录之后,各个功能都点点看看,在个人信息页面有一个查询实时在线人数功能,那一栏只显示了人数,旁边并没有箭头

我一度以为那里不能点击(事实上因为数据量太大,加载了好长时间,我直接点返回了,给我的感觉就是这里没有东西),进去之后就可以看到所有登陆人员的信息了。

在我尝试了不同用户之后,发现这里的用户信息并没有权限限制,也就是说对所有人都是可见的,明显的权限配置不当。除此之外,应用存在几处查询功能,通过BURP 看到返回的数据包都是 JSON 类型

因为没什么经验,所以就多尝试吗,在 json 那里注入,xxe 都来一遍,没啥用。

前面还有一个参数,试试?

有戏!试试 xss 吧

放到浏览器成功弹窗!

实验推荐:XSS跨站脚本攻击原理与实践:(本实验将详细介绍XSS攻击的原理)

总结

平时做测试还是要细心,多总结,每一个能输入的地方都不能放过,多试试总是好的。

声明:作者初衷用于分享与普及网络知识,若读者因此作出任何危害网络安全行为后果自负,与合天智汇及原作者无关。

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

争做好少年作文 生活需要微笑作文 什么使我快乐作文 保护地球的英语作文 什么让我着迷作文 mytrip作文 成长作文500字初中 看电影作文400字 哥哥打屁股作文 学打羽毛球作文 含泪的微笑作文 埋下一颗种子作文 最熟悉的陌生人作文 课间10分钟作文 厦门植物园作文 把握当下作文 香港迪士尼作文 中秋有感作文 辞旧迎新的作文 什么温暖了我作文 成长需要挫折作文 生活需要勇气作文 我渴望成功作文 描写汤圆的作文 我眼中的色彩作文 写妈妈的作文600字 三年级写景作文300字 坚持的作文400字 快乐的春游作文 初一优秀作文500字