上传正常文件:
文件路径为:
http://localhost/upload-labs/upload/4.jpg
上传一个PHP探针文件:
这里更接近实际的环境,不会提示出不允许上传的文件类型,防止黑客进行猜测!!!
而且经查看前台的代码,这个验证应该是服务器端的验证!!!!
查看提示!!!
这禁止的后缀类型可是真彻底!!!
查看源代码!!!
这里我们需要了解一个知识:.htaccess“文件上传漏洞:
.htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置,通过.htaccess文件可以实现网页301重定向、自定义404页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
需要用到的代码如下:
<FilesMatch “cimer“> Sethandler application/x-httpd-php </Eilesmatch>
一、.htaccess 文件上传漏洞原理:
通过.htaccess文件,调用php的解析器解析一个文件名,只要包含”cimer”这个字符串的任意文件。这个”cimer”的内容如果是一句话木马,即可利用中国菜刀或中国蚁剑进行连接。
注意:cimer 这个名字是可以随意更改的!
二、.htaccess 文件上传漏洞 本地示例:
1、把上面的代码添加到.htaccess ;我这就直接写到 F:\phpStudy\WWW\ .htaccess ;
<FilesMatch “xiaodi”> Sethandler application/x-httpd-php </Eilesmatch>
2、创建一个html.xiaodi或者xiaodi.html,并写入如下代码:
<?php phpinfo(); ?>
3、直接访问 http://127.0.0.1/xiaodi/html.xiaodi或者http://127.0.0.1/xiaodi/xiaodi.html,就会出现phpinfo的界面;
实战意义:
1、如果存在可以上传.htaccess 文件,就可以直接利用此规则解析;
2、如果存在修改文件权限,就直接修改解析规则;
这里我们先构造一个.htaccess:
文件内容为:文件名包含zhifei,且未在过滤。
<FilesMatch “zhifei”>
SetHandler application/x-httpd-php
</FilesMatch>
然后把该文件上传!!!
已经成功上传!!!
上传的路径是:
http://localhost/upload-labs/upload/.htaccess
接着我们先上传一个zhifei.php,提示此文件不允许上传。
接着我上传一个4.zhifei的php探针!!!
上传成功:
链接在这:
http://localhost/upload-labs/upload/4.zhifei
成功解析!!!
还有一种方式,php探针,修改名称为zhifei.jpg
上传后:http://localhost/upload-labs/upload/zhifei.jpg
访问,也可以解析:
但是如果PHP探针的文件名如果为dog.jpg,则解析结果为
http://localhost/upload-labs/upload/dog.jpg
这再次印证了!!
在.htaccess配置完后,只要上传的文件名包含zhifei,且未被黑名单过滤。
都可以进行被解析!!!
来源:freebuf.com 2021-07-19 08:21:57 by: 知非知非知非
请登录后发表评论
注册