不安全的配置导致apache未知后缀名解析漏洞分析
Apache HTTPD不安全的配置导致未知后缀解析漏洞
该环境版本:
- PHP 7.x 最新版
- Apache HTTPD 2.4.10 稳定版(来自debian源)
由此可知,该漏洞与Apache、php版本无关,属于用户配置不当造成的解析漏洞。
漏洞分析
图中的配置文件中高亮部分也是此漏洞的关键所在
<FilesMatch ".+\.ph(p[345]?|t|tml)$"> SetHandler application/x-httpd-php </FilesMatch>
原本apache中的配置应该是如上是通过正则去匹配php文件,而这里运维人员通过如下配置,而导致这个漏洞的关键配置在docker下是在/etc/apache2/conf-available/docker_php.conf
这句话的作用也是为了让Apache把PHP文件交给php_moudle解析,只要文件后缀出现php都会当作php文件解析
访问http://your-ip/uploadfiles/apache.php.jpeg
即可发现,phpinfo被执行了,该文件被解析为php脚本。
进一步可以利用Apache解析漏洞进行getshell。