.htaccess
先来看看.htaccess是什么 .htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能
利用它文件上传的原理:上传覆盖.htaccess文件,重写解析规则,将上传的图片马以脚本方式解析
简单来说.htaccess文件就是一个服务器用来解析的配置文件,.htaccess文件上传漏洞的利用代码如下
<FilesMatch "jpg">
SetHandler application/x-httpd-php
</FilesMatch>
这里的意思就是用.htaccess文件调用php解析器 将各种形式文件解析成php文件进行识别。
下面来看题目 ctfhub 的文件上传.htaccess
先上传一个一句话木马
发现不行 那就上传一下jpg文件
但是 这种上传连接不了蚁剑
这里就用到了.htaccess文件 修改一下配置 让他能够解析含有一句话木马的jpg文件
连接蚁剑
发现连接成功 找到flag
ctfhub{5a08ceb30d5994eb085246b3}
文件头检查
上传一句话木马 发现有白名单限制
用bp抓包改一下文件类型
发现还是不行 题目说检测的是文件头
文件头就是为了描述一个文件的一些重要属性,比如文件的尺寸,像素,长度,宽度
因此只需要在文件里加上jpg/png/gif图片的文件头就可以了 在bp里抓包在更改文件类型就显示成功
发现连接成功
在找到flag