checkFileExt
客户端通过onchange实践的checkFileExt函数进行检测,我们删除掉调用这个函数的部分。
删除后
我们再次上传tupian.php
文件上传成功
可以看路径,我们修改上方的url,进行访问。
代码已运行
可以看到代码已经运行。
中间人攻击-burpsuite拦截
文件名符合规则,使用burpsuite拦截后,修改文件后缀即可。方法类似下方MIME攻击
防御
上传无法防御,可以进行文件重命名。
上传-MIME检测
简介
js的检测基本没有了,开始使用后端代码进行检测,虽然进行MIME检测是使用的后端代码,但是,依然是从客户端获取的,可以从客户端修改,我还是归于上传这一类了。
简单来说,在请求头中Content-Type:type/subtype来表明类型,常见的有
text/plain
text/html
image/jpeg
image/jpg
image/png
audio/mpeg
audio/ogg
audio/*
video/mp4
application/*
application/json
application/javascript
application/ecmascript
application/octet-stream
攻击
中间人攻击-burpsuite拦截
burpsuite拦截
修改Content-Type