本帖最后由 caiH 于 2020-5-6 20:54 编辑
前言:白帽子们一般都是从web端开始学习安全技术,但是我们并不满足于web端,自然而然地对APP端产生了浓厚的兴趣,本文将讲述如何在移动端进行渗透,并分享自己在对移动端渗透过程中常见的漏洞与一些案例的分析。
0x01环境搭建 首先下载一个模拟器来模拟手机的环境,本文使用的是夜神模拟器。 1、在burpsuite中新建一个代理,注意端口不要冲突 2、在模拟器中打开设置界面中的WLAN菜单,长按弹出,点击修改网络 3、点击手动,然后配置电脑的ip,和代理端口,保存退出。 4、打开浏览器,访问你输入的代理ip+端口,下载证书。 5、将下载好证书的后缀名der改为cer,这样才能安装 6.针对夜神模拟器,在设置中找到安全,选择从SD卡安装,然后在如图位置找到证书 这样我们就可以对APP进行拦包了
0x02常见漏洞与实例分析
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/ser ... ame=eshimin34188390
(2)在sqlmap中跑一跑,发现uername中存在注入点 ]
]0x03总结 ]各位客官看了上面的几个常见漏洞会发现似乎和web端常见漏洞相似,甚至少了csrf等漏洞。事实也大 ]抵如此。不过,由于现在APP开发随处可见,但是懂安全的程序员屈指可数,所以我们不难发现, [在APP端上出现漏洞的概率大于web端,尤其是某些小众的APP,出现上述漏洞的现象数不胜数,而且 APP端出现逻辑漏洞的概率远远大于web端。上面内容是本菜鸡的愚见,如有错误欢迎各位大佬指出,谢谢。
|