文件上传之.htaccess绕过黑名单——upload-labs靶场第四关

今天继续给大家介绍渗透测试相关知识,本文主要内容是介绍.htaccess绕过黑名单的文件上传方法,并借助upload-labs靶场的第四关进行了实战。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!

一、.htaccess绕过简介

在上一篇文章upload-labs靶场通关指南(第1-3关)中,我们介绍了当目标站点过滤上传文件的后缀名时,我们可以使用php5、phtml、phps等稀有后缀名来绕过。
但是,当上述后缀名不生效或者是目标站点将上述很少用的后缀名也设置为黑名单时,我们就可以使用.htaccess绕过的方式。
Apache服务器允许在每个目录下存在一个名为.htaccess的文件,.htaccess是一个纯文本文件,该文件可以作为Apache辅助配置文件,仅在当前目录生效。.htaccess文件可以实现URL重写、自定义错误页面、MIME类型配置以及权限访问控制等。起到了伪静态应用、图片防盗链、自定义404错误页面、允许或阻止特定IP地址范围访问、目录浏览与主页、禁止访问指定文件类型以及文件密码保护等等的作用。
如果目标站点没有对.htaccess文件进行黑名单防护,那么我们就可以上传一个.htaccess文件,指定一张图片当作PHP文件来进行解析,之后上传含有恶意脚本的该“图片文件”,这样就可以实现文件上传的黑名单绕过了。
注意,.htaccess只针对Apache服务器有效,因此这种绕过方式只能够应用于Apache服务器。

二、upload-labs靶场第四关简介

upload-labs靶场的第四关是一个典型的.htaccess上传绕过文件上传黑名单的案例,文件upload-labs第四关关键代码如下所示:
在这里插入图片描述
该关体提示信息如下所示:
在这里插入图片描述
从以上代码和提示可以看出,该关过滤了大量的能够被解析成php的后缀,但是没有对.htaccess的文件进行过滤,因此我们可以.htaccess上传的方式绕过。

三、upload-labs靶场第四关实战

首先,我们先写入一个.htaccess的文件,文件内容如下所示:

<FilesMatch "pzz.png">
	SetHandler application/x-httpd-php
</FilesMatch>

在上述配置中,FilesMatch表示匹配pzz.png的文件,当该文件名匹配成狗后,SetHandler表示将该文件作为PHP类型的文件来进行处置。
然后上传该文件:
在这里插入图片描述
之后,我们上传一个pzz.png的文件,如下所示:
在这里插入图片描述
最后,我们就可以尝试访问该图片了,结果如下所示:
在这里插入图片描述
从上图中可以看出,我们上传的pzz.png文件被Apache服务器当作PHP类型的文件进行了解析。
注意:在进行上述实战时,不要使用新版本的phpstudy,新版本的phpstudy对.htaccess支持存在问题,推荐使用2018版本的phpstudy。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

猜你喜欢

转载自blog.csdn.net/weixin_40228200/article/details/126773811