案例分享
案例分享
分享一些由于系统设计或业务逻辑错误导致的安全问题,这类漏洞通常不是由代码缺陷引起,而是由于权限控制、数据验证、资源管理等方面的逻辑问题。
业务流程绕过
验证码可复用
漏洞概述
目标系统在验证码发送接口(/v1/sendSms)中存在业务逻辑缺陷,攻击者可通过观察服务端返回的不同提示信息(如“用户名或密码错误”与“密码正确已达今日发送上限”)判断目标账户密码的正确性。该行为本质上是利用接口参数滥用和敏感响应信息泄露实现对用户凭证的状态探测,属于典型的“基于信息泄露的密码爆破辅助漏洞”。攻击者可结合自动化工具批量验证用户密码,绕过常规登录防护机制,最终导致账户被暴力破解或接管,危害程度高。
漏洞详情
当密码错误时系统提示“用户名或密码错误”,而当密码正确时系统提示“已达今日发送上限”
1.使用 Burp Suite 拦截目标网站用户登录 - 发送验证码接口的请求,将数据包发送至 Intruder 模块,并在请求中添加 password 字段。
2. 执行爆破任务,将结果按照提取的 msg 信息进行排序。通过对比发现,当密码错误时系统提示“用户名或密码错误”,而当密码正确时系统提示“已达今日发送上限”,从而确认漏洞存在。

与图形验证码有关的测试项,验证码可复用,验证码可爆破,验证码可置空,验证码未绑定
AI+ddddocr 来绕过简单的图形验证码
后端无校验
漏洞概述
业务流程绕过漏洞指通过非正常的方式或途径,绕过系统中的业务流程控制,实现对系统的非法访问或操作,包括但不限于跳过必要的流程环节、修改控制流程、绕过授权机制等,如认证绕过,实名绕过等。攻击者能够跳过必要的流程环节、修改控制流程或绕过授权机制,从而执行未经授权的操作,如未经身份验证即可访问系统、绕过实名认证访问敏感信息等。这可能导致系统和数据的安全受到威胁,如数据泄露、服务拒绝或恶意操作
【漏洞POC】
1 | POST HTTP/1.1 |
【测试过程】
1.访问功能页面,发现系统对预约和预约查询业务存在前端流程限制

2.进一步分析发现,该流程控制仅依赖前端JavaScript实现,未在后端进行有效性校验。
3.使用Burp Suite拦截正常预约请求,尝试直接构造并发送修改后的请求数据包,绕过前端限制
4.根据POC中的请求体内容,确认关键参数为*visitPhone。使用Burp Suite重放请求,将visitPhone*字段值修改为虚拟手机号(如13000000000),成功完成预约操作。

5.随后通过预约查询接口使用该虚拟手机号查询预约记录,确认预约信息已成功创建,如下图所示:
6.系统虽对同一手机号的预约次数进行了限制,但因未对*visitPhone*参数在后端进行二次校验,攻击者可通过修改该参数值绕过限制,实现无限次预约,可能引发DOS攻击风险。
这是第三次复测的,第一次是身份证后四位置空仍可查询出预约人身份证信息,第二次是同一手机号可多次预约导致的CC,第三次是后端无校验
响应包篡改
【测试过程】
1.访问目标业务功能点“门楼牌变更”,当前状态下该业务存在流程访问限制,无法提交当前申请,系统提示如下:

2.通过修改服务器返回给客户端的数据,利用客户端对响应数据的不足验证或不安全的信任机制,篡改关键响应字段以绕过前端限制,操作过程及篡改后的数据如下:

3.成功绕过正常的业务流程限制并完成非法操作,系统允许提交申请,证明业务流程控制失效,结果如下:

资源滥用
评论区刷赞
漏洞概述
由于系统设计或业务逻辑错误导致的安全问题。这类漏洞通常不是由代码缺陷引起,而是由于权限控制、数据验证、资源管理等方面的逻辑问题。例如,未经授权的用户可以访问敏感数据,或者系统因并发操作顺序错误导致数据丢失。
【漏洞POC】
1 | POST / HTTP/1.1 |
【测试过程】
1、进入文章页面,登录后点赞文章,会获取到如下数据包
2、将openId参数随机增加数字发送,可以实现刷赞功能
微信的openid应该本身没问题,后端没有做校验
短信轰炸
漏洞概述
目标应用的短信接口设计存在缺陷,未对短信发送频率和次数进行合理限制。攻击者可利用此接口发送大量垃圾短信给任意目标,导致短信轰炸,可能造成自身经济和名誉损失,影响用户体验。
【测试过程】
1 | GET /?phone=10,11,12 HTTP/1.1 |
三个手机号能同时收到短信验证码,攻击者可利用该特性对大量手机号用户做短信发送,消耗运营商短信额度,造成资源耗费。
短信验证码的测试方向:爆破,置空,复用,0000,泄露,无绑定,逻辑绕过
