文件上传
常见的中间件的解析漏洞?
IIS6.0
文件夹目录解析 /xx.asp/xx.jpg "xx.asp"是文件夹名,这样只要在 xx.asp 目录下面的任意文件都会当脚本解析。
xx.asp;.jpg 通过上传功能传到网站目录,直接会当作 asp 脚本执行。
IIS 7.0 IIS7.5
默认 Fast-CGI 开启,直接在 url 中图片地址后面输入/1.php,会把正常图片当成 php 解析
Nginx
版本小于等于 0.8.37,利用方法和 IIS 7.0/7.5 一样,Fast-CGI 关闭情况下也可利用。空字节代码 xxx.jpg.php
Apache
上传的文件命名为:test.php.x1.x2.x3,Apache 是从右往左判断后缀。
lighttpd
xx.jpg/xx.php 与上面一样
特殊文件 .htaccess
限制文件不全把特殊文件 .htaccess写入
php%00截断
二次渲染图片
条件时间竞争
php+iss7.5的通用上传漏洞?
特性一:在php+window+iis环境下:
双引号("“") <==> 点号(".")';
大于符号(">") <==> 问号("?")';
小于符号("<") <==> 星号("*")';
我们都知道在文件上传时,我们往往会考虑到文件名截断,如%00 等…对!有的人可能还会用冒号(“:”)去截断,如:bypass.php:jpg但是你知道吗?冒号截断产生的文件是空白的,里面并不会有任何的内容。
通过burpsuit将文件后缀改为:1.php:jpg。
在将文件名改为:1.<<<,既可以覆盖1.php文件。
特性二:shell.php::$DATA 即可成功上传。
保护方法:
白名单过滤
文件上传目录的权限
上传的文件可以放在临时文件夹中
具体内容查看下一篇链接http://t.csdn.cn/OUNZP: