原创 | APP业务挖洞的碎碎念

  • A+
所属分类:安全文章
原创 | APP业务挖洞的碎碎念
点击上方蓝字 关注我吧
原创 | APP业务挖洞的碎碎念
原创 | APP业务挖洞的碎碎念

0x00  前言



这是一篇可能和你平时看到的关于APP渗透相关的文章不一样的一篇文章,也是我开始进入金融行业并从事金融行业渗透测试的一些总结,在日常的测试工作中,我接触到最多的就是对APP的渗透测试,相反对WEB进行渗透测试的相反较少,毕竟是金融行业,基本的WEB漏洞已经被修复的差不多,大部分时间都在和APP或者小程序打交道。


本文主要是我对APP渗透的一些个人理解和技巧,主要是对APP内功能点的测试上。


原创 | APP业务挖洞的碎碎念
原创 | APP业务挖洞的碎碎念

0x01  环境配置



工具:Burp+Fiddler+各种手机模拟器+小米4手机

**注:**如果APP安装包,无法在模拟器上使用,请在低版本的安卓手机上安装,这里推荐的小米4,比较便宜,也可以直接买二手的当测试机。


这里说一下我们为什么要使用Fiddler呢?

因为我做的大部分都是银行的APP,很多时候会遇到在手机端开启代理后,打开APP会提示网络错误,这个时候,我通常是使用Fiddler 来进行代理,然后Fiddler 配置把抓到的数据包,发送给burp。


关于Fidder如何抓取HTTPS数据包,如下:

这里我是直接下载的汉化版,本人英语不太好,打开Fiddler,选择工具,然后点击选项,然后在HTTPS处,勾选上捕获HTTPS链接,解密HTTPS流量,忽略服务器证书错误


原创 | APP业务挖洞的碎碎念


选择最右侧的操作按钮,选择将根证书导出到桌面。


原创 | APP业务挖洞的碎碎念


然后将证书导入到浏览器。


原创 | APP业务挖洞的碎碎念


手机端的话,无线网络直接设置上Fiddler的代理地址和端口,这里我设置的9999端口,然后访问x.x.x.x:9999端口,下载证书安装即可。


原创 | APP业务挖洞的碎碎念

至此 Fiddler可以正常抓取http和https数据包。

关于Fiddler联动burp 抓包,配置如下图:


原创 | APP业务挖洞的碎碎念


原创 | APP业务挖洞的碎碎念
原创 | APP业务挖洞的碎碎念

0x02  漏洞挖掘技巧



因为我接触的大部分都是银行的APP,所以在挖掘漏洞的过程中,遇到的逻辑漏洞比较多,这个地方 我就用一些案例来讲解,列出的基本都是一些逻辑漏洞。


1.短信轰炸漏洞



短信轰炸漏洞一般就是在获取验证码的任何地方,比如:账户注册处,密码找回处,验证流程处,申请贷款处,充值话费处等等。此处的实例就是在注册处:


原创 | APP业务挖洞的碎碎念


原创 | APP业务挖洞的碎碎念


原创 | APP业务挖洞的碎碎念


2.越权漏洞(平行越权、垂直越权)



越权漏洞一般存在于,用户的增删改查处,比如:增加/删除用户,查询用户信息处,修改信息或者二维码处,信息修改处。仔细观察数据包中的每个字段,好比id、uuid、userid等等。


然后使用两个不同的账户进行测试。此处的实例是在审批处,通过修改字段,越权给他人审批。


原创 | APP业务挖洞的碎碎念


原创 | APP业务挖洞的碎碎念


3.信息泄漏漏洞



信息泄漏漏洞一般出现在获取信息的地方,我们通过返回包判断是否获得了其他用户的信息。此处的实例是在充值处,获取了其他用户的信息:


原创 | APP业务挖洞的碎碎念


4.任意密码重置漏洞



任意密码重置漏洞基本都是在密码找回处,一般情况下当我们点击找回密码的时候,都是通过验证码手机号或者验证邮箱,这就又变成了验证码的问题。一般情况情况下,我们把它分为以下几种情况:


  • 验证码不失效

  • 验证码直接返回

  • 验证码未绑定用户

  • 修改接收的手机号或者邮箱

  • 修改返回包中的状态

  • 跳过验证码步骤

  • 未效验用户字段的值

  • 修改密码处的id、uid等等字段可以替换

  • cookie值替换


此处的实例是在找回密码处,通过修改用户字段值,从而修改其他用户密码:


原创 | APP业务挖洞的碎碎念


修改后,登陆测试,登陆成功。


原创 | APP业务挖洞的碎碎念

5.验证流程绕过漏洞



验证码流程绕过这个漏洞,我要把它单独拿出来写是因为在金融行业,验证流程绕过漏洞是被定义在中到高危之间,而且我在工作中,也确实遇到了不少验证码流程绕过。这个漏洞主要在 申请下一步的时候。


此处的实例是在申请贷款处,输入正确的验证码才会通过此步骤,修改返回包中的状态码可以绕过此验证:


原创 | APP业务挖洞的碎碎念


通过修改图中标红字段,绕过此验证码步骤。


原创 | APP业务挖洞的碎碎念

原创 | APP业务挖洞的碎碎念


6.CORS跨域资源访问漏洞



CORS跨域资源访问漏洞,是由于配置不当,Origin源未严格,从而造成跨域问题,我们只需要关注数据包中是否有origin字段,然后修改请求包中的值,然后去看返回包查看Access-Control-Allow-Origin是否改变。


如图:


原创 | APP业务挖洞的碎碎念


7.还有一些比较硬核的漏洞,比如不安全的HTTP方法



这个漏洞没有啥难度,只需要把POST请求方式改成OPTIONS方法,然后查看返回包即可,如图:


原创 | APP业务挖洞的碎碎念


原创 | APP业务挖洞的碎碎念
原创 | APP业务挖洞的碎碎念

0x03  小结



这篇文章主要是针对APP内部业务的漏洞挖掘,文章不涉及任何逆向问题,也适合小白观看。APP内部业务漏洞挖掘,主要是挖掘逻辑漏洞,最常见的就是上面提到的几种漏洞,关键是要细心,耐心,通读数据包中的每个字段,对于越权的尝试,要事先准备好两个测试账号,或者是让客户那边提供给你两个账号。


原创 | APP业务挖洞的碎碎念
原创 | APP业务挖洞的碎碎念
原创 | APP业务挖洞的碎碎念

原创 | APP业务挖洞的碎碎念
点分享
原创 | APP业务挖洞的碎碎念
点收藏
原创 | APP业务挖洞的碎碎念
点点赞
原创 | APP业务挖洞的碎碎念
点在看

本文始发于微信公众号(SecIN技术平台):原创 | APP业务挖洞的碎碎念

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: