1、JS检测绕过攻击(客户端JS检测上传文件后缀)
将需要上传的文件名后缀改成允许上传的,如png,绕过JS的检测,再抓包,将后缀名修改成可执行文件的后缀
2、文件后缀绕过攻击(限制某些后缀的文件不允许上传)
1.php.XXXX,由于后缀xxxx不可以解析,所以向左解析后缀php
1.phtml
1.php空格
3、文件类型绕过攻击(通过Content_type判断文件的类型)
修改Content-Type为允许的类型
image/png
4、文件截断绕过攻击
php%00截断,00代表结束符
jieduan=2.php%00
5、竞争条件攻击(WebShell脚本)
6、文件头
文件头加上GIF89a后上传非图片文件。这是因为程序用了一些不可靠的函数去判断是不是图片文件,比如getimagesize()函数,只要文件头
是“GIF89a”,它就会正常返回一个图片的尺寸数组
测试代码:
<?php print_r(getimagesize('1.gif'));?>
Content-Disposition: form-data; name="file"; filename="1.php:.jpg"
Content-Type: image/jpeg