自行承担使用风险。
本工具严格仅供授权的安全研究、渗透测试和教育目的使用。请仅对您拥有或已获得明确书面许可的系统运行此工具。
作者不对本工具的任何非法或不道德使用,或因此类使用导致的任何后果负责或承担责任。本工具如何操作的所有法律和道德责任完全由运行者承担——作者不参与、不认可、也不纵容对本软件的未经授权使用。
针对 phpBB OAuth login_link 认证绕过的自动化 PoC
phpBB 发布了 CVE-2026-48611 并附有该漏洞的技术分析报告,但除 Pentest-Tools.com 自己的公告 中的载荷细节外,公开渠道没有任何可用的自动化利用工具——其他都是手动、一次性的测试。本工具填补了这一空白:一个脚本即可检测易受攻击的 phpBB 安装、定位其登录面板,并端到端地执行实际绕过。
该漏洞由 Pentest-Tools.com 安全研究团队的 Dan Stefan Alexandru 发现并负责任地披露,于 2026 年 6 月 4 日 报告给 phpBB。本仓库是基于公开公告独立构建的自动化 PoC——与 Pentest-Tools.com 或 phpBB 无关联。
phpBB 支持通过外部身份提供商(OAuth)登录,而非本地密码——Apache 自身的认证机制就是受支持的提供商之一。处理此流程的端点 ucp.php?mode=login_link&auth_provider=apache 直接从 HTTP Authorization: Basic 头中提取用户名,并为该用户建立已认证会话。
漏洞在于:它从未真正检查该头中的密码部分。 正常登录时密码错误会被拒绝。但此端点不会——它信任您声明的任何用户名,无论您发送什么密码值都会以该用户身份登录。任意已注册用户名加上一个编造的密码就足以获得完全认证的会话。
styles/prosilver/style.cfg、composer.json、styles/subsilver2/style.cfg 或 feed.php,直到其中一个泄露版本字符串。ucp.php —— 如果您只提供裸域名,工具会先进行有界的同源爬取,然后回退到探测常见安装路径(forum/、board/、phpBB3/ 等)。--no-browser 使用更快的纯 HTTP 请求。同时尝试查找域名真实的、非 Cloudflare 的源站 IP(通过 crt.name 证书透明度查询 + 常见管理员/邮件子域探测),确认后将请求直接路由到该地址。login_link 请求,验证生成的会话确实以目标用户身份完成认证(而不仅仅是 200/302 响应),并打印一个可直接粘贴的 URL,在任何浏览器中打开即可以该用户身份预认证加载论坛。--auto —— 跳过手动输入用户名,直接从目标公开的 memberlist.php 获取真实用户名(跳过管理员/版主/创始人等类似工作人员的账户,选择普通成员,以保持 PoC 运行的低影响)。git clone https://github.com/Ethicalgrey/phpBB-CVE-2026-48611.git
cd phpBB-CVE-2026-48611
chmod +x install.sh
./install.sh
install.sh 是一次性设置——它将脚本所需的一切(requests、urllib3、playwright 及其 Chromium 浏览器)直接安装到您的用户环境中,无需激活虚拟环境,也无需重复设置。完成后,python3 CVE-2026-48611.py ... 即可在任何新终端中每次都正常工作。
# 单个目标,裸域名——查找 ucp.php、检测版本、若存在漏洞则提示输入用户名
python3 CVE-2026-48611.py -u example.com
# 同上,但自动从公开的 memberlist 发现用户名,而非手动输入
python3 CVE-2026-48611.py -u example.com --auto
# 更快的纯 HTTP 模式,不使用 Chromium——当目标前面没有 Cloudflare 风格的 JS 质询时使用
python3 CVE-2026-48611.py -u example.com --no-browser
# 以可见方式运行浏览器(当 JS 质询需要人工点击时使用)
python3 CVE-2026-48611.py -u example.com --headed
# 主机列表,每行一个——每个易受攻击的主机在利用运行前仍会单独提示
python3 CVE-2026-48611.py -l targets.txt
# 跳过 TLS 验证(针对自签名/证书损坏的目标)
python3 CVE-2026-48611.py -u example.com -k
-u/--url 和 -l/--list 互斥。--auto 仅适用于 -u/--url——在列表模式下刻意不支持,因此批量运行绝不会在人工确认每个目标之前触发利用。
-l targets.txt —— 一次性对主机列表运行完整的检测与利用流程;每个易受攻击的主机在利用触发前仍会单独提示(或使用 --auto 自动选择用户名),因此不会对目标列表无人值守地运行任何操作。