一、HTTPD 换行解析
(CVE-2017-15715)
Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A
将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。
利用
上传一个名为1.php的文件,被拦截:
在1.php后面插入一个\x0A
(也可在php后面写入%0A
,对%0A
做一个URL编码,也就是URL-decode
)不再拦截:
访问刚才上传的/1.php%0a
,发现能够成功解析,但这个文件不是php后缀,说明目标存在解析漏洞:
二、巧用.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不具备解析的中间件。
GOT IT!
******************************************************
小实验小结,具体测试利用方式需根据具体实践场景~