.htaccess文件(或者"分布式配置文件"),全称是Hypertext Access(超文本入口)。提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。
概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
通过.htaccess文件,调用php的解析器解析一个文件名,只要包含"hacker"这个字符串的任意文件。这个"hacker"的内容如果是一句话木马,即可利用中国菜刀或中国蚁剑进行连接。
<FilesMatch "hacker">
Sethandler application/x-httpd-php
</Eilesmatch >
创建一个hacker.html写入
<?php phpinfo();?>
这个时候访问hacker.html就能执行php命令。这种情况一般出现在能够上传.htaccess文件的情况下
通过.htaccess文件添加文件类型映射关系,从而将图片解析为php文件。
AddType application/x-httpd-php .jpg
上传成功后再上传图片码即可。
有时候会碰到题目给出了apache配置文件,在这当中会配置关闭和子目录中的php解析
<Directory ~ "/var/www/html/upload/[a-f0-9]{32}/">
php_flag engine off
</Directory>
php_flag engine 设置为0,会关闭该目录和子目录的php解析
我们可以通过上传.htacess文件来开启php解析
<Files "*.gif">
SetHandler application/x-httpd-php
php_flag engine on
</Files>
之后随意上传一个文件后缀名为.gif的文件,就可以让当前目录及其子目录下所有文件都被当做 php 解析
推荐阅读
作者:Yulate
作者博客:https://www.yulate.com/151.html
如有侵权,请联系删除