安全矩阵

 找回密码
 立即注册
搜索
查看: 2158|回复: 0

针对小程序的漏洞挖掘 | 入门必看

[复制链接]

221

主题

233

帖子

792

积分

高级会员

Rank: 4

积分
792
发表于 2021-6-11 08:58:26 | 显示全部楼层 |阅读模式
针对小程序的漏洞挖掘 | 入门必看Zeva 小白渗透成长之路 昨天
收录于话题
#小程序漏洞挖掘
1个
此文转自SecIN社区的zeva大佬!????0x00 前言此篇文章主要是针对小微信程序的漏洞挖掘,微信小程序默认是直接使用自己微信登陆的,我们对小程序的漏洞挖掘,关注点还是在逻辑漏洞上面,下面将从环境搭建到实例一步步讲解。(此篇文章更适合做安服的老哥们看)
0x01 环境配置工具:Burp+Fiddler+windows版本微信
注: 你也可以直接用burp+windows版微信,进行抓包,如果出现网络错误,直接用Fiddler抓包然后发给burp进行测试
关于Fidder如何抓取HTTPS数据包,如下:
这里我是直接下载的汉化版,本人英语不太好,打开Fiddler,选择工具,然后点击选项,然后在HTTPS处,勾选上捕获HTTPS链接,解密HTTPS流量,忽略服务器证书错误。

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

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

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

至此 Fiddler可以正常抓取http和https数据包。
关于Fiddler联动burp 抓包,配置如下图:

微信端设置代理地址

抓包测试一下,没问题,此处抓的抽奖助手的数据包

0x02 漏洞挖掘小技巧小程序我是测过微信小程序和钉钉里面的业务模块,测试微信小程序,直接忽略掉登陆相关的漏洞,注重点还是在逻辑漏洞上。这里我就用一个实例来讲解,因为金融是比较敏感的行业,所以一些硬核漏洞,他们也会去修复,表哥们自行斟酌。
一、先说一下小程序比较常见的漏洞:
  • 流程验证过漏洞(小程序里面这个漏洞特别多,我都是习惯性的先测试这个漏洞,大家可以平时在挖洞过程中,多收集一些状态返回码,以便在测试时使用)

挖掘方法:
(1)在验证下一步的时候,抓包,查看返回包里面的响应码,尝试修改响应码,进行绕过1
(2)输入验证码进入下一步时,先输入正确的验证码,查看正确的返回包,然后随便输入一个验证码,修改返回包中的状态码为正确通过时的状态,查看是否能绕过
  • 任意文件上传漏洞(小程序中任何可以上传的地方,一般小程序中对文件上传功能限制较少,很容易绕过,我在挖洞的过程好几次都是通过文件上传进行getshell)

挖掘方法:
(1)任意上传图片的地方,通过burp修改文件后缀,绕过
(2)上传身份证的地方,如果是摄像头拍照那种,可以结合流程验证绕过漏洞,通过修改返回包中的状态进行绕过
  • Cors跨域访问漏洞(这个漏洞感觉没啥说的,其实就是看数据包的请求中是否含有origin字段,然后修改请求包中的origin字段的值,然后去看返回包查看Access-Control-Allow-Origin是否改变。

挖掘方法:
(1)查看请求包中的是否含有origin字段,修改oringin字段,然后查看返回包中的Access-Control-Allow-Origin是否改变
(2)也可以使用burp自带的扫描来判断
  • 信息泄漏漏洞

挖掘方法:
(1)获取信息的地方,通过返回包内容来判断是否获取其他用户的信息
  • 越权漏洞(平行越权)

挖掘方法:
(1)增删改查处,多注意数据包中的字段,挖掘越权漏洞,一定要细心细心再细心
(2)可以通过遍历字段的方法,来测试是否越权
  • 硬核漏洞(不安全的HTTP方法)

挖掘方法:
(1)把POST请求改成OPTIONS,然后查看返回包中的Access-Control-Allow-Methods值
二、附上一个实例
此处的测试目标是银行的一个小程序,小程序功能点就4个,客户信息维护、密码修改/重置、账户激活、签约类。

这里我们针对这几个功能点,首先想到的就是 能不能绕过他这个验证流程呢(流程验证绕过漏洞)?
我们在身份信息验证处尝试修改返回包状态码,从而绕过验证流程
正常返回包中,因为输入错误信息,所以返回"100";


将100修改为“200” 放包,绕过此流程,进入到下一环节


当然,其他地方也可以通过修改返回包的状态码,进而绕过,其他地方的图片就不贴了,因为挖掘过程是一样的。
然后就是cors漏洞,这个没啥说的,通过修改oringin字段,然后查看返回包中的Access-Control-Allow-Origin是否改变,此处是存在这个漏洞
0x03 小结针对小程序的渗透测试,多注意逻辑漏洞和上传漏洞,因为一般对这种漏洞的过滤较少,SQL注入这种倒是没遇到过,大家平时多收集一些响应码这种,在测试过程可以发挥到奇效,针对越权漏洞的话,多注意数据包的参数,发现类似id,uid,UserName这种字段,可以直接尝试遍历参数,关键是要细心。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-29 04:51 , Processed in 0.012606 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表