0x00 前言
承接上一篇APP业务挖洞的碎碎念,此篇文章主要是针对小微信程序的漏洞挖掘,微信小程序默认是直接使用自己微信登陆的,我们对小程序的漏洞挖掘,关注点还是在逻辑漏洞上面,下面将从环境搭建到实例一步步讲解。(此篇文章更适合做安服的老哥们看)
0x01 环境配置
工具:Burp+Fiddler+windows版本微信
注: 你也可以直接用burp+windows版微信,进行抓包,如果出现网络错误,直接用Fiddler抓包然后发给burp进行测试。
关于Fidder如何抓取HTTPS数据包,如下:
这里我是直接下载的汉化版,本人英语不太好,打开Fiddler,选择工具,然后点击选项,然后在HTTPS处,勾选上捕获HTTPS链接,解密HTTPS流量,忽略服务器证书错误。
然后将证书导入到浏览器。
微信端设置代理地址
抓包测试一下,没问题,此处抓的抽奖助手的数据包
0x02 漏洞挖掘小技巧
小程序我是测过微信小程序和钉钉里面的业务模块,测试微信小程序,直接忽略掉登陆相关的漏洞,注重点还是在逻辑漏洞上。这里我就用一个实例来讲解,因为金融是比较敏感的行业,所以一些硬核漏洞,他们也会去修复,表哥们自行斟酌。
一、先说一下小程序比较常见的漏洞:
挖掘方法:
2.任意文件上传漏洞(小程序中任何可以上传的地方,一般小程序中对文件上传功能限制较少,很容易绕过,我在挖洞的过程好几次都是通过文件上传进行getshell)
挖掘方法:
3.Cors跨域访问漏洞(这个漏洞感觉没啥说的,其实就是看数据包的请求中是否含有origin字段,然后修改请求包中的origin字段的值,然后去看返回包查看Access-Control-Allow-Origin是否改变。
挖掘方法:
4.信息泄漏漏洞
5.越权漏洞(平行越权)
6.硬核漏洞(不安全的HTTP方法)
二、附上一个实例
此处的测试目标是银行的一个小程序,小程序功能点就4个,客户信息维护、密码修改/重置、账户激活、签约类。
我们在身份信息验证处尝试修改返回包状态码,从而绕过验证流程。正常返回包中,因为输入错误信息,所以返回”100″;
将100修改为“200” 放包,绕过此流程,进入到下一环节
0x03 小结
原文始发于微信公众号(HACK之道):针对小程序的漏洞挖掘