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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2018-7600 — 一个 Rust 实现的 CVE-2018-7600 漏洞利用程序,目标为易受攻击的 Drupal 7 安装(<= 7.57) | Kitploit
工具/GitHubGitHub/nika0x38/cve-2018-7600
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试命令与控制学习与教育
GitHubnika0x38/cve-2018-7600

CVE-2018-7600

一个 Rust 实现的 CVE-2018-7600 漏洞利用程序,目标为易受攻击的 Drupal 7 安装(<= 7.57)

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2018-7600 - Drupal 7 远程代码执行

RustSecurity

一个 Rust 实现的 CVE-2018-7600 漏洞利用程序,针对存在漏洞的 Drupal 7 安装(<= 7.57)。该 CLI 复现如下 PoC 流程:通过 user/password 路径对缓存的可渲染表单进行投毒,提取 form_build_id,然后通过 file/ajax 端点触发缓存的载荷,借助 PHP 函数调用来实现远程代码执行。

漏洞概述

CVE-2018-7600 是一个影响 Drupal 7(以及在不同场景下的 Drupal 8)的远程代码执行漏洞。在 Drupal 7 中,该问题源于某些可渲染数组在被缓存并随后渲染时缺乏足够的清理。通过向被缓存的端点注入特制的渲染元数据,攻击者可以在缓存数据随后被渲染或请求时,导致任意 PHP 函数被执行。

技术细节

  • 该漏洞利用滥用 Drupal 的渲染系统与缓存,插入一个可渲染数组,其 #post_render 回调是任意 PHP 函数(例如 passthru)。
  • PoC 流程通常向 ?q=user/password 提交特制的可渲染数组参数,从而使 Drupal 缓存被投毒的表单。
  • 投毒并收到 form_build_id 后,PoC 通过在 POST 请求体中携带 form_build_id 调用 /file/ajax/name/#value/<form_build_id> 来触发载荷。当 Drupal 渲染缓存的元素时,#post_render 回调会以攻击者控制的标记执行,从而实现命令执行。

描述

该 Rust CLI 针对目标 Drupal 7 站点构造并执行两步序列(先投毒后触发),解析 HTML 响应以获取 form_build_id,然后触发 file/ajax 端点以执行攻击者指定的函数。

由于客户端禁用了证书验证(以复现原始 PoC 中传递的 verify=False),该工具将适用于使用自签名或其他无效 TLS 证书的目标。如果你更倾向于要求有效证书,可以在源码中更改此行为。

用法

基本用法(默认命令为 whoami,默认函数为 passthru):

root@kitploit:~
cargo run -- -u http://target.com/

运行自定义命令和函数:

root@kitploit:~
cargo run -- -u http://target.com/ -c "whoami" -f "passthru"

使用 HTTP/S 代理(格式:http://127.0.0.1:8080/):

root@kitploit:~
cargo run -- -u http://target.com/ -p http://127.0.0.1:8080/

CLI 选项摘要:

  • -u, target:目标 Drupal 站点的 URL(例如 http://target.com/)。
  • -c, --command:要在目标上执行的命令(默认值:whoami)。
  • -f, --function:用作攻击向量的 PHP 函数(默认值:passthru)。
  • -p, --proxy:可选的代理 URL,用于路由请求。

完整流程示例:

  1. 对 user/password 表单进行投毒,插入 #post_render 回调以及包含命令的 #markup。
  2. 解析响应,在 form#user-pass 中找到 form_build_id。
  3. 使用 form_build_id 向 ?q=file/ajax/name/#value/<form_build_id> 发送 POST 请求,以触发渲染并执行命令。

免责声明

此工具仅用于教育和已获授权的渗透测试。请负责任地使用,并且仅在您拥有或获得明确许可的系统上使用。

下载工具