当前位置 : 主页 > 编程语言 > 其它开发 >

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

来源:互联网 收集:自由互联 发布时间:2022-05-14
一·什么是服务器配置文件.htaccess 许多服务器还允许开发人员在各个目录中创建特殊的配置文件,以便覆盖或添加一个或多个全局设置。例如,Apache 服务器将从一个名为(.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文件

实验室解决

上一篇:从零开始搭建高可用的k8s集群
下一篇:没有了
网友评论