1. 最简单就是前端防护,后端不防护,即js检测绕过攻击,此时可以利用浏览器插件删除前端js检测代码或者可以通过burpsuite抓包进行后缀修改即可
2.文件后缀绕过攻击,服务器端限制某些后缀文件不能上传,但是有些apache是允许解析其他文件后缀的,在apache解析顺序中,是从右到左开始解析文件的,
如果最右侧的扩展名不可识别,就继续往左判断,直到遇到可以解析的文件后缀为止,如1.php.xxxx
3.文件类型绕过攻击,通过burp抓包修改content-type
4.文件截断绕过攻击,PHP%00截断,服务端将GET参数内容作为上传后文件名的一部分,不太懂。。。。
如1.php%00.jpg,其中%00把后面内容截断了,所以实际上传的是1.php
5.竞争条件攻击,一些网站上传文件的逻辑是先允许上传任意文件,上传后再检测是否有webshell,问题就是文件上传成功后和删除文件之间存在一个时间差,
可以利用这个时间差进行攻击。
攻击者上传一个webshell脚本,作用是生成一个新的webshell脚本,当第一个webshell脚本上传成功后,立即对其访问,使其生成shell。