Apache[多后缀文件名解析漏洞+换行解析漏洞+SSI远程命令执行漏洞]复现

目录

一、多后缀文件解析漏洞

二、Apache换行解析漏洞(CVE-2017-15715)

三、Apache SSI 远程命令执行漏洞


一、多后缀文件解析漏洞

Apache的多后缀名特性:

如果一个文件有多个后缀名,那么Apache会从后(右)往前(左)辨别后缀。所以攻击者在可以上传文件的地方上传hack.php.xxx的文件,假设网站有对php的后缀进行过滤,但判断是xxx文件,不在黑名单里,安全检查就会放行,然而Apache的多后缀名特性会以倒数第二个后缀".php"为准,把该文件当做是php文件,解析执行。但是需要把 php5.conf文件中的正则表达式的“$”换成".",然后重启。

总结:Apache文件解析漏洞就是由于用户在配置服务器时,配置不当导致本来非php文件也会被认为php文件处理。

打开靶场环境:

cd /vulhub/httpd/apache_parsing_vulnerability

docker-compose up -d

访问上传界面如下:

我们直接上传一句话木马发现:

Unsupported filetype uploaded。

我们利用Apache的多后缀文件解析漏洞,进行抓包修改后缀名上传:

Apache[多后缀文件名解析漏洞+换行解析漏洞+SSI远程命令执行漏洞]复现_第1张图片

上传成功而且返回了文件路径;我们访问http://192.168.41.138/uploadfiles/key.php.jpg 

成功访问,方便观察,我们把key.php文件内容改成phpinfo进行尝试:

Apache[多后缀文件名解析漏洞+换行解析漏洞+SSI远程命令执行漏洞]复现_第2张图片

可以发现:虽然安全性检查不让上传php文件,但是由于apache的解析特性还是把key.php.jpg当初php文件解析;key.php.jpg该文件即绕过了安全性检查,又可被apache解析。

我们关闭靶场:

docker-compose down

二、Apache换行解析漏洞(CVE-2017-15715)

影响版本:Apache 2.4.0 - 2.4.29

漏洞利用:文件上传

漏洞介绍:在解析PHP时,1.php%0a 将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略;%0a是换行符。

漏洞复现:

cd /vulhub/httpd/CVE-2017-15715
docker-compose up -d

打开页面:

Apache[多后缀文件名解析漏洞+换行解析漏洞+SSI远程命令执行漏洞]复现_第3张图片

上传.php文件发现:

Apache[多后缀文件名解析漏洞+换行解析漏洞+SSI远程命令执行漏洞]复现_第4张图片

我们重新上传,抓包,在文件的扩展名后面添加0a

Apache[多后缀文件名解析漏洞+换行解析漏洞+SSI远程命令执行漏洞]复现_第5张图片

Apache[多后缀文件名解析漏洞+换行解析漏洞+SSI远程命令执行漏洞]复现_第6张图片

重发发现,我们的文件上传成功,我们访问:http://192.168.41.138:8080/key.php%0a

Apache[多后缀文件名解析漏洞+换行解析漏洞+SSI远程命令执行漏洞]复现_第7张图片

可以发现:我们直接上传php文件是不可以的,但是由于1.php%0a 将被按照PHP后缀进行解析,所以我们抓包修改后缀名即可成功上传,上传一句话木马还可以getshell

别忘了关闭:

docker-compose down

三、Apache SSI 远程命令执行漏洞

SSI

使用SSI(Server Side Include)的html文件扩展名,SSI(Server Side Include),通常称为"服务器端嵌入"或者叫"服务器端包含",是一种类似于ASP的基于服务器的网页制作技术。默认扩展名是 .stm、.shtm 和 .shtml。

漏洞介绍:在测试任意文件上传漏洞的时候,目标服务端可能不允许上传php后缀的文件。如果目标服务器开启了SSI与CGI支持,我们可以上传一个shtml文件,并利用其语法执行任意命令。shtml包含有嵌入式服务器方包含命令的文本,在被传送给浏览器之前,服务器会对SHTML文档进行完全地读取、分析以及修改。


漏洞复现:

cd /vulhub/httpd/ssi-rce
docker-compose up -d

打开环境:

上传php文件发现:

Apache[多后缀文件名解析漏洞+换行解析漏洞+SSI远程命令执行漏洞]复现_第8张图片

编写id.shtml


"id"位置替换命令 例如ls(没有引号)

上传发现:

Apache[多后缀文件名解析漏洞+换行解析漏洞+SSI远程命令执行漏洞]复现_第9张图片

可以发现:上传php文件无法成功,可以试试是否可以利用SSI远程命令执行漏洞。

记得关闭:

docker-compose down

常见Web服务器漏洞小结

你可能感兴趣的:(中间件漏洞,Web漏洞,漏洞复现,apache,信息安全,网络安全)