博客
关于我
ctfhub web 文件上传 技能树 wp
阅读量:716 次
发布时间:2019-03-21

本文共 915 字,大约阅读时间需要 3 分钟。

htaccess 文件的应用与服务器配置

在 Apache 服务器中,htaccess 文件是配置网站的一种特殊文件,用于为特定目录或文件提供个性化的配置。它广泛应用于以下方面:实现固定的 301 重定向、自定义 404 错误页面、更改文件扩展名、控制文件访问权限等。

文件扩展名 hiding

通过修改服务器的 MIME 类型配置,可以隐藏特定文件的扩展名,而这通常是禁止的操作。例如,可以将 PHP 文件设置为使用 MIME 类型 application/x-httpd.php,从而让文件服务器返回给浏览器的内容类型为 HTML。这种方法在某些情况下可以帮助绕过服务器的文件扩展名检查,进而实现文件上传。

文件上传验证与白名单过滤

在上传文件时,服务器通常检查文件的扩展名是否在允许的白名单中。如果扩展名不在白名单中,上传会失败。此外,服务器也会通过 MIME 类型验证文件的类型,确保传输的数据符合预期的格式。

00截断技术

00截断是一种常见的攻击手段,具体原理是利用操作系统对字符串的处理方式,插入 \0 字符(即 NULL 字符)来截断字符串。这种方法可以绕过某些防止文件上传的安全机制。

应用场景下的具体操作步骤

在实际操作中,我们需要根据服务器的具体配置来调整策略。例如,通过查看源代码可能发现服务器只允许特定扩展名的文件上传。在这种情况下,我们可以尝试上传包含木马代码的 PHP 文件,通过手动设置文件扩展名为允许的类型,或利用 00 截断技术来绕过服务器的验证机制。

具体实现方法如下:

  • 使用 Burp Suite 或类似工具抓包,修改文件名中的扩展名部分
  • 在文件名中插入 \0 字符,使得服务器接收到错误的文件扩展名信息
  • 通过蚁剑(或类似工具)连接到目标服务器,提取包含木马代码的文件
  • 此外,还可以通过构造双写绕过技术,例如将文件名扩展为 1.pphphp,从而让服务器解析为 1.php 文件,成功绕过扩展名限制,实现文件上传和信息获取。

    综上所述,通过合理运用 htaccess 文件配置、利用 MIME 类型设置、00 截断技术以及双写绕过手法,可以有效完成信息挖掘任务,全程保持低显性,提高成功率。

    转载地址:http://qenrz.baihongyu.com/

    你可能感兴趣的文章
    MySQL8修改密码的方法
    查看>>
    Mysql8在Centos上安装后忘记root密码如何重新设置
    查看>>
    Mysql8在Windows上离线安装时忘记root密码
    查看>>
    MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案
    查看>>
    mysql8的安装与卸载
    查看>>
    MySQL8,体验不一样的安装方式!
    查看>>
    MySQL: Host '127.0.0.1' is not allowed to connect to this MySQL server
    查看>>
    Mysql: 对换(替换)两条记录的同一个字段值
    查看>>
    mysql:Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘解决方法
    查看>>
    MYSQL:基础——3N范式的表结构设计
    查看>>
    MYSQL:基础——触发器
    查看>>
    Mysql:连接报错“closing inbound before receiving peer‘s close_notify”
    查看>>
    mysqlbinlog报错unknown variable ‘default-character-set=utf8mb4‘
    查看>>
    mysqldump 参数--lock-tables浅析
    查看>>
    mysqldump 导出中文乱码
    查看>>
    mysqldump 导出数据库中每张表的前n条
    查看>>
    mysqldump: Got error: 1044: Access denied for user ‘xx’@’xx’ to database ‘xx’ when using LOCK TABLES
    查看>>
    Mysqldump参数大全(参数来源于mysql5.5.19源码)
    查看>>
    mysqldump备份时忽略某些表
    查看>>
    mysqldump实现数据备份及灾难恢复
    查看>>