逻辑漏洞挖掘总结篇
警告
请勿使用本文提到的内容违反法律。
本文不提供任何担保。
一、简单介绍
业务逻辑漏洞是指由于程序逻辑不严谨或逻辑太复杂,导致一些逻辑分支不能正常处理或处理错误。在我理解中,逻辑漏洞是指由于程序逻辑输入管控不严,导致程序不能够正常处理或处理错误,一般出现在登录注册、密码找回、信息查看、交易支付金额等。我将所有逻辑漏洞的问题分为前端和后端两个部分,总体思路都是先测试前端再测试后端。在我理解中其实就是能突破规则限制的就是漏洞,像不可修改的通过抓包可以修改了。
二、思维逻辑图
三、应用场景
(1)登录验证码爆破
有些系统,手机获取验证码的时候,没有对验证码的验证次数进行限制,或者是没有对验证码的有限时间进行限制,就会造成验证码爆破,但是实战中4位的数字验证码还是很容易爆破的,有些6 7 位的就不是很好爆破了,一般src也不会收这些。
(2)凭证返回
这个就很有意思,在一次某人才网漏洞挖掘的时候,发现在获取验证码的地方,抓包,返回的响应包set-Cookie里面直接返回了验证码,直接就可以输入验证码,可以完成任意用户登录,注册,密码找回。有一些还有在登陆或者密码找回的时候会返回密码。

(3)验证码绕过
其实这里不只是验证码,在某些密码找回,或者验证用户凭证的时候,会根据返回的状态码进行校验,假设验证码是正确的,返回的状态码位1,错为2,这里我们就可以通过抓取响应包,修改状态码为1,即可达到验证绕过。最开始的时候我不会抓响应包后来才知道怎么抓,很简单,就是在Burp里面的Do intercept -> Response to this request。
(4)短信轰炸
造成短信轰炸的原因主要是没有对单个用户获取验证码的次数进行限制,通过Burp抓包,数据包重放就可以造成短信轰炸。
(5)session覆盖
同一浏览器,首先输入自己的账户进行邮箱密码找回,进入邮箱查看链接,接着输入他人账户,进行密码找回,返回刚刚自己的邮箱点击链接,由于 session 覆盖导致了,这个链接成为了修改他人密码的链接,成功修改他人密码
(6)逻辑越权
相同级别(权限)的用户或者同一角色不同的用户之间,可以越权访问、修改或者删除的非法操作,如果出现此漏洞,可能会造成大批量的数据泄漏,严重的甚至会造成用户信息被恶意篡改。
1.订单越权:通过修改URL的订单id值越权查看订单(有些是在POST包中修改)
2.收获地址越权:收货地址这里碰到的还是蛮多的,在收货地址的地方,查看收货地址,有些通过修改address的id值即可查看别人的收货地址,还有越权修改别人的收货地址,这里有一个小套路,假设此站点的收货地址存在xss漏洞,就可以通过修改别人的收货地址打到cookie,这里也算是个组合拳吧。还有就是思路需要灵活,有些开发对会员中心的收货地址进行限制了,但是在提交订单的地方,也是可以越权查看他人的收货地址的。
3.资料修改:这里跟收货地址其实没什么区别,也可以通过xss进行组合拳。
4.其实还有很多越权的方式,但是我碰到的不是很多,这些是我碰到最多的情况。
(7)换绑手机,密码重置
这里的思路其实就是后台没有对账号和绑定手机进行校验,我们可以通过抓包修改绑定的手机号码为我们的手机号,即可造成密码重置,或者一些别的操作
(8)支付类逻辑
1.商品价格修改:在购买商品的时候,通过抓包通过修改商品的价格,即可造成0.01元购买商品。这里修改商品价格的地方很多,加入购物车的时候可以修改,提交订单的时候也可以修改,这个看情况进行修改。
2.商品数量修改:有些开发会对商品的价格进行封装,我们通过修改数据包没法进行修改,但是这里的商品数量可以改为-1,然后我们再选择别的商品,即可造成价格抵扣。这里修改的地方也是加入购物车的时候可以修改,提交订单的时候也可以修改。
3.运费修改:这个跟以上同理,但是有些开发只对商品做了限制,忽略了运费这一点,通过修改运费为负数,即可抵扣商品。
4.支付金额修改:这个就是最后一步支付的时候,可以修改订单的价格,造成低价购买。
警告
请勿使用本文提到的内容违反法律。
本文不提供任何担保。