文件上传绕过
1. 文件头检查绕过
这类题进行文件头检查一般是检查 concent-type 的内容,需要修改成允许的文件类型就行,如 image/jpg
然后一句话木马前还要加上对应文件类型的前缀,如 GIF89a
做这类题时可以先找到允许的文件类型,然后放进 010editor 看看标识符,然后修改
MIME 及绕过
1. 什么是 MIME:
MIME (Multipurpose Internet Mail Extensions) 多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。
2. 常见的 MIME 类型:
text/plain (纯文本)
text/html (HTML 文档)
text/javascript (js 代码)
application/xhtml+xml (XHTML 文档)
image/gif (GIF 图像)
image/jpeg (JPEG 图像)
image/png (PNG 图像)
video/mpeg (MPEG 动画)
application/octet-stream (二进制数据)
application/pdf (PDF 文档)
3. 检测方式:
在文件上传过程中,服务端会针对我们的上传的文件生成一个数组,这个数组其中有一项就是这个文件的类型 file_type;服务端对文件进行检测时,就是通过检测脚本中的黑白名单和这个数组中的 file_type 进行对比,如果符合要求就允许上传这个文件。
4. MIME 绕过的原理:
部分 Web 应用系统判定文件类型是通过 content-type 字段,黑客可以通过抓包,将 content-type 字段改为常见的图片类型,如 image/gif,从而绕过校验。
.htaccess 绕过
知识:htaccess 文件是 Apache 服务器中的一个配置文件,它负责相关目录下的网页配置。通过 htaccess 文件,可以帮我们实现:网页 301 重定向、自定义 404 错误页面、改变文件扩展名、允许 / 阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能
介绍:hatccess 文件,.htaccess 是 Apache 的又一特色。
● 一般来说,配置文件的作用范围都是全局的,但 Apache 提供了一种很方便的、可作用于当前目录及其子目录的配置文件 ——.htaccess(分布式配置文件),
● 提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。
● 作为用户,所能使用的命令受到限制。
● 简单来说,就是我上传了一个.htaccess 文件到服务器,那么服务器之后就会将特定格式的文件以 php 格式解析。
常用内容:
1 | 1. AddType application/x-httpd-php .png //.png文件当作php文件解析 |