解析漏洞
一、iis 6.0
- 当建立xxx.asp、xxx.asa文件夹时,其目录下的任意文件都将被IIS当作asp文件解析。
- xxx.asp;.jpg,IIS默认分号后面不解析。
二、apache
.php.jpg
从右向左解析,直到合法的后缀为止。
三、nginx
.jpg/.php
原理:nginx中php配置问题
php配置cgi.fix_pathinfo=1默认开启,修复文件路径。
当php遇到文件路径/1.xxx/2.yyy/3.zzz时,若文件不存在,则去掉一层,直到文件存在,当作原路径文件后缀处理。
若关闭该选项,则只会直接报错。但关闭该选项可能会导致一些其他错误,所以一般是开启状态。
php新版本中引入了security.limit_extensions选项,限制了可执行文件的后缀,默认只有.php。
nginx与apache处理文件区别
nginx遇到后缀.php,不会检查文件存在与否,直接交给php处理。
apache会先检测文件本身是否存在。