Kulik-Labs-Development/Ghost-CMS-Code-Injection-Audit-CVE-2026-26980

GitHub: Kulik-Labs-Development/Ghost-CMS-Code-Injection-Audit-CVE-2026-26980

Ghost CMS代码注入清理工具,针对CVE-2026-26980漏洞批量移除恶意代码。

Stars: 0 | Forks: 0

# Ghost 注入清理器 通过 Admin API 移除 Ghost CMS 站点中所有按文章和页面的代码注入。 **全站代码注入(Ghost Admin → 设置 → 代码注入)绝不会被修改。** ## 系统要求 - Python 3.8 或更高版本 - 两个 pip 包: ``` pip install requests PyJWT ``` ## 设置 ### 1. 获取您的 Admin API 密钥 1. 登录 Ghost Admin 2. 进入 **设置 → 集成** 3. 点击 **添加自定义集成**,为其命名(例如“Cleaner”) 4. 复制 **Admin API Key** — 它看起来像这样: 6478abc123def456:8f9e0d1c2b3a4567890abcdef1234567890abcdef1234567890abcdef12345678 ### 2. 创建配置文件 在与脚本相同的目录中创建一个名为 `ghost_cleaner_config.json` 的文件: ``` { "ghost_url": "https://yourdomain.com", "admin_api_key": "YOUR_KEY_ID:YOUR_KEY_SECRET" } ``` ## 使用方法 ### 空运行(安全模式,不写入任何更改) 在执行任何操作之前,请务必先运行此命令以查看具体会清理哪些内容: ``` python3 ghost_injection_cleaner.py ``` 示例输出: ``` Ghost Injection Remover Mode : DRY-RUN (read-only) Target: https://yourdomain.com NOTE: /ghost/api/admin/settings/ (site-wide injection) is never read or written by this script. ============================================================ POSTS ============================================================ 47 posts fetched. ✦ 'My First Post' HEAD: '' 🔍 DRY-RUN — would be cleared. ============================================================ PAGES ============================================================ 6 pages fetched. ============================================================ SUMMARY ============================================================ Would clear : 1 posts/pages Already clean: 52 posts/pages Re-run with --apply to commit these changes. ``` ### 应用更改 当您对空运行输出满意后,使用 `--apply` 参数运行。系统将提示您进行确认: ``` python3 ghost_injection_cleaner.py --apply ``` ``` Type YES to confirm changes to posts and pages: YES ... ✅ Cleared. ``` ### 使用自定义配置文件路径 ``` python3 ghost_injection_cleaner.py --config /path/to/my_config.json ``` ## 清理内容 对于每篇文章和页面,它会将以下两个字段设置为 `null`: | 字段 | 在 Ghost 编辑器中的位置 | |---|---| | `codeinjection_head` | 文章/页面设置 → 代码注入 → 头部 | | `codeinjection_foot` | 文章/页面设置 → 代码注入 → 底部 | 没有注入内容的文章和页面将被静默跳过。 ## 不会修改的内容 - **全站头部/底部注入** — Ghost Admin → 设置 → 代码注入 - **文章/页面内容**(您文章的实际正文) - **主题文件** - **除上述列出的两个字段以外的任何 Ghost 设置** ## 故障排除 **`缺少依赖`** 运行 `pip install requests PyJWT` 然后重试。 **`admin_api_key 必须为 'id:secret' 格式`** 请确保您的密钥中间有一个冒号。它应该看起来像是两个由 `:` 分隔的十六进制字符串。直接从 Ghost Admin 复制,不要添加空格。 **`401 未授权`** 您的 Admin API 密钥可能有误,或者该集成可能已被删除。请返回 Ghost Admin → 设置 → 集成进行验证。 **`连接错误` 或超时** 检查配置文件中的 `ghost_url` 是否正确,以及从您运行脚本的机器上是否可以访问该站点。 **脚本在大型站点上挂起** 每页 50 篇文章会生成一个新的 JWT 并等待 API 响应。这是正常的 — 请稍等片刻。
标签:CVE-2026-26980, Ghost内容管理系统, 内容管理系统, 垃圾代码, 安全漏洞, 安全维护, 恶意代码移除, 批量清理, 注入清除, 漏洞修复, 管理员API, 网站安全, 网络安全培训, 自动化清理, 逆向工具