利用CSRF暴力破解用户ID实现批量删除攻击

本文详细介绍了如何通过CSRF漏洞暴力破解用户ID来实现批量删除攻击。文章展示了从发现缺乏CSRF保护的删除功能到绕过X-Frame-Options限制的完整攻击链,最终成功删除应用所有用户的实战过程。

利用CSRF暴力破解用户ID实现批量删除攻击

在测试某个应用时,发现了一个"删除用户"模块,管理员可以通过该模块删除任意用户。

如果仔细观察请求,会发现删除用户请求中没有实现CSRF令牌/保护机制。这是一个非常简单的CSRF漏洞,攻击者可以向管理员发送表单,从应用中删除用户。

简单的CSRF概念验证删除用户

但再次观察请求时发现,请求中包含用户ID。我面临的挑战是找出应用中是否存在用户ID泄露的端点,但发现并没有用户ID泄漏。

由于用户ID是5位数字,很容易进行暴力破解。

客户端CSRF令牌暴力破解

在研究过程中,我找到了一篇博客文章,其中攻击者借助点击劫持技术暴力破解了ID。

现在的挑战是应用使用了X-Frame-Options头部,因此无法将应用加载到框架中进行ID暴力破解。

我尝试使用XMLHttpRequest,但应用会验证ORIGIN,所以在这种情况下XHR对我无效。

然后我尝试通过iframe目标发送请求。在这种情况下,由于响应包含X-Frame-Option头部,我无法查看响应内容。但我能够成功发送请求。

因此我编写了一个CSRF脚本,通过暴力破解用户ID,利用CSRF漏洞删除应用中的所有现有用户。

当我将这个PoC发送给受害者(管理员)时,成功从应用中删除了所有现有用户。

感谢大家阅读。祝大家有美好的一天。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计