通过CSRF暴力破解用户ID实现批量删除用户攻击
在测试某个应用时,发现存在"删除用户"功能模块,管理员可通过该模块删除任意用户。
观察请求发现,删除用户请求中没有实现CSRF令牌/保护机制。这是一个非常简单的CSRF漏洞,攻击者可以向管理员发送表单,从应用中删除用户。
简单的CSRF概念验证(PoC)删除用户
但进一步观察发现,请求中包含用户ID。我的挑战是找出应用中是否存在用户ID泄露的端点,但发现并没有用户ID泄漏。
由于是5位数字ID,很容易进行暴力破解。通过研究,我发现了一篇博客文章,其中攻击者借助点击劫持技术暴力破解了ID。
客户端CSRF令牌暴力破解
在研究一些CSRF示例时,我突然想到了客户端CSRF令牌暴力破解的想法。
现在的挑战是应用使用了X-Frame-Options头部,因此无法将应用加载到框架中进行ID暴力破解。
我尝试使用XMLHttpRequest,但应用会验证ORIGIN,所以在这种情况下XHR对我无效。
然后我尝试将请求发送到iframe目标。在这种情况下,由于响应包含应用验证的X-Frame-Option头部,我无法查看响应。但我能够发送请求。
因此我制作了一个CSRF脚本,可以暴力破解用户ID,并通过CSRF从应用中删除所有现有用户。
当我将这个PoC发送给受害者(管理员)时,我成功从应用中删除了所有现有用户。
感谢大家阅读。祝大家有美好的一天。
安全相关标签: Hackerone、Bug Bounty、Bugcrowd、Owasp