CTF三大骗局:Baby Easy Funny,本题主要考察.htaccess文件解析文件、文件类型检测绕过
打开题目给了一个上传点,上传一个php文件看看过滤规则
“后缀名不能有ph”直接禁掉了所有可以直接执行php的后缀名,自然想到利用.user.ini或.htaccess文件来将其他文件解析成PHP文件
看一下中间件是什么:
发现是Apache直接上传一个.htaccess来试试,.htaccesee用途如下:
.htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能
.htaccess源码如下:
<FilesMatch "jpg"> SetHandler application/x-httpd-php </FilesMatch>
大概判断一下检测方式,猜测应该是Content-type类型检测
Burp抓包修改Content-type类型为image/jpeg即可
上传成功,然后上传一个jpg图片马,拿到Shell,在根目录下发现Flag
网上看了看其他师傅的writeup,好像说原题是每3s删除一次上传的文件,多了一个条件竞争的考察点
就算加上这个考察点,依旧可以通过Burp不断重放请求或者是上传一个内存不死马来解决(这方法有点脏,还是用Burp重放来解决)题目比较简单