经典Web容器解析漏洞
目录Apache 文件名解析漏洞(5.2.x以下)(info.php.x 绕过)IIS6.0解析漏洞文件名解析漏洞(time.asp;1.jpg)目录解析漏洞(1.asp/time.jpg)PHP-CGI 解析漏洞(IIS 7.0(info.png/.php))Nginx解析漏洞1. 空字节漏洞(nginx/0.7.65)(/info.png%00.php)2. 文件名逻辑漏洞-CVE-2013-
目录
PHP-CGI 解析漏洞(IIS 7.0(info.png/.php))
1. 空字节漏洞(nginx/0.7.65)(/info.png%00.php)
2. 文件名逻辑漏洞-CVE-2013-4547(1.4.2)(info.png[0x20][0x00].php)
Apache 文件名解析漏洞(info.php.x 绕过)
Apache 解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析,就再往左判断。比如 test.php.owf.rar “.owf”和”.rar” 这两种后缀是apache不可识别解析,apache就会把其解析成test.php。
漏洞形式
www.xxxx.xxx.com/test.php.xxx
该漏洞和apache版本和php版本无关,属于用户配置不当造成的解析漏洞,如果在 Apache 的 conf 里有这样一行配置 AddHandler php5-script .php 这时只要文件名里包含.php 即使文件名是 test2.php.jpg 也会以 php 来执行。
环境配置:
- phpstudy2018, php-5.4.45
- 打开 "phpStudy\PHPTutorial\Apache\conf\httpd.conf"文件,在任意位置增加如下一行
AddHandler php5-script .php
然后重启phpstudy
以第upload-labs第四关为例,这个漏洞对绕过文件上传限制特别有用。将文件后缀名改为 info.php.x 时上传成功。如观察到响应包apache版本为2.2.25,存在解析漏洞
将后缀改为.x即可绕过
所以,我们可以也可以将上传的文件命名为 1.php.png,看起来像png的图片,实际上会当成php文件进行解析。
IIS6.0解析漏洞
文件名解析漏洞(time.asp;1.jpg)
IIS 6.0 分号后面的不会被解析 。即 time.asp;1.jpg 当成了time.asp 文件执行。
我们在网站wwwroot下建立文件夹 upload,在文件夹中建立文件 time.asp内容为 <%=time()%> 脚本执行时会显示时间,我们再建立一个内容相同的文件,time.asp;1.jpg。访问time.asp;1.jpg时发现它被执行了
它对我们的脚本进行了运行
目录解析漏洞(1.asp/time.jpg)
IIS6.0 ,在网站下建立文件夹的名字为*.asp、*.asa、*.cer、*.cdx 的文件夹,那么其目录内的任何扩展名的文件都会被IIS当做asp文件来解释并执行。例如创建目录 1.asp,那么 1.asp下面的文件time.jpg 将被当做asp文件来执行
PHP-CGI 解析漏洞(IIS 7.0(info.png/.php))
这不是属于iis的漏洞是属于 CGI的漏洞,info.png/.php ,在访问的文件名后加上/.php时能够执行。如当我们访问 info.png/.php 时竟然就可以解析了
Nginx解析漏洞
1. 空字节漏洞(nginx/0.7.65)(/info.png%00.php)
/info.png%00.php
1. 影响版本
- 0.5 <= 版本 <= 0.7.65
- 0.8 <= 0.8.37
2. 文件名逻辑漏洞-CVE-2013-4547(1.4.2)(info.png[0x20][0x00].php)
这个可以利用vulhub进行复现
访问路径info.png[0x20][0x00].php 即可以进行解析
更多推荐
所有评论(0)