• 通过配置文件(.htaccess)实现文件上传


    一·什么是服务器配置文件.htaccess
    许多服务器还允许开发人员在各个目录中创建特殊的配置文件,以便覆盖或添加一个或多个全局设置。例如,Apache 服务器将从一个名为(.htaccess如果存在)的文件中加载
    特定于目录的配置。Web 服务器使用这些类型的配置文件,但通常不允许您使用 HTTP 请求访问它们。但是,您可能偶尔会发现无法阻止您上传自己的恶意配置文件的服务器在
    这种情况下,即使您需要的文件扩展名被列入黑名单,您也可以欺骗服务器将任意自定义文件扩展名映射到可执行的 MIME 类型。
    如果当你上传文件的时候发现你的脚本文件被阻止上传,你可以尝试上传.htaccess文件。在.htaccess文件里面将你的文件扩展名映射到可执行MIME类型。只需要添加一句话:
    AddType application/x-httpd-php .html(则html文件也能执行.php文件)
    AddType application/x-httpd-php .txt(则普通的文本文档也能执行.php文件)
    二·实验步骤
    1.登录之后发现一个文件上传的功能

    2.尝试上传头像。

    文件上传成功
    3.打开burp代理,尝试上传PHP文件

    可见,.php文件被阻止
    4.尝试上传配置文件.htaccess
    其中filename=“.htaccess”
    Content-Type=text/plain.
    替换文件内容为AddType application/x-httpd-php .html

    发现配置文件已经上传成功
    5.尝试上传.php文件,将文件的扩张名修改为.html,服务器会自动映射成PHP文件执行

    发现上传成功,
    6.尝试运行上传的.php文件

    实验室解决

  • 相关阅读:
    vue中axios的使用方法
    Istio 入门(七):出入口网关 - 负载均衡和熔断等一系列功能
    设计模式之访问者模式
    TypeScript - 枚举类型 -字符型枚举
    Java项目:SSM学生会管理系统
    MVC与MVVM模式的区别
    初探富文本之文档diff算法
    konva系列教程4:图形属性
    keepAlive
    emacs操作备忘
  • 原文地址:https://www.cnblogs.com/-xiaopeng1/p/16210382.html