逻辑漏洞背后隐藏的刷票总结
字数 1743 2025-08-24 07:48:22
刷票漏洞利用技术总结
前言
刷票行为通常利用逻辑漏洞实现,通过伪造投票请求、绕过验证等手段增加投票数量以获取名次奖励。本文总结了多种刷票技术思路,这些思路不仅限于刷票场景,也可应用于其他安全测试场景。
一、无任何验证措施
漏洞特征:程序开发问题,单一投票功能,用户可直接点击投票且无任何限制。
利用方法:
import requests
url='http://www.domain.com/comment.php?aid=123&who=1&t=1385710179528'
while 1:
requests.get(url)
二、客户端验证
核心原则:一切来自客户端的数据都不可信。
- 弹框提示无阻断:仅弹框提示,不阻断代码执行,刷新页面可继续投票
- 浏览器缓存验证:更换浏览器或清理缓存可重新投票
- 前端按钮限制:投票后按钮变灰,可删除前端控制代码或直接向服务端发包
三、User-Agent验证
绕过方法:修改User-Agent头模拟不同设备/浏览器。
常用User-Agent示例:
- iPhone:
Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38... - Chrome:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36... - 百度爬虫:
Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html
四、Cookie验证
绕过方法:
- 修改Cookie值,即使随机修改两个字符也可能绕过限制
- 使用不同用户的Cookie
五、IP验证
绕过方法:
- 修改
X-Forwarded-For或Client-IP头 - 使用IP代理池
代理池示例:
import requests
from random import choice
proxy_list = ['http://ip1:port1', 'http://ip2:port2', 'http://ip3:port3']
proxy = choice(proxy_list)
headers = {'User-Agent': 'Mozilla/5.0...'}
response = requests.get('http://www.example.com', headers=headers, proxies={'http': proxy})
其他方法:
- 重启路由器更换IP
- 手机开启飞行模式更换IP
六、投票量与阅读量异常检测
检测方法:当投票量明显大于阅读量时,系统可能判定为刷票行为。
应对策略:控制投票数量在合理阅读量范围内。
七、组合拳1:CSRF刷票
利用方法:
- 利用Burp的Engagement tools生成CSRF PoC
- 诱导已登录用户访问恶意页面自动发送投票请求
八、组合拳2:XSS打Cookie刷票
利用方法:
- 存储型XSS:直接自动化刷票
- 反射型XSS:通过缩短网址诱导用户点击收集Cookie
- 结合CSRF实现自动化刷票
九、观察数据包请求
关键点:
- 检查Get/Post参数中的验证值
- 检查Cookie中的判断值
- 修改系统提供的判断值可能实现刷票
十、并发线程(条件竞争)
利用方法:
- 使用Fiddler批量发包
- 使服务器处理速度跟不上请求速度
- 在验证机制生效前完成大量投票
十一、验证码绕过技术
- 验证码重复使用:使用后不会销毁,可重复使用
- 字符集可控:可自行选择验证码(如ThinkCMF 1.X-2.X漏洞)
- 验证码暴露:验证码存放在可预测位置
- 万能验证码:如8888、0000等开发测试用密码
- 尺寸可控:修改验证码尺寸使其易于识别
- 简单验证码:可机器识别
- 会话绕过:清空缓存或使用隐私窗口绕过验证码
十二、手机号验证码绕过
利用方法:
- 使用在线接码平台:
- https://jiemahao.com/ (免费)
- https://bestsms.xyz/ (免费)
- https://sms-activate.org/cn (付费)
实战案例
案例1:某APP刷票
- 问题:APP提示需要使用特定客户端但实际已使用
- 分析:User-Agent验证问题
- 解决:修改User-Agent为手机UA
- 发现token验证:修改token值可绕过限制
案例2:高校排行刷票
- 分析:无Cookie和IP验证
- 发现vid参数控制投票
- 规律:vid值增加1位可继续投票
- 实现:批量修改vid值刷票
防御建议
- 加强验证机制:随机token+服务端验证
- 表单提交增加随机校验码
- 多因素验证组合
- 合理设置投票限制策略
- 监控异常投票行为(如投票量远大于阅读量)
总结
本文总结了多种刷票漏洞利用技术,核心在于识别和绕过系统的验证机制。这些技术思路不仅适用于刷票场景,也可应用于其他安全测试领域。关键在于培养安全思维,看到功能点就能考虑可能存在的漏洞和触发条件。