Apache文件解析漏洞(\x0A,.htaccess,多后缀)

一、HTTPD 换行解析

(CVE-2017-15715)
Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。

利用

上传一个名为1.php的文件,被拦截:
Apache文件解析漏洞(\x0A,.htaccess,多后缀)_第1张图片
在1.php后面插入一个\x0A(也可在php后面写入%0A,对%0A做一个URL编码,也就是URL-decode)不再拦截:
Apache文件解析漏洞(\x0A,.htaccess,多后缀)_第2张图片
访问刚才上传的/1.php%0a,发现能够成功解析,但这个文件不是php后缀,说明目标存在解析漏洞:
Apache文件解析漏洞(\x0A,.htaccess,多后缀)_第3张图片
 

二、巧用.htaccess

(允许.htaccess后缀文件上传情况下)
htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。在这里,可以通过htaccess文件,可以帮我们将当前目录与子目录下所有文件都会以php进行解析,包括上传的图片马等…

利用

①如在.htaccess文件中写入:

  AddType application/x-httpd-php .xxx

就成功地使该.htaccess文件所在目录及其子目录中的后缀为.xxx的文件被Apache当做php文件。

②如在.htaccess文件中写入:

<FilesMatch "shell"> SetHandler application/x-httpd-php </FilesMatch>

类似于把文件名包含 shell 的解析成php
 

三、多后缀解析

(只能是黑名单)
上传的文件命名为:xxx.php.x1.x2.x3,Apache是从右往左判断后缀,直到遇到可解析后缀为止

利用

配置一个白名单后缀检查的上传组件,但是对jpg不具备解析的中间件。
Apache文件解析漏洞(\x0A,.htaccess,多后缀)_第4张图片
Apache文件解析漏洞(\x0A,.htaccess,多后缀)_第5张图片
 
GOT IT!

 
******************************************************
小实验小结,具体测试利用方式需根据具体实践场景~

你可能感兴趣的:(Web安全攻防,Vulhub漏洞复现)