upload-labs
第一关
前端JS校验
第二关
content-type校验
第三关
黑名单 .php3
第四关
黑名单 .htaccess绕过
第五关
后缀大小写绕过
第六关
### 首位去空
第七关
去除文件末尾的点
第八关
缺少::$DATA处理
第九关
路径拼接的是处理后的文件名 点+空格点+绕过
第十关
黑名单替换为空 双写绕过
第十一关
$img_path直接拼接,%00截断绕过
第十二关
$img_path直接拼接,%00截断绕过(POST提交,十进制修改)
第十三关
校验文件头 图片马绕过配合文件包含漏洞
第十四关
图片马绕过 - getimagesize
和十三关一样
第十五关
exif_imagetype() — 判断一个图像的类型
还是图片马,判断文件头类型
第十六关
二次渲染,图片马绕过
第十七关
条件竞争
这里先将文件上传到服务器,然后通过rename修改名称,再通过unlink删除文件,因此可以通过条件竞争的方式在unlink之前,访问webshell
第十八关
条件竞争
对文件后缀名做了白名单判断,然后会一步一步检查文件大小、文件是否存在等等,将文件上传后,对文件重新命名,同样存在条件竞争的漏洞。可以不断利用burp发送上传图片马的数据包,由于条件竞争,程序会出现来不及rename的问题,从而上传成功