首页 > 编程语言 >针对小程序的漏洞挖掘

针对小程序的漏洞挖掘

时间:2023-08-16 14:37:50浏览次数:34  
标签:返回 包中 程序 漏洞 挖掘 绕过

前言

微信小程序默认是直接使用自己微信登陆的,我们对小程序的漏洞挖掘,关注点还是在逻辑漏洞上面,下面将从环境搭建到实例一步步讲解。

环境配置

工具: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 抓包,配置如下图:

微信端设置代理地址

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

漏洞挖掘小技巧

小程序我是测过微信小程序和钉钉里面的业务模块,测试微信小程序,直接忽略掉登陆相关的漏洞,注重点还是在逻辑漏洞上。这里我就用一个实例来讲解,因为金融是比较敏感的行业,所以一些硬核漏洞,他们也会去修复,表哥们自行斟酌。

一、先说一下小程序比较常见的漏洞:

1.流程验证过漏洞(小程序里面这个漏洞特别多,我都是习惯性的先测试这个漏洞,大家可以平时在挖洞过程中,多收集一些状态返回码,以便在测试时使用)


挖掘方法:

(1)在验证下一步的时候,抓包,查看返回包里面的响应码,尝试修改响应码,进行绕过1

(2)输入验证码进入下一步时,先输入正确的验证码,查看正确的返回包,然后随便输入一个验证码,修改返回包中的状态码为正确通过时的状态,查看是否能绕过

2.任意文件上传漏洞(小程序中任何可以上传的地方,一般小程序中对文件上传功能限制较少,很容易绕过,我在挖洞的过程好几次都是通过文件上传进行getshell)

挖掘方法:

(1)任意上传图片的地方,通过burp修改文件后缀,绕过

(2)上传身份证的地方,如果是摄像头拍照那种,可以结合流程验证绕过漏洞,通过修改返回包中的状态进行绕过

3.Cors跨域访问漏洞(这个漏洞感觉没啥说的,其实就是看数据包的请求中是否含有origin字段,然后修改请求包中的origin字段的值,然后去看返回包查看Access-Control-Allow-Origin是否改变。


挖掘方法:

(1)查看请求包中的是否含有origin字段,修改oringin字段,然后查看返回包中的Access-Control-Allow-Origin是否改变

(2)也可以使用burp自带的扫描来判断

4.信息泄漏漏洞

挖掘方法:获取信息的地方,通过返回包内容来判断是否获取其他用户的信息

5.越权漏洞(平行越权)

挖掘方法:

(1)增删改查处,多注意数据包中的字段,挖掘越权漏洞,一定要细心细心再细心

(2)可以通过遍历字段的方法,来测试是否越权


6.硬核漏洞(不安全的HTTP方法)

挖掘方法:

(1)把POST请求改成OPTIONS,然后查看返回包中的Access-Control-Allow-Methods

二、附上一个实例

此处的测试目标是银行的一个小程序,小程序功能点就4个,客户信息维护、密码修改/重置、账户激活、签约类

这里我们针对这几个功能点,首先想到的就是 能不能绕过他这个验证流程呢(流程验证绕过漏洞)?

我们在身份信息验证处尝试修改返回包状态码,从而绕过验证流程。正常返回包中,因为输入错误信息,所以返回"100";

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

当然,其他地方也可以通过修改返回包的状态码,进而绕过,其他地方的图片就不贴了,因为挖掘过程是一样的。

然后就是cors漏洞,这个没啥说的,通过修改oringin字段,然后查看返回包中的Access-Control-Allow-Origin是否改变,此处是存在这个漏洞

小结

针对小程序的渗透测试,多注意逻辑漏洞和上传漏洞,因为一般对这种漏洞的过滤较少,SQL注入这种倒是没遇到过,大家平时多收集一些响应码这种,在测试过程可以发挥到奇效,针对越权漏洞的话,多注意数据包的参数,发现类似id,uid,UserName这种字段,可以直接尝试遍历参数,关键是要细心。

标签:返回,包中,程序,漏洞,挖掘,绕过
From: https://blog.51cto.com/u_16190539/7107370

相关文章

  • JimuReport v1.6.1版本发布,修复 Freemarker 模板注入高危漏洞
    1.6.12023-08-16更新#升级日志【漏洞通知】修复Freemarker注入漏洞,危害等级:高危描述:Freemarker模板注入导致远程命令执行,远程攻击者可利用该漏洞调用在系统上执行任意命令。Issues处理echarts提示框的位置问题#1630饼图数值显示问题#1814分组支持自定义中文排序......
  • 使用批处理文件启动前后端程序
    由于IDE打开太多会导致电脑巨卡,可以通过使用批处理文件调用命令,在命令行启动前后端程序。示例如下:1.启动后端@echooffcalljava-jarC:\xxx\base-module-system\target\chudayi.jar--jasypt.encryptor.password=xxxexit2.启动前端@echooffD:cdD:\project\xxx\web......
  • PostgreSQL日志挖掘与底层恢复
    一、风哥PG-DBA培训13:PostgreSQL日志挖掘与底层恢复课程目标:本课程由风哥发布的基于PostgreSQL数据库的系列课程,本课程属于PostgreSQL备份恢复与迁移升级阶段之PostgreSQL日志挖掘与底层恢复,学完本课程可以PostgreSQL日志挖掘与闪回介绍,PostgreSQL日志挖掘与误删数据恢复,Postgre......
  • 基于Android的高铁扫码订餐小程序
    随着数据库技术和无线互联网的发展,各行业的数据信息量快速增多。正是由于这种发展形势,数据量变得非常杂乱无序,必须通过信息系统来选择用户需要的信息。本文通过微信小程序平台上研发高铁订餐系统,解决高铁乘客只能通过餐厅车厢进行餐饮消费问题。本文系统中使用的设计方法是一种通......
  • 微信小程序解决ec-canvas偶现echarts未显示问题
    使用ec-canvas展示echarts图表,但是在实际操作中,偶现echarts空白问题。解决<viewclass="echarts-con"><ec-canvasid="pie-echarts"canvas-id="pie-echarts":ec="ec"@inited="getData"/></view>constgetData=as......
  • 小程序自动发版探索,两个优秀的第三方库该如何选择?且听我娓娓道来【玩转前端】
    前情提要目前的多端项目,在代码发布的时候,对于不同的端,需要进行不同的操作。尤其小程序端,每次都要在开发者工具中进行一次:上传->填写版本信息->提交审核(确定上线时)既然手动这么麻烦,能不能做成自动的?让开发节省重复操作时间,同时避免手动操作遗漏的可能性。我翻阅资料,发现已经有大佬......
  • 利用Docker简化机器学习应用程序的部署和可扩展性
    利用Docker的强大功能:简化部署解决方案,确保可扩展性,并简化机器学习模型的持续集成/持续交付(CI/CD)流程。机器学习(ML)近年来取得了爆炸性增长,导致对稳健、可扩展和高效部署方法的需求增加。传统方法往往需要帮助将ML模型操作化,原因包括训练和服务环境之间的差异或扩展的困难。Docker是......
  • JavaScript程序中的文本、注释和字面量
    JavaScript程序中的文本。JavaScript区分大小写。这意味着它的关键字、变量、函数名和其他标识符必须始终保持一致的大小写。例如,“while”关键字必须写成“while”,而不是“While”或“WHILE”。同样,“online”、“Online”、“OnLine”和“ONLINE”是四个完全不同的变量名。Jav......
  • 漏洞仓库
    漏洞触发url方法匹配词用途详情espcms_utf8_v5.7.13.08.15存在CSRFhttp://192.168.230.148/espcms/adminsoft/index.php?archive=membermain&action=membersavePOSTadminsoft/index.php?archive=membermain&action=membersave新增用户espcms_v5.7.13存在CSRF......
  • 【愚公系列】2023年08月 WPF控件专题 WPF应用程序组成
    (文章目录)<hrstyle="border:solid;width:100px;height:1px;"color=#000000size=1">一、WPF组成WindowsPresentationFoundation由两个主要部分组成:引擎和编程框架。1、WindowsPresentationFoundation引擎。WindowsPresentationFoundation(WPF)引擎是一个用于创建Wi......