复盘熊海cms存在的漏洞

nicky   ·   发表于 2020-05-06 11:39:24   ·   代码审计

1.前言

熊海CMS是一个相对简单的CMS,存在很多漏洞可以利用它的主页是这样子

要进行代码审计前,得先了解这个CMS网站的路径对应哪些文件

举个例子现在的网址是192.168.3.43/?r=contact

然后丢到seay里面发现对应的文件目录是WWW/files/content.php,知道相对的目录以后可以快速跟进文件内容

2.漏洞复现

1.1.SQL漏洞
丢到seay里面随机点一个SQL漏洞

点开以后该代码是这样的:
$query = “UPDATE content SET hit = hit+1 WHERE id=$id”;
是一条查询语句,where 后面的 id=$id并没有加单引号保护,所以存在SQL注入

对应的网页路径就是192.168.3.43/?r=content&cid=18

直接丢到SQLMAP成功跑出来

2.1 XSS漏洞
关于XSS漏洞,我的想法是如果存在SQL漏洞也有可能存在XSS漏洞,先黑盒测试一下,把刚才的URL丢到xsstrike成功生成payload

然而不太行

再丢到Burp里面成功反弹成功

3.1 文件包含漏洞
点开第一条跟踪到/index.php
error_reporting(0); //关闭错误显示
$file=addslashes($_GET[‘r’]); //接收文件名
$action=$file==’’?’index’:$file; //判断为空或者等于Index
include(‘files/‘.$action.’.php’);
首先忽略第一条,大概意思就是我们以GET型传参到r,然后是以addslashes()函数经过,接着判断要载入的文件,最后直接进入include函数包含。由于代码限制了只能在file目录下,所以可以用../进行跳转
所以我把旧的phpinfo直接复制到跟目录下

直接在r=输入../phpinfo成功验证

4.1越权
位置:inc/checklogin.php
<?php
$user=$_COOKIE[‘user’];
if ($user==””){
header(“Location: ?r=login”);
exit;
}
?>
这里有个逻辑问题,就是cookie直接赋值给user,假如user不为空就跳转到login,反之就可以访问

这是后台发布页面

退出以后在点后退,还是访问成功

按了F12以后发现没有user的cookie的值手动添加一个

验证不用登录也可以进后台了

用户名金币积分时间理由
奖励系统 100.00 0 2020-07-08 20:08:08 投稿满 10 赞奖励
sue_h 1.00 0 2020-07-07 20:08:00 一个受益终生的帖子~~
奖励系统 50.00 0 2020-05-09 23:11:36 投稿满 5 赞奖励
admin 50.00 0 2020-05-06 16:04:56 支持,希望投递质量越来越好

打赏我,让我更有动力~

6 Reply   |  Until 2020-7-8 | 1735 View

570934591
发表于 2020-5-7

请问下,是如何找到这个cms的?

评论列表

  • 加载数据中...

编写评论内容

加油皮卡丘
发表于 2020-5-7

小白围观

评论列表

  • 加载数据中...

编写评论内容

h1dd3n
发表于 2020-5-12

请问url中传参时,
这两个有什么区别?

评论列表

  • 加载数据中...

编写评论内容

嘿静儿
发表于 2020-7-7

加油呀

评论列表

  • 加载数据中...

编写评论内容

crystal67
发表于 2020-7-8

看好你!

评论列表

  • 加载数据中...

编写评论内容

小花生
发表于 2020-7-8

大佬 加油

评论列表

  • 加载数据中...

编写评论内容
LoginCan Publish Content
返回顶部 投诉反馈

© 2016 - 2022 掌控者 All Rights Reserved.