upload-labs

upload-labs

第一关

前端JS校验

image-20201204220142518

第二关

content-type校验

image-20201204220418873

image-20201204220541796

第三关

黑名单 .php3

image-20201204220718016

image-20201204222148873

image-20201204222112997

第四关

黑名单 .htaccess绕过

image-20201204220830874

image-20201204221117452

image-20201204221205142

image-20201204221442275

image-20201204221505115

第五关

后缀大小写绕过

image-20201204222238728

image-20201204222401957

image-20201204222458635

image-20201204222525120

第六关

### 首位去空

image-20201204222841064

image-20201204222928374

第七关

去除文件末尾的点

image-20201204223729328

image-20201204223907583

第八关

缺少::$DATA处理

image-20201204224046961

image-20201204224145629

第九关

路径拼接的是处理后的文件名 点+空格点+绕过

image-20201204225215745

image-20201204225131408

第十关

黑名单替换为空 双写绕过

image-20201204225335502

image-20201204225654144

第十一关

$img_path直接拼接,%00截断绕过

image-20201204232123648

image-20201204230715022

第十二关

$img_path直接拼接,%00截断绕过(POST提交,十进制修改)

image-20201205104337977

image-20201205104820136

image-20201205104958308

第十三关

校验文件头 图片马绕过配合文件包含漏洞

image-20201205105858783

image-20201205105826698

第十四关

图片马绕过 - getimagesize

和十三关一样

第十五关

exif_imagetype() — 判断一个图像的类型

还是图片马,判断文件头类型

第十六关

二次渲染,图片马绕过

image-20201205112527464

image-20201205112423770

第十七关

条件竞争

这里先将文件上传到服务器,然后通过rename修改名称,再通过unlink删除文件,因此可以通过条件竞争的方式在unlink之前,访问webshell

image-20201205112724440

第十八关

条件竞争

对文件后缀名做了白名单判断,然后会一步一步检查文件大小、文件是否存在等等,将文件上传后,对文件重新命名,同样存在条件竞争的漏洞。可以不断利用burp发送上传图片马的数据包,由于条件竞争,程序会出现来不及rename的问题,从而上传成功

image-20201205113049912

第十九关

第十九关

原文地址:https://www.cnblogs.com/liyu8/p/14141335.html