(1)、Apache SSI 远程命令执行漏洞复现。
环境搭建:
上传一个php文件,提示不支持的上传的类型。
上传一个shell.shtml文件,里面写入以下内容:
浏览器访问上传的文件,下图可以看到成功执行代码,说明存在远程命令执行漏洞。
原理:如果目标服务器开启了SSI与CGI支持;这样我们就可以上传一个可执行的shtml文件。
(2)、Apache HTTPD 多后缀解析漏洞复现
环境搭建
路径为:/vulhub/httpd/apache_parsing_vulnerability 运行:docker-compose up
查看环境;
将一句话jsp木马保存为 a.php.jpg,并上传到服务器。
原理:apache识别文件的规则为从右向左依次识别后缀,当遇到自己认识的后缀时确定文件类型。如 .php.jpg.tar 若apache不认识tar,则文件被判定成jpg。
(3)、Nginx 解析漏洞复现
这是它自带的图片马
增加/.php后缀,被解析成PHP文件:
也可以自己制作图片马进行上传,上传成功会出现路径
其中php文件需要放的内容为:<?php phpinfo() ?>
访问路径也能正常访问到
原理:该漏洞与Nginx、php版本无关,属于用户配置不当造成的解析漏洞。
如果我们上传了一个1.jpg文件,但是访问的是/1.jpg/.php那么fastcgi在处理".php"文件时发现文件并不存在,这时php.ini配置文件中cgi.fix_pathinfo=1 发挥作用,采用上层路径。为此这里交由fastcgi处理的文件就变为了test.png。