找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

5013

积分

0

好友

689

主题
发表于 2 小时前 | 查看: 2| 回复: 0

法律声明:本文所有技术讨论与案例仅供安全研究学习之用,请勿用于任何非法用途。因传播、利用本文信息而造成的任何直接或间接后果及损失,均由使用者自行承担,作者不为此承担任何责任。

前言

对于刚进入漏洞挖掘领域的新手来说,教育行业的SRC(EDUSRC)往往被视为一个不错的入门选择。随着网络安全越来越受到重视,许多高校的核心资产都部署了WAF等防护措施,增加了渗透测试的难度。寻找相对薄弱的站点因此变得更具挑战性。本文将聚焦于通过微信小程序、服务号等入口进行信息收集,并分享几种在EDUSRC场景下常见的漏洞挖掘思路与实战案例。

支付逻辑漏洞

支付逻辑漏洞,指的是在支付流程的业务逻辑层面存在的缺陷。这类漏洞通常源于服务器端未能对客户端提交的金额、数量等敏感参数进行严格校验。

在高校场景中,相对脆弱的支付系统往往是水电费充值、校园卡充值等小程序或Web端。其中,“四舍五入”逻辑漏洞尤为典型。

支付系统通常以“分”为单位处理金额(格式如0.00元)。但在某些设计中,系统可能会对小数点后第三位(厘)进行四舍五入。例如,用户充值0.019元,支付网关可能只收取0.01元,而服务端则通过四舍五入将其计为0.02元入账。这样一来,攻击者就能用0.01元的成本获取0.02元的余额,通过重复操作可能造成可观的资产损失。

案例一:某高校微后勤电费充值系统

在电费充值界面,系统设置的最低充值金额为1元。

某高校微后勤电费充值界面

拦截充值请求,查看数据包:
电费充值请求数据包

将请求中的 money 字段修改为 0.019 后重放请求,服务器成功响应并生成了一个支付链接。

修改金额后生成支付链接

支付链接页面显示的金额为0.01元,用户以此金额完成支付。
支付确认界面显示金额0.01元

支付成功后,系统端显示的实际到账金额为0.02元,证实了四舍五入逻辑漏洞的存在。
支付成功到账0.02元

案例二:某高校汽车充电桩充值系统

该系统允许自定义充值金额。

汽车充电桩充值钱包界面

在自定义金额输入框中,直接填写 0.019,系统未对金额合法性进行校验。
自定义充值金额输入0.019

发起充值请求,数据包中金额字段同样为0.019。
充电桩充值请求数据包

支付成功,系统提示支付0.01元。
支付成功提示

查看账户余额,系统已将其四舍五入为0.02元,漏洞再次得到验证。
账户余额显示0.02元

水平越权漏洞

水平越权,指的是攻击者能够访问或操作与其权限级别相同、但本不应属于其自身的用户数据或功能。例如,用户A通过修改请求中的ID参数,访问到用户B的账户信息。

这类漏洞在业务系统的增删改查接口中尤为常见,是渗透测试过程中需要重点审计的环节。

案例一:报修单撤回接口越权

某高校报修系统的撤回功能存在水平越权,允许用户撤回任意其他用户的报修申请。

使用账号A提交一个报修申请。
账号A提交的待派单报修申请

抓取撤回报修单的请求包,其中的关键参数 wbx_data_id(报修单ID)值为 31358
撤回报修单请求包,ID为31358

使用账号B也提交一个报修申请,其报修单ID为 31359。可见ID是连续递增的。
账号B的报修单详情,ID为31359

在账号B的撤回请求中,将 wbx_data_id 修改为账号A的ID 31358 并发送请求。
修改撤回请求中的ID为31358

服务器返回“操作成功”响应。
服务器返回撤回成功

此时,账号A的报修单已被成功撤回。
账号A的报修单状态变为已撤回

案例二:场馆预约系统用户ID遍历泄露信息

某场馆预约系统在添加预约人时,存在用户ID遍历漏洞,导致其他用户的个人信息泄露。

账号A添加了一个预约人,其ID为 643033
账号A添加预约人,ID为643033

账号B添加的预约人ID为 643034
账号B添加预约人,ID为643034

当账号B进行场馆预约,选择预约人时,系统会提交一个包含 id 参数的请求。
账号B预约场馆的请求包

攻击者将请求中的 id 参数修改为账号A的预约人ID 643033,并预约其他时段。
修改请求中的ID为643033并预约

预约成功,这意味着攻击者可以遍历ID,获取系统中所有已录入人员的敏感信息(如姓名、电话等),造成大规模信息泄露。

云安全-OSS存储桶漏洞

对象存储服务(OSS)以HTTP RESTful API对外提供服务。常见的漏洞是由于Bucket(存储空间)权限配置不当,导致公开可读、可写甚至可删除。

访问一个疑似OSS的路径时,如果返回 NoSuchKey 错误,则很可能存在配置问题。
访问OSS路径返回NoSuchKey错误

此时,可以尝试进行PUT(上传)、DELETE(删除)等操作来验证权限。

尝试PUT上传一个文件,返回200状态码,表示上传成功。
PUT上传文件成功,返回200

尝试DELETE删除该文件,返回204状态码,表示删除成功。这证实了该存储桶存在不安全的配置。
DELETE删除文件成功,返回204

如果能够上传文件,还可以尝试上传HTML文件进行XSS攻击。有时需要指定响应头 Content-Typetext/html 才能被浏览器正确解析。
上传包含XSS Payload的HTML文件
成功触发XSS弹窗

更严重的风险是AK/SK泄露。Access Key和Secret Key是OSS服务的核心安全凭证。一旦这两个密钥泄露,攻击者便可完全接管对应的OSS存储桶。开发者需严防代码仓库、前端页面、错误信息等处的AK/SK泄露。

敏感信息泄露

敏感信息泄露是SRC挖掘中最常见且危害广泛的漏洞类型之一,通常由配置不当、代码缺陷或逻辑错误导致。

案例一:报修系统泄露全体维修人员凭证

某报修系统存在接口配置不当,直接泄露了所有维修人员的账号密码。

运维与测试过程中,发现一个名为 GetAllWorkers 的接口。
网络请求列表中的GetAllWorkers接口

访问该接口,服务器直接返回了所有维修工人的详细个人信息,包括登录账号和密码(明文或可逆加密)。
GetAllWorkers接口返回全体人员敏感信息

利用泄露的凭证,可以成功登录维修后台,获取全部报修订单等敏感信息。
使用泄露凭证登录维修后台

案例二:校友认证系统泄露学生信息

某高校校友认证系统存在逻辑缺陷,仅凭姓名即可遍历并绑定未注册的学生信息,导致敏感数据泄露。

首先,通过搜索引擎语法(如 site:xxx.edu.cn 姓名)收集部分学生姓名。
通过搜索引擎收集学生姓名信息

在校友认证页面,填入获取到的真实姓名,其他信息随意填写,尝试进行认证绑定。
校友认证信息填写页面

抓取认证请求包,发现服务器在验证过程中,直接返回了该学生的完整学籍信息。
认证请求返回学生完整敏感信息

若尝试绑定一个已被其他微信绑定的学生信息,前端会提示“该用户已被绑定”。
尝试绑定已绑定用户时前端的提示

这意味着,攻击者可以通过遍历学生姓名,来探测并获取所有未被绑定的学生的敏感信息。整个过程仅需一个有效的短信验证码(可重放攻击获取),即可完成信息窃取。
获取短信验证码的请求
最终成功泄露学生详细信息

总结与思考

本文通过支付逻辑、水平越权、OSS配置、信息泄露四个维度的实际案例,剖析了EDUSRC场景下一些典型的漏洞模式。这些漏洞的根源大多在于服务器端信任了未经严格校验的客户端输入,或是在业务逻辑与权限校验的设计上存在缺陷。

漏洞挖掘不仅需要技术工具,更需要深入理解业务逻辑,对每一个参数、每一个接口都保持怀疑和验证的态度。希望这些思路能为大家在安全研究和网络与系统安全防护实践中提供一些参考。

本文由专业技术社区云栈社区收录并优化,旨在提供更清晰、结构化的技术知识分享。安全之路,始于学习,忠于责任。




上一篇:白宫授权联邦机构使用Claude漏洞挖掘AI,绕开五角大楼禁令引关注
下一篇:美国《家长决定法案》或强制Windows、macOS与Linux进行年龄验证
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-4-20 14:37 , Processed in 1.188815 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

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