警惕htaccess文件上传解析漏洞

本实验展示了如何利用.htaccess文件绕过常见的文件上传检测机制,成功上传WebShell并获取权限。实验中,通过修改文件解析规则,将图片格式的文件作为PHP脚本执行,进而实现对目标系统的控制。最后,提出了修复建议,包括客户端和服务端的多重检测及权限限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验环境
  • 操作机:

    Windows XP
    
    • 目标机:Windows 2003
    • 目标网址:www.test.com
实验目的
  • 了解htaccess文件解析的利用方法
  • 掌握如何去修复此漏洞
实验工具
  • 中国菜刀:是一款专业的网站管理软件,用途广泛,使用方便,小巧实用。只要支持动态脚本的网站,都可以用中国菜刀来进行管理,本次试验主要用到其动态脚本管理功能
实验内容

实验步骤
步骤1:上传正常图片和WEBShell

快速查找实验工具

  • 打开桌面 Everything 搜索工具,输入实验工具名称,右击选择“打开路径”,跳转实验工具所在位置。
  • 以查找BURP为例为大家演示。

Alt text

首先进入目标站点:

Alt text

进入到站点后,点击开始,搜索图片。

Alt text

准备一张普通的图片,使用*.jpg在电脑上进行搜索,可以看到很多图片,复制一张图片放到桌面上,改名为tupian.jpg

Alt text

把搜索到的图片,复制粘贴到桌面,进行上传

Alt text

点击浏览选择 桌面上的图片。

Alt text

Alt text

点击提交成功上传图片,( 图片的后缀名类型在允许的上传后缀名类型范围内 )返回红色的成功信息和图片路径, 图片路径为 uploading/文件夹下的文件名为 tupian.jpg 的图片文件。

Alt text

尝试上传 一句话文件的木马。

点击桌面的快捷方式( 也就是访问tools工具文件夹下的caidao文件夹下的一句话.txt)点击打开一句话.txt文件复制一句话的 php 代码。

Alt text

在桌面新建一个文本把刚才复制的php代码 粘贴到此文件下 。 Alt text

将密码改为1保存 后保存。

Alt text

Alt text

将新建的文本文档文件名改为yijuhua.php

Alt text

点击浏览选择上传桌面的yijuhua.php文件。

Alt text

Alt text

点击提交,显示上传失败( 鼠标下显示上传失败 文件名不是上传的类型)。说明服务器会对上传文件进行验证,我们需要绕过验证。

Alt text

步骤2:利用.htaccess文件绕过上传检测

编写.htaccess文件。

打开记事本,将如下代码写入文本中:

AddType  application/x-httpd-php    .jpg

然后点击文件选中另存为,编写文件名为.htaccess,选择保存类型为所有文件

Alt text

.htaccess文件里的代码的含义 是 将上传的文件后缀名为.jpg格式的文件以 php格式来解析文件。

Alt text

.htaccess文件进行上传,上传成功。

小i提示:

  • .htaccess是apache服务器中的一个配置文件,不是上传的文件的黑名单之内 ,所以.htaccess文件是可以上传成功。

Alt text

一句话文件的后缀名为yijuhua.php改为后缀名为jpg格式 。

小i提示:

  • 上传成功到服务器的.htaccess文件里的代码可以让 .jpg后缀名文件格式的文件名以 php格式解析 所以我们把yijuhua.php文件的后缀名改为.jpg格式,让.htaccess文件解析 yijuhua.jpg文件里的php代码 ,使木马上传成功。

Alt text

Alt text

步骤3: 获取WEBShell权限

上传成功之后,复制上传路径到菜刀链接中( 地址为 www.test.com/uploadimg/yijuhua.jpg)。

Alt text

打开桌面快捷方式 (也就是在tools文件夹下的caodao文件夹)打开chopper.exe文件。

Alt text

在空白处点击鼠标右键 选择添加

Alt text

访问木马地址,复制链接然后输入上传一句话里文件里设置的密码为 1,选择相应的脚本类型,这里上传的是php脚本 点击添加。

Alt text

双击点击打开地址,连接成功,可以成功看到 uploadimg文件夹下有一个 key文件。

Alt text

右键key文件点击编辑 可以看到字符串 说明一句话木马上传成功。

Alt text

实验结果总结与分析

本次实验我们通过htaccess格式配置文件的缺陷,绕过了文件格式检测,成功获取了Webshell,并明白了htaccess格式文件的用法,下面给出修复建议

修复建议

1.客户端检测,使用JS对上传图片检测,包括文件大小、文件扩展名、文件类型等

2.服务端检测,对文件大小、文件路径、文件扩展名、文件类型、文件内容检测,对文件重命名

3.其他限制,服务器端上传目录设置不可执行权限

1、htaccess文件上传解析漏洞,可以导致正确被解析的文件格式是?

  • .png
  • .bmp
  • .img
  • .jpg

D

### 关于 `.htaccess` 文件上传漏洞的安全性 #### 什么是`.htaccess`文件上传漏洞? 当Web应用程序允许用户上传文件到服务器,并且这些文件能够被解释执行时,可能会发生`.htaccess`文件上传漏洞。如果攻击者成功上传恶意编写的`.htaccess`文件,则可以修改Apache配置设置,进而控制访问权限、重定向流量或绕过其他安全措施。 为了有效防范此类风险,建议采取以下几种策略: - **严格限制文件上传路径**:确保只有特定目录才接受来自用户的文件提交操作;同时,在存储位置方面应远离web根目录[^1]。 - **验证并过滤上传的内容类型**:通过白名单机制限定可接收的MIME类型以及扩展名列表,拒绝任何可疑格式的文档进入系统内部[^3]。 - **禁用危险指令解析**:编辑全局级别的httpd.conf或其他等效配置文件中的选项,关闭不必要的模块和服务端处理功能,比如PHP短标签支持等[^4]。 - **定期扫描已存在的资源库**:部署自动化工具持续监控项目结构内的所有组件是否存在潜在威胁,及时更新至最新稳定版本以修复官方公布过的缺陷. 另外值得注意的是,虽然适当调整`.htaccess`本身有助于增强局部区域的安全防护等级,但从长远来看,还是应该优先考虑采用更高级别的防御手段——即构建稳固的应用程序防火墙(WAF),其具备识别异常行为模式的能力,并能依据预设规则自动拦截非法请求,从而大大降低遭受XSS和SQL注入的风险水平[^2]。 最后,启用站点范围内的SSL/TLS协议对于保障数据传输过程中的私密性和完整性同样至关重要。这不仅限于保护敏感信息不被窃听篡改,而且还能防止中间人攻击的发生[^5]。 ```bash # 设置严格的文件权限 chmod 644 /path/to/your/.htaccess ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值