针对小程序的漏洞挖掘

news2024/11/24 9:02:35

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)在验证下一步的时候,抓包,查看返回包里面的响应码,尝试修改响应码,进行绕过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是否改变,此处是存在这个漏洞
 

0x03 小结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/20784.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

面试笔试题之Linux部分58题(第一部分)

1、Linux常用的发行版 debian、Fedora、Ubuntu、redhat、centOS 等补充: Fedora:软件新,不稳定 redhat:稳定、收费 centOS:稳定、免费 2、在Linux里面查看指定时间段的日志文件 sed -n‘/起始时间/,/结束时间/p’ 日…

一篇文章入门知识图谱

文章目录知识图谱一、为什么需要知识图谱?什么是知识图谱?——KG的前世今生1、看到的不仅仅是字符串2、知识图谱的前世今生二、语义网络,语义网,链接数据和知识图谱1、语义网络(Semantic Network)2、语义网…

Python编程 元组中不允许的操作

作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.元组知识点 1.元组中不允许的操作(熟悉) 2.元组与列表之间的转换(掌握…

echarts5.0引入地图,背景渐变色,航线图,地图阴影

效果图如下,文章末尾附全部代码: 参考: 1、航线图 Vue Echarts飞机航线图_Kinghiee的博客-CSDN博客 2、地图阴影 echarts中国地图实现阴影效果&自定义设置_K.P的博客-CSDN博客 版本: "echarts": "^5.1.2&q…

面向OLAP的列式存储DBMS-9-[ClickHouse]的常用日期时间操作

ClickHouse 日期时间的相关操作函数 1 日期时间操作函数 1.1 toDate和toDateTime toDate、toDateTime:将字符串转成 Date、DateTime 一、传入字符串 SELECT toDate(2020-11-11 12:12:12) v1, toDateTime(2020-11-11 12:12:12) v2; /* ┌─────────v1─…

内聚力模型

背景介绍 材料中不可避免的具有各种缺陷,引起工程中结构断裂的发生。针对裂纹扩展相关问题,研究学者基于线弹性断裂力学,通过理论或数值手段得到裂纹尖端的应力强度因子KI、KII 和 KIII 以及应变能释放率GI、GII 和 GIII,对裂纹的…

C++入门(1)

一、关键字 C语言中只有32个关键字,C有63个关键字,将近翻了一倍。 二、命名空间 在编写代码的时候,会遇到定义的变量名和库中的函数名重复,出现命名冲突的情况。在C中有变量名、函数名还有类名,这些都会存在全局域…

两种方式实现websocket获取数据库查询进度

两种方式实现websocket获取数据库查询进度 本文实现了两种方式用websocket连接实现前端通过API获取数据库查询进度,作为websocket初步学习的参考 内容目录概要: 使用额外接口获取指定数据库查询进度,查询进度的接口与获取数据的接口分开实…

SAP S4 FI后台详细配置教程- PART3 (财务凭证相关配置篇)

本篇主要介绍凭证相关的配置,希望对学习SAP财务的同学有帮助。 1、定义凭证类型 概念功能说明: • 凭证类型是区分不同交易类型的方法并决定能够被过帐的会计形式。 例如, 可将所有的会计凭证按业务类分成: 总帐凭证、收款…

基础选择器

一、任务目标 掌握基础选择器的应用 二、任务背景 CSS(层叠样式表)选择器是CSS规则的一部分,用来指定需要设置样式的HTML元素。通过选择器可以实现CSS对HTML元素的一对一、一对多、多对一的控制。 三、任务内容 选择器类型 描述 示例 通配选…

概率论基础

一、条件概率的三大公式 条件概率中的条件就代表观测变量,观测变量意思就是这个变量的取值是否已经定下来了 1.乘法公式 2.全概率公式 随机现象:在一定的条件下,并不总出现相同结果的现象称为随机现象。随机现象的各种结果会表现出一定的…

分类效果评价(机器学习)

目录 准确率 精确率(precision) 召回率(recall,也称为查全率) 调回平均 对于一般分类问题,有训练误差、泛化误差、准确率、错误率等指标 对于常见的二分类问题,样本只有两种分类结果,将其定义为正例与反例。 那么在进行分类…

基于java大学生就业信息管理系统

随着高校教育体制的改革大学生人数的不断增加,毕业生就业制度发生了根本的变化。单位和学生走向人才市场,双向选择,择优录用。因此在这样的情况下,在INTERNET上开发并运行信息管理系统就能够极大地提高工作效率,弥补了…

VMware 网络模式

VMware提供了三种网络工作模式,它们分别是: Bridged(桥接模式) NAT(网络地址转换模式) Host-Only(仅主机模式) 1、桥连接模式 【NAT 设置】【DHCP 设置】不可编辑 2、仅主机模式 【自…

MySQL并发事务会引起的问题

MySQL事务并发的问题主要分为以上三种 脏读: 比如 事务A 对用户表进行了 一次查询 和一次修改 他将用户1的 部门 从 部门1 改为了 部门2 但事务A 并没有提交 然后事务B 只做了一步查询 查用户表 此时 如果出现脏读 则 事务B查到的 用户1 的所属部门是 部门2 而 这是 事务A其实…

Python画小仓鼠

肉嘟嘟的小动物很是可爱,本文介绍运用Python中的turtle库控制函数绘制小仓鼠。    文章目录一、效果展示二、代码详解1 导入库2 播放音乐3 定义画小仓鼠头的函数4 定义画左眼和右眼的函数5 定义画嘴的函数一、效果展示 在介绍代码之前,先来看下本文的实…

mPEG-Dendro Azide,mPEG-Dendro N3,甲氧基聚乙二醇树状叠氮化物bisMPA树状大分子供应

1、名称 英文:mPEG-Dendro Azide,mPEG-Dendro N3 中文:甲氧基-聚乙二醇-树状叠氮化物 2、CAS编号:N/A 3、所属分类: Azide PEG Methoxy PEG 4、分子量:可定制,甲氧基-PEG-树状叠氮化物 200…

Linux下文件和目录的基础操作

文章目录一、Linux 下文件和目录的特点二、 计算机中文件大小的表示方式三、 ls 命令四、切换目录五、 相对路径和绝对路径六、创建和删除1、touch 创建文件2、mkdir 创建目录3、rm 删除文件和目录七、 查看、移动和复制文件1、tree 浏览目录结构2. cp 复制文件和目录3. mv 移动…

Linux下C/C++实现以十六进制的形式显示命令(xxd)

如果你需要在linux文本文件的十六进制转储?且正在寻找可以执行此操作的命令行实用程序,xxd的命令可以为你做这件事。xxd命令将文件显示为十六进制值和ASCII表示,并允许对其进行编辑。 xxd - 以十六进制形式表示 xxd程序接受文件或标准输入&…

python--函数

目录函数1.1 自定义函数1.2 调用函数1.3 作用域函数 1.1 自定义函数 无参数、无返回值 def function():表达式无参数、有返回值 def function():表达式return 需返回的值tips:函数中可以有多个return语句,但是只要执行一个return语句,就意…