您现在的位置是:首页 >技术交流 >Apache默认解析后缀网站首页技术交流
Apache默认解析后缀
简介Apache默认解析后缀
Apache HTTP服务器默认情况下支持解析以下常见的文件扩展名:
HTML文件 | .html |
HTML文件 | .htm |
Server Side Includes (SSI) HTML文件 | .shtml |
PHP脚本文件 | .php |
PHP脚本文件 | .php3 |
PHP脚本文件 | .php4 |
PHP脚本文件 | .php5 |
Python脚本文件 | .py |
Common Gateway Interface (CGI) 脚本文件 | .cg |
Apache 后缀解析漏洞
漏洞描述
Apache Httpd支持一个文件拥有多个后缀,不同的后缀执行不同的命令,也就是说当我们上传的文件中只要后缀名含有php,该文件就可以被解析成php文件,利用Apache httpd这个特性,就可以绕过上传文件的白名单。该漏洞和apache版本和php版本无关,属于用户配置不当造成的解析漏洞
原理
Apache对文件后缀名的识别是从后向前进行匹配的,以单个.作为分隔符。当遇到未知的文件后缀名时,会继续向前匹配,直到遇到可以识别的后缀名为止。
防御方法
apache配置文件,禁止.php.这样的文件执行,配置文件里面加入
<Files ~ ".(php.|php3.)">
Order Allow,Deny
Deny from all
</Files>
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。