嘿,伙计们,
在最近的一次安全潜水中探索 REDACTED 的论坛功能时,我发现了一个非常简单但影响深远的错误。通过一次修改的请求,我能够完全清除整个组织的论坛部分 — 没有管理员权限,没有复杂的漏洞利用链。DELETE
以下是这一切是如何发生👇的完整细分
发现 🔍
REDACTED 提供了一个论坛部分,允许组织内的用户进行协作、分享想法和解决问题。这是一个巧妙的功能——直到有人将其武器化。
在摆弄论坛帖子和回复时,我注意到了一些奇怪的事情:删除你自己的评论只是一个简单的请求(意料之中)。但是当我拦截并修改该请求以删除我不拥有的评论时,发生了一个奇怪的行为DELETE
就像,完全脱离轨道的那种侧向。
设置
我们有两个用户:
-
👤 受害者:创建论坛帖子的普通用户。 -
👾 攻击者 (me):另一个具有论坛访问权限的普通用户。
无管理员权限。没有提升的权限。只有两个普通账户。
逐步作:
1. 受害者登录并创建一个新的论坛线程。
简单的东西 — “如何重置我的密码”或类似的东西。
2. 攻击者回复该线程。
同样,还没有任何可疑之处。常规回复。
3. 这是有趣的地方。
我删除了自己的回复,但在请求到达服务器之前在 Burp Suite 中拦截了该请求。这是它的样子:
DELETE /discussions/topics/501000176193/posts/501000391796 HTTP/2 Host: example.redacted.com Cookie: <session_cookie> X-Csrf-Token: <csrf_token> X-Requested-With: XMLHttpRequest
现在我修改它,将其递减 1。我没有删除,而是尝试删除。comment_id
501000391796
501000391795
后果
当我在修改后的请求上点击“发送”时,我刷新了论坛页面并收到了以下内容:
{"code":"internal_error","message":"We're sorry, but something went wrong."}
这不仅仅是我这边。我用受害者账户重新登录,让几个朋友检查——每个人都看到了同样的事情。
现在无法访问整个论坛部分。适用于组织中的每个人。
只是因为我试图删除一条我不拥有的评论。
为什么有效
-
后端没有检查我是否有权限删除该评论。 -
当它失败时,它就失败了——抛出一个 500 Internal Server 错误,完全破坏了论坛 UI。 -
没有速率限制或回滚 — 这是一次性崩溃。
冲击
此错误有效地允许任何用户在论坛上执行拒绝服务 (DoS)。由于论坛通常用于内部支持、协调或社区参与,因此影响可能非常大:
-
所有讨论都将无法访问。 -
依赖论坛的业务运营中断。 -
除非完成后端修复或数据库清理,否则没有明确的恢复。
原文始发于微信公众号(安全狗的自我修养):揭露导致组织论坛崩溃的简单错误
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论