文件上传——.htaccess文件利用
一、简介
1.概念
.htaccess
文件提供了针对目录改变配置的方法, 即在一个特定的文档目录中放置一个包含一条或多条指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过 Apache
的 AllowOverride
指令来设置。
.htaccess
中有 #
单行注释符, 且支持 \
拼接上下两行。
2.作用范围
.htaccess
文件中的配置指令作用于 .htaccess
文件所在的目录及其所有子目录,注意子目录中htaccess文件中的指令会覆盖父目录或者主配置文件中的指令。
在运行所有 PHP 脚本时被自动追加htaccess中的配置。
二、常见指令
2.1 SetHandler
- 编辑.htaccess,内容为:
SetHandler application/x-httpd-php
此时当前目录及其子目录下所有文件都会被当做 php
解析
-
编辑.htaccess,内容为:
SetHandler server-status
这种方式利用了apache的服务器状态信息(默认关闭),可以查看所有访问本站的记录
访问任意不存在的文件,加参数 ?refresh=5
来实现每隔 5s 自动刷新
2.2 AddHandler
AddHandler
可以在文件扩展名与特定的处理器之间建立映射
用法:
AddHandler handler-name extension [extension] ...
例如:
AddHandler cgi-script .xxx
将扩展名为 .xxx
的文件作为 CGI
脚本来处理
2.3AddType
AddType
可以将给定的文件扩展名映射到指定的内容类型
用法:
AddType media-type extension [extension] ...
示例:
AddType application/x-httpd-php .gif
将以 gif
为后缀的文件当做 php
解析
AddType application/x-httpd-php png jpg