[MRCTF2020] 你传你🐎 呢

知识前置

.htaccess:.htaccess(超文本访问)是许多 Web 服务器根据目录应用设置的有用文件,允许在运行时覆盖 Apache 服务器的默认配置。使用.htaccess,我们可以在运行时轻松启用或禁用任何功能。

解题过程

1、是一道文件上传题目,先上传一个提前准备好的 web.php 看一看。

图片.png

2、上传之后,发现是失败了,应该是有过滤的。

图片.png

3、就一步步实验过去,更改文件后缀名,其他的 php 后缀名,更改文件的 MIME 格式,文件内容添加图片文件头,最终发现是可以上传图片,同时也需要更改我们的 MIME 类型,是上传成功了。

图片.png

图片.png

3、打开蚁剑连接的时候,发现并不能成功访问。

图片.png

4、说明这个图片文件并没有按照 php 来运行,只能上传图片文件,又不能运行。翻开了笔记之后,还存在.htaccess 这个方法可以使用,我们通过自己写一个.htaccess 文件,让我们的这个图片文件以 PHP 的方式来运行。这个.htaccess 文件内容是查看这个 web.png,并且以 PHP 的方式运行。我们将这个文件也传入进去。类型也记得需要修改。

图片.png

图片.png

5、传入.htaccess 文件之后,我们再去访问 web.png,已经是可以访问的了。

图片.png

6、再次用蚁剑连接,flag 文件在根目录下。

图片.png

总结

在查看.htaccess 文件时,发现它的功能非常多也很强大,有文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定 IP 地址的用户、只允许特定 IP 地址的用户、禁止目录列表,以及使用其他文件作为 index 文件等一些功能。但是它的语法格式 = = 没找到,好怪 ing,找的一些介绍都是缺少很多东西,太怪了。