upload-labs .htaccess绕过 Pass – 04

blog 34 0

进入到靶场之后,直接查看源代码,发现禁用了大多数脚本语言的后缀。

upload-labs .htaccess绕过 Pass – 04

但是遗漏了一个特殊的文件,这个文件是Apache服务器特有的,叫做分布式配置文件。文件名称为.htaccess。该文件可以理解为是一个httpd.conf

该文件提供了根据目录改Apache配置的方法。即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过配置httpd.conf来限制此文件的生效。

限制此文件的生效,只需要在httpd.conf中添加:

AllowOverride None

即可。即可限制分布式配置文件的生效。该文件由于是.开头的,在linux系统中以点开头的文件是一个隐藏文件。而在windows系统中是不能直接通过图形化界面创建以点开头的文件的。

upload-labs .htaccess绕过 Pass – 04

但是可以使用echo命令配合重定向符号创建,或者说是先创建一个123.txt文件,之后在命令行中将其进行重命名即可。或者使用rename命令也行。

upload-labs .htaccess绕过 Pass – 04

之后我们在文件里面添加如下内容:

upload-labs .htaccess绕过 Pass – 04

表示将文件名为shell.jpg的图片,交给php程序处理。那么我们先将.htaccess配置文件进行上传。之后再上传我们的一句话木马文件shell.jpg

upload-labs .htaccess绕过 Pass – 04

上传成功之后,我们尝试访问该文件。

upload-labs .htaccess绕过 Pass – 04
upload-labs .htaccess绕过 Pass – 04

可以看到,页面是空白的。由于一句话木马并没有向页面输出什么,因此是空白的。

如果我们上传一个文件名为shell.png的图片,可以作为php程序解析吗,答案是不能的。因为.htaccess的配置只对shell.jpg生效。

如果是要对所有jpg结尾的生效,我们该怎么取构造配置文件内容?

upload-labs .htaccess绕过 Pass – 04

只需要写入如上内容即可,表示将所有jpg结尾的文件,都交给php程序执行。

那么我们使用中国蚁剑或者中国菜刀进行连接,我这里就以蚁剑进行连接了。

upload-labs .htaccess绕过 Pass – 04

可以发现连接成功。

发表评论 取消回复
表情 图片 链接 代码

分享