-
三. 实验环境
-
- 1. apache版本
-
2. 在网站根目录我们建一个index.php,测试是否解析
-
3. 修改文件名测试
-
4. 用文件名不包含php的文件测试
-
5. 漏洞怎么使用?
-
四. 如何解决
一. 漏洞描述
Apache Httpd支持一个文件拥有多个后缀,不同的后缀执行不同的命令,也就是说当我们上传的文件中只要后缀名含有php,该文件就可以被解析成php文件,利用Apache httpd这个特性,就可以绕过上传文件的白名单。
该漏洞和apache版本和php版本无关,属于用户配置不当造成的解析漏洞,尤其是使用module模式与php结合的所有版本
apache支持php有多种模式,常见的有module、cgi、fastcgi等,此漏洞存在于module模式
二. 漏洞原理
由于管理员的错误配置, AddHandler application/x-httpd-php .php,在有多个后缀的情况下,只要一个文件含有.php后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。
三. 实验环境
1. apache版本
[root@gaosh-1 modules]# httpd -v
S