Pass-02
进入这题,发现和第一题长的一模一样,然后查看源码


源码加上提示,可以知道这是mime头检测,上传前需要点击右上角的清空上传文件,也可以自己在PHPstudy所对应的upload目录中删除上传的文件

此时上传文件用burp抓包
该关卡检测的就是这里,简单来说content-type就是来标识该文件是个什么类型的文件(php还是jpeg或者gif等等)。我们回到上面的源码发现他只让我们上传3种类型的,那我们就把burp里的改成上面三种 中的一种即可
修改前

修改后(实际上也就是Pass-01的操作)

上传成功后,访问上传的文件,可以看到如下

这里我上传phpinfo,当然也能上传上去木马(如Pass-01),我们也可以用工具连接直接getshell,但是那样比较麻烦展示费劲,用phpinfo直观.
原理
其实mime检测就是查你数据包的“content-type”这个值是不是它要求的,这就有点类似于白名单。
- 黑名单就是在这个名单里的不予通过,不在名单里的可以通过。
- 白名单就是反着的,白名单里的可以通过,不在名单里的不可以通过。
- 可以看出mime检测就类似白名单,我们通过改"content-type"成功绕过。

浙公网安备 33010602011771号