原文来自社区-作者:前言
延续上一篇关于APP业务挖漏洞的思路,这篇文章主要是针对微信小程序的漏洞挖掘。 默认情况下,微信小程序直接使用自己的微信进行登录,我们对小程序漏洞挖掘的重点仍然是逻辑漏洞,下面将从环境搭建到示例逐步讲解。 (这篇文章比较适合做安全服务的老哥们)
0x01 环境配置
工具:Burp++版微信
注:也可以直接使用burp+版本的微信抓包。 如果出现网络错误,直接抓包并发送给burp进行测试。
关于如何抓取数据包,如下:
这里我直接下载了中文版。 我的英文不是很好。 打开它,选择“工具”,然后单击“选项”,然后选中“捕获链接”、“解密流量”和“忽略服务器证书错误”。
选择最右侧的操作按钮,选择将根证书导出到桌面。
然后将证书导入到浏览器中。
对于手机,直接设置无线网络上的代理地址和端口。 这里我设置了9999端口,然后访问xxxx:9999端口,下载证书并安装。
此时可以正常捕获http和数据包。
关于联动burp抓包,配置如下:
设置微信代理地址
捕获数据包并测试它。 没问题。 这里抓到的是抽奖助手的数据包。
0x02 漏洞挖掘技巧
我测试了微信小程序和钉钉的业务模块。 在测试微信小程序时,我直接忽略了登录相关的漏洞,专注于逻辑漏洞。 这里我就用一个例子来解释一下,因为金融是一个比较敏感的行业,所以他们也会修复一些硬核的漏洞,表兄弟们自己决定。
1、先说一下小程序中比较常见的漏洞:
过程中已经验证了该漏洞(小程序中这样的漏洞很多,我都是先测试这个漏洞,大家可以在挖掘过程中收集更多的状态返回码用于测试)
开采方式:
(1)下一步验证,抓包,检查返回包中的响应码,尝试修改响应码绕过1
(2)输入验证码进入下一步时,先输入正确的验证码,检查返回包是否正确,然后输入随机验证码,将返回包中的状态码修改为正确通过时的状态,并检查是否可以绕过。
任意文件上传漏洞(小程序中任何地方都可以上传,一般小程序中的文件上传功能限制较少,很容易绕过,我在挖掘过程中多次使用了文件上传)
开采方式:
(1)无论在哪里上传图片,通过burp修改文件后缀即可绕过
(2)在身份上传的情况下,如果是摄像头拍照的那种,可以结合流程验证,通过修改返回包中的状态来绕过该漏洞。
Cors跨域访问漏洞(感觉这个漏洞没什么好说的,其实就是检查数据包的请求是否包含字段,然后修改请求包中字段的值,然后检查返回的数据包是否发生变化。
开采方式:
(1)检查请求包中是否包含字段,修改字段,然后检查返回包中的---是否发生变化
(2)也可以使用burp自带的扫描来判断
信息泄露漏洞
开采方式:
(1)从哪里获取信息,通过返回包内容来判断是否获取其他用户的信息
越权漏洞(并行越权)
开采方式:
(1)排查增删改查,多关注数据包中的字段,挖掘未授权漏洞。 你一定要再小心再小心。
(2)可以通过遍历字段来测试是否超出权限。