代码审计工具:seay

CMS:74CMS3.0

一、 启动环境

1.双击运行桌面phpstudy.exe软件



2.点击启动按钮,启动服务器环境

二、代码审计

1.双击启动桌面Seay源代码审计系统软件

2.因为74CMS3.0源代码编辑使用GBK编辑,所以首先需要先将编码改成GBK



3.点击新建项目按钮,弹出对画框中选择(C:\phpStudy\WWW\74cms),点击确定

漏洞分析

1.点击展开左侧admin目录,弹出的下拉菜单中双击admin_login.php文件,右侧页面可以看到相关代码

<?php
/*
* 74cms 锟斤拷录页锟斤拷
* ============================================================================
* 锟斤拷权锟斤拷锟斤拷: 锟斤拷士锟斤拷锟界,锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷权锟斤拷锟斤拷
* 锟斤拷站锟斤拷址: http://www.74cms.com锟斤拷
* ----------------------------------------------------------------------------
* 锟解不锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟街伙拷锟斤拷诓锟斤拷锟斤拷锟斤拷锟揭的匡拷牡锟角帮拷锟斤拷露猿锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷薷暮锟?
* 使锟矫o拷锟斤拷锟斤拷锟斤拷猿锟斤拷锟斤拷锟斤拷锟斤拷锟轿猴拷锟斤拷式锟轿猴拷目锟侥碉拷锟劫凤拷锟斤拷锟斤拷
* ============================================================================
*/
define('IN_QISHI', true);
require_once(dirname(__FILE__).'/../data/config.php');
require_once(dirname(__FILE__).'/include/admin_common.inc.php');
$act = !empty($_REQUEST['act']) ? trim($_REQUEST['act']) : 'login';
if($act == 'logout')
{
unset($_SESSION['admin_id']);
unset($_SESSION['admin_name']);
unset($_SESSION['admin_purview']);
setcookie('Qishi[admin_id]',"",time() - 3600,$QS_cookiepath, $QS_cookiedomain);
setcookie('Qishi[admin_name]',"",time() - 3600,$QS_cookiepath, $QS_cookiedomain);
setcookie('Qishi[admin_pwd]',"",time() - 3600,$QS_cookiepath, $QS_cookiedomain);
header("Location:?act=login");
}
elseif($act == 'login')
{
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache, must-revalidate");
.......

程序首先定义个常量’IN_QISHI’,紧接着包含了两个文件config.php和admin_common.inc.php文件,config.php文件主要包含了数据库的配置,admin_common.inc.php文件主要进行连接数据库,过滤GET、POST、COOKIE、REQUEST传过来的数据,然后进行一些程序初始化操作。

2.通过$_REQUEST[‘act’]获取GET或者POST传递过来的数据,并赋值给act,紧接着然后对act,紧接着然后对act,紧接着然后对act的内容进行判断,当登录参数是do_login的时候要进行登录判断,登录成功的关键是check_admin函数判断

	elseif(check_admin($admin_name,$admin_pwd))
{
update_admin_info($admin_name);
write_log("成功登录",$admin_name);
if($remember == 1)
{
$admininfo=get_admin_one($admin_name);
setcookie('Qishi[admin_id]', $_SESSION['admin_id'], time()+86400, $QS_cookiepath, $QS_cookiedomain);
setcookie('Qishi[admin_name]', $admin_name, time()+86400, $QS_cookiepath, $QS_cookiedomain);
setcookie('Qishi[admin_pwd]', md5($admin_name.$admininfo['pwd'].$admininfo['pwd_hash']), time()+86400, $QS_cookiepath, $QS_cookiedomain);
}
}

3.check_admin函数关键从获取用$name变量到最后使用没有进行任何过滤操作,最后直接拼接了SQL语句执行。

function check_admin($name,$pwd)
{
global $db;
$admin=get_admin_one($name);
$md5_pwd=md5($pwd.$admin['pwd_hash']);
$row = $db->getone("SELECT COUNT(*) AS num FROM ".table('admin')." WHERE admin_name='$name' and pwd ='".$md5_pwd."' ");
if($row['num'] > 0){
return true;
}else{
return false;
}
}

三、漏洞利用

双击桌面BurpSuite软件,自定义设置浏览器能让BurpSuite软件拦截

访问(IP/Domain)admin/admin_login.php文件,任意输入用户名和密码,输入正确的验证码,BurpSuite拦截到数据并把数据发送到Repeater,使用宽字节SQL注入



成功登陆



重新刷新一遍浏览器发现页面已经进入后台。

74CMS 3.0 SQL注入漏洞后台的更多相关文章

  1. 74CMS 3.0 SQL注入漏洞前台

    一. 启动环境 1.双击运行桌面phpstudy.exe软件 2.点击启动按钮,启动服务器环境 二.代码审计 1.双击启动桌面Seay源代码审计系统软件 2.因为74CMS3.0源代码编辑使用GBK编 ...

  2. Beescms_v4.0 sql注入漏洞分析

    Beescms_v4.0 sql注入漏洞分析 一.漏洞描述 Beescms v4.0由于后台登录验证码设计缺陷以及代码防护缺陷导致存在bypass全局防护的SQL注入. 二.漏洞环境搭建 1.官方下载 ...

  3. PHPCMS V9.6.0 SQL注入漏洞分析

    0x01 此SQL注入漏洞与metinfo v6.2.0版本以下SQL盲注漏洞个人认为较为相似.且较为有趣,故在此分析并附上exp. 0x02 首先复现漏洞,环境为: PHP:5.4.45 + Apa ...

  4. [CMS] UsualToolCMS-8.0 sql注入漏洞【转载】

    原文地址:http://lyscholar.cn/2019/07/30/代码审计-usualtoolcms存在sql注入漏洞/ 0x01 漏洞环境 版本信息:UsualToolCMS-8.0-Rele ...

  5. 【原创】风讯DotNetCMS V1.0~V2.0 SQL注入漏洞

      文章作者:rebeyond 注:文章首发I.S.T.O信息安全团队,后由原创作者友情提交到乌云-漏洞报告平台.I.S.T.O版权所有,转载需注明作者. 受影响版本:貌似都受影响. 漏洞文件:use ...

  6. 代码审计-MetInfo 6.0.0 sql注入漏洞

    首先漏洞存在于app\system\message\web\message.class.php文件中,变量{$_M[form][id]} 直接拼接在SQL语句中,且验证码检测函数是在SQL语句查询之后 ...

  7. 最新phpcms v9.6.0 sql注入漏洞分析

    昨天爆出来的,但其实在此之前就i记得在某群看见有大牛在群里装逼了.一直也没肯告诉.现在爆出来了.就来分析一下.官方现在也还没给出修复.该文不给出任何利用的EXP. 该文只做安全研究,不做任何恶意攻击! ...

  8. PHPCMS V9.6.0 SQL注入漏洞EXP

    运行于python3.5 import requests import time import re import sys def banner(): msg = '''--------------E ...

  9. 【代码审计】五指CMS_v4.1.0 后台存在SQL注入漏洞分析

      0x00 环境准备 五指CMS官网:https://www.wuzhicms.com/ 网站源码版本:五指CMS v4.1.0 UTF-8 开源版 程序源码下载:https://www.wuzhi ...

随机推荐

  1. Solution -「AGC 013E」「AT 2371」Placing Squares

    \(\mathcal{Description}\)   Link.   给定一个长度为 \(n\) 的木板,木板上有 \(m\) 个标记点,第 \(i\) 个标记点距离木板左端点的距离为 \(x_i\ ...

  2. tep集成mitmproxy录制流量自动生成用例

    使用 操作过程非常简单,流程如下: ①配置过滤域名 必须配置,不然会有很多无效流量造成数据冗余. ②启动代理 「示例」使用了反向代理,tep自带FastApi启动Mock服务: 「实际」使用正向代理, ...

  3. Aluminum: An Asynchronous, GPU-Aware Communication Library Optimized for Large-Scale Training of Deep Neural Networks on HPC Systems

    本文发表在MLHPC 2018上,主要介绍了一个名为Aluminum通信库,这个库针对Allreduce做了一些关于计算通信重叠以及针对延迟的优化,以加速分布式深度学习训练过程. 分布式训练的通信需求 ...

  4. MLHPC 2016 | Communication Quantization for Data-parallel Training of Deep Neural Networks

    本文主要研究HPC上进行数据并行训练的可行性.作者首先在HPC上实现了两种通信量化算法(1 Bit SGD以及阈值量化),然后提出了自适应量化算法以解决它们的缺点.此外,发挥出量化算法的性能,作者还自 ...

  5. 【自动化测试框架】pytest和unitttest你知道多少?区别在哪?该用哪个?

    一.大家熟知的自动化测试框架 Java JUnit.TestNG等等. python PyUnit(unittest).Pytest.Robot Framework等等 二.Pytest介绍 pyte ...

  6. .NET 云原生架构师训练营(权限系统 代码重构)--学习笔记

    目录 模块拆分 代码重构 模块拆分 代码重构 AuthenticationController PermissionController IAuthorizationMiddlewareResultH ...

  7. 答疑记录:jmeter从返回的html中提取指定内容

    返回的html(截取部分),要求从中提取:2022-02-22 13:46:15 <!-- 前面省略557行 --> <td>2022-02-22</td> < ...

  8. kali系统语言设置

    一.背景信息在安装完 kali linux 2020.1 时,其操作系统默认语言为英文的,我们操作起来比较麻烦,为了以后操作方便起见,这边将其操作系统默认语言更改为中文.本篇文章将带领各位小伙伴们一起 ...

  9. 李宏毅机器学习笔记——新手感悟——PM2.5作业

    python也不会,计算机也不会,啥都不会,只带了个脑子考了计算机研究生.研究生选了人工智能方向.看来注定是漫长的学习之旅. PM2.5作业,我是一个字都看不懂.所以我采用了直接看答案的方案.把答案看 ...

  10. 巧用 CSS 实现炫彩三角边框动画

    最近有个小伙伴问我,在某个网站看到一个使用 SVG 实现的炫彩三角边框动画,问能否使用 CSS 实现: 很有意思的一个动画效果,立马让我想起了我在 CSS 奇思妙想边框动画 一文中介绍的边框动画,非常 ...