本文作者:菜鸡CaiH
文章来源:安全脉搏
原文链接:
https://www.secpulse.com/archives/129830.html
前言:白帽子们一般都是从web端开始学习安全技术,但是我们并不满足于web端,自然而然地对APP端产生了浓厚的兴趣,本文将讲述如何在移动端进行渗透,并分享自己在对移动端渗透过程中常见的漏洞与一些案例的分析。
首先下载一个模拟器来模拟手机的环境,本文使用的是夜神模拟器。
1、在burpsuite中新建一个代理,注意端口不要冲突
2、在模拟器中打开设置界面中的WLAN菜单,长按弹出,点击修改网络
3、点击手动,然后配置电脑的ip,和代理端口,保存退出。
4、打开浏览器,访问你输入的代理ip+端口,下载证书。
5、将下载好证书的后缀名der改为cer,这样才能安装
6.针对夜神模拟器,在设置中找到安全,选择从SD卡安装,然后在如图位置找到证书
这样我们就可以对APP进行拦包了
1、逻辑漏洞
这类漏洞包括水平越权、任意密码重置、任意用户登录、薅羊毛、验证码回传等漏洞。
对于这类漏洞,具体问题还得具体分析。比如水平越权,我们要仔细观察数据在交互的
时候,更改某些参数如用户名等,返回的数据是否会发生改变。再比如验证码回传,我
们在接收短信验证码的时候,观察前端源代码看短信验证码是否存在与源码当中,或者
是否存在验证码生成函数。这类漏洞往往会造成任意大量信息泄露、可登录任意用户账
号执行危险操作等等危害
下面看一个实例分析,某购物APP存在水平越权漏洞。
(1)现在该购物APP下一个订单,点订单管理查看订单
(2)用burp对HTTP消息进行拦截:
(3)根据订单号BV20150122101114可推出BV20150122代表的是日期,101114代表是1114号单。
我们在burp中修改订单号为:1月17日的899单(BV20150117100899)
(4)查看返回信息可以发现,可以看到订单号为BV20150117100899的信息
2、短信验证码可进行爆破
顾名思义,在发送短信验证码的时候,如果发出的验证码太短比如只有四位数,设置验证
时间较长,且输入验证码次数不限,那么我们就可以使用burp进行爆破验证码。
下面看实例分析,某APP短信验证码可进行爆破
(1)打开APP,重置密码,发送短信验证码
(2)我们发现是四位数的验证码,有限期为10分钟,尝试进行爆破
(3)发现成功爆破短信验证码,尝试登录,登录成功
3、xss漏洞
此漏洞原理与利用方法与web端相似,不做过多解释。这类漏洞常见于留言、邮件、评论等地方,由于对传入的内容没有进行过滤,导致此漏洞的产生。
下面看实例分析,某订餐APP后台留言处存在xss漏洞
(1)在意见反馈处填写<script>alert(document.cookie)</script>
(2)发现成功打到cookies,获取了管理员的cookie
4、sql注入漏洞
此漏洞原理与利用方法与web端相似,不做过多解释。sql注入漏洞在APP端中总在我们想不到的地
方,我们可以对burp抓取的包中的url进行尝试。
下面看一个实例分析,某APP存在sql注入漏洞
(1)对某APP进行抓包,发现疑似存在sql注入的url
http://xxx.xxx.xxx:8080/live/service/top/hasNewOrgan?code=310112110&username=eshimin34188390
(2)在sqlmap中跑一跑,发现uername中存在注入点
0x03总结
各位客官看了上面的几个常见漏洞会发现似乎和web端常见漏洞相似,甚至少了csrf等漏洞。事实也大
抵如此。不过,由于现在APP开发随处可见,但是懂安全的程序员屈指可数,所以我们不难发现,
在APP端上出现漏洞的概率大于web端,尤其是某些小众的APP,出现上述漏洞的现象数不胜数,而且
APP端出现逻辑漏洞的概率远远大于web端。上面内容是本菜鸡的愚见,如有错误欢迎各位大佬指出,谢谢。
侵权请私聊公众号删文