目录
Apache HTTPD 换行解析漏洞(CVE-2017-15715)
Apache HTTPD 换行解析漏洞(CVE-2017-15715)
其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A
将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。
在1.php后面插入一个\x0A
(注意,不能是\x0D\x0A
,只能是一个\x0A
),不再拦截。
访问刚才上传的/1.php%0a
,发现能够成功解析,但这个文件不是php后缀,说明目标存在解析漏洞。
Apache HTTPD 多后缀解析漏洞
如果运维人员给.php
后缀增加了处理器:
AddHandler application/x-httpd-php .php
那么,在有多个后缀的情况下,只要一个文件含有.php
后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。
http://your-ip/index.php
中是一个白名单检查文件后缀的上传组件,上传完成后并未重命名。我们可以通过上传文件名为xxx.php.jpg
或xxx.php.jpeg
的文件,利用Apache解析漏洞进行getshell。
nginxl漏洞官网:http://nginx.org/en/security_advisories.html
Nginx 解析漏洞复现
版本信息:
- Nginx 1.x 最新版
- PHP 7.x最新版
由此可知,该漏洞与Nginx、php版本无关,属于用户配置不当造成的解析漏洞。
直接执行docker-compose up -d
启动容器,无需编译。
访问http://your-ip/uploadfiles/nginx.png
和http://your-ip/uploadfiles/nginx.png/.php
即可查看效果。
Nginx 文件名逻辑漏洞(CVE-2013-4547)
这个环境是黑名单验证,我们无法上传php后缀的文件,需要利用CVE-2013-4547。我们上传一个“1.gif ”,注意后面的空格.
访问http://your-ip:8080/uploadfiles/1.gif[0x20][0x00].php
,即可发现PHP已被解析.