业务逻辑漏洞
- 因为开发者的逻辑不严谨造成的程序功能异常
举例
- 暴力破解
- 短信/邮箱轰炸
- 验证码绕过/爆破/重放/回传
- 用户名/手机号枚举
- 越权登陆(例如修改数据包中用户ID)
- 商品金额/数量篡改
- 整数溢出,int 最大值为2147483647
漏洞复现
1.damiCMS_5.4,随意价格修改
- 使用phpstudy搭建好damiCMS_5.4
- 注册新账号
-
完善一些信息后去进行“购物”
-
要先用bp抓包进行拦截
-
点击立即购买
-
抓到包后修改价格(price)为0,然后放包。
-
价格已经被修改
2.pikachu验证码绕过暴力破解
基于客户端
-
我们先进行正确的验证码输入
-
看看bp里面的浏览记录
-
发送到重放模块
-
进行重放,寻找成功特征
-
修改数据再次重放,查看是否成功
-
成功,证明可以进行爆破,具体原因是前端验证了验证码,后端没有进行验证,而bp是介于前后端中间,能抓到成功的包,在服务器看来,已经是前端验证好的,所以就会返回数据了。
基于服务器
- 和基于前端一样,先抓一个正确的包进行重放尝试
- 看得出来并没有成功,我们尝试修改数据包的验证码为新的验证码,进行重放
- 这次成功了,修改数据进行尝试
- 依旧成功,这是因为后端验证也会验证前端的验证码是否进行改变,前端验证码并没有发生变换的情况下后端就会认为验证码可用,攻击者就可以利用这点进行爆破。