APP端常见漏洞与实例分析
2020-05-08 12:36:33 Author: www.secpulse.com(查看原文) 阅读量:394 收藏

前言:白帽子们一般都是从web端开始学习安全技术,但是我们并不满足于web端,自然而然地对APP端产生了浓厚的兴趣,本文将讲述如何在移动端进行渗透,并分享自己在对移动端渗透过程中常见的漏洞与一些案例的分析。

0x01环境搭建

首先下载一个模拟器来模拟手机的环境,本文使用的是夜神模拟器。

1、在burpsuite中新建一个代理,注意端口不要冲突

11.png 

2、在模拟器中打开设置界面中的WLAN菜单,长按弹出,点击修改网络

1.png

3、点击手动,然后配置电脑的ip,和代理端口,保存退出。

2.png

4、打开浏览器,访问你输入的代理ip+端口,下载证书。

3.png

5、将下载好证书的后缀名der改为cer,这样才能安装

4.png

6.针对夜神模拟器,在设置中找到安全,选择从SD卡安装,然后在如图位置找到证书

5.png

这样我们就可以对APP进行拦包了

0x02常见漏洞与实例分析

1、逻辑漏洞

这类漏洞包括水平越权、任意密码重置、任意用户登录、薅羊毛、验证码回传等漏洞。

对于这类漏洞,具体问题还得具体分析。比如水平越权,我们要仔细观察数据在交互的

时候,更改某些参数如用户名等,返回的数据是否会发生改变。再比如验证码回传,我

们在接收短信验证码的时候,观察前端源代码看短信验证码是否存在与源码当中,或者

是否存在验证码生成函数。这类漏洞往往会造成任意大量信息泄露、可登录任意用户账

号执行危险操作等等危害

下面看一个实例分析,某购物APP存在水平越权漏洞。

(1)现在该购物APP下一个订单,点订单管理查看订单

6.png

(2)用burp对HTTP消息进行拦截:

7.png

(3)根据订单号BV20150122101114可推出BV20150122代表的是日期,101114代表是1114号单。
我们在burp中修改订单号为:1月17日的899单(BV20150117100899)

8.png

9.png

(4)查看返回信息可以发现,可以看到订单号为BV20150117100899的信息

10.png

2、短信验证码可进行爆破

顾名思义,在发送短信验证码的时候,如果发出的验证码太短比如只有四位数,设置验证

时间较长,且输入验证码次数不限,那么我们就可以使用burp进行爆破验证码。

下面看实例分析,某APP短信验证码可进行爆破

(1)打开APP,重置密码,发送短信验证码

12.png

(2)我们发现是四位数的验证码,有限期为10分钟,尝试进行爆破

13.png

(3)发现成功爆破短信验证码,尝试登录,登录成功

14.png

3、xss漏洞

此漏洞原理与利用方法与web端相似,不做过多解释。这类漏洞常见于留言、邮件、评论等地方,由于对传入的内容没有进行过滤,导致此漏洞的产生。

下面看实例分析,某订餐APP后台留言处存在xss漏洞

(1)在意见反馈处填写<script>alert(document.cookie)</script>

15.png

(2)发现成功打到cookies,获取了管理员的cookie

16.png

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中存在注入点

17.png

0x03总结

各位客官看了上面的几个常见漏洞会发现似乎和web端常见漏洞相似,甚至少了csrf等漏洞。事实也大

抵如此。不过,由于现在APP开发随处可见,但是懂安全的程序员屈指可数,所以我们不难发现,

在APP端上出现漏洞的概率大于web端,尤其是某些小众的APP,出现上述漏洞的现象数不胜数,而且

APP端出现逻辑漏洞的概率远远大于web端。上面内容是本菜鸡的愚见,如有错误欢迎各位大佬指出,谢谢。

本文作者:菜鸡CaiH

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/129830.html


文章来源: https://www.secpulse.com/archives/129830.html
如有侵权请联系:admin#unsafe.sh