74CMS 3.0 SQL注入漏洞后台
代码审计工具: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注入漏洞后台的更多相关文章
- 74CMS 3.0 SQL注入漏洞前台
一. 启动环境 1.双击运行桌面phpstudy.exe软件 2.点击启动按钮,启动服务器环境 二.代码审计 1.双击启动桌面Seay源代码审计系统软件 2.因为74CMS3.0源代码编辑使用GBK编 ...
- Beescms_v4.0 sql注入漏洞分析
Beescms_v4.0 sql注入漏洞分析 一.漏洞描述 Beescms v4.0由于后台登录验证码设计缺陷以及代码防护缺陷导致存在bypass全局防护的SQL注入. 二.漏洞环境搭建 1.官方下载 ...
- PHPCMS V9.6.0 SQL注入漏洞分析
0x01 此SQL注入漏洞与metinfo v6.2.0版本以下SQL盲注漏洞个人认为较为相似.且较为有趣,故在此分析并附上exp. 0x02 首先复现漏洞,环境为: PHP:5.4.45 + Apa ...
- [CMS] UsualToolCMS-8.0 sql注入漏洞【转载】
原文地址:http://lyscholar.cn/2019/07/30/代码审计-usualtoolcms存在sql注入漏洞/ 0x01 漏洞环境 版本信息:UsualToolCMS-8.0-Rele ...
- 【原创】风讯DotNetCMS V1.0~V2.0 SQL注入漏洞
文章作者:rebeyond 注:文章首发I.S.T.O信息安全团队,后由原创作者友情提交到乌云-漏洞报告平台.I.S.T.O版权所有,转载需注明作者. 受影响版本:貌似都受影响. 漏洞文件:use ...
- 代码审计-MetInfo 6.0.0 sql注入漏洞
首先漏洞存在于app\system\message\web\message.class.php文件中,变量{$_M[form][id]} 直接拼接在SQL语句中,且验证码检测函数是在SQL语句查询之后 ...
- 最新phpcms v9.6.0 sql注入漏洞分析
昨天爆出来的,但其实在此之前就i记得在某群看见有大牛在群里装逼了.一直也没肯告诉.现在爆出来了.就来分析一下.官方现在也还没给出修复.该文不给出任何利用的EXP. 该文只做安全研究,不做任何恶意攻击! ...
- PHPCMS V9.6.0 SQL注入漏洞EXP
运行于python3.5 import requests import time import re import sys def banner(): msg = '''--------------E ...
- 【代码审计】五指CMS_v4.1.0 后台存在SQL注入漏洞分析
0x00 环境准备 五指CMS官网:https://www.wuzhicms.com/ 网站源码版本:五指CMS v4.1.0 UTF-8 开源版 程序源码下载:https://www.wuzhi ...
随机推荐
- JavaWeb项目中斜杠(/)表示web工程、webapps的场景
"/"代表当前web工程的常见应用场景 ①.ServletContext.getRealPath(String path)获取资源的绝对路径 /** * 1.ServletCont ...
- Linux实现MySQL数据库凌晨自动备份
Linux实现MySQL数据库凌晨自动备份 备份多数据库,每天凌晨两点执行,使用当前年月日作为文件夹,不存在该文件夹就创建,删除七天前备份过的文件. 定时调度使用crontab 1 login_use ...
- Solution -「国家集训队」「洛谷 P2619」Tree I
\(\mathcal{Description}\) Link. 给一个 \(n\) 个点 \(m\) 条边的带权无向图,边有权值和黑白颜色,求恰选出 \(K\) 条白边构成的最小生成树. ...
- 2022年了有哪些值得推荐的.NET ORM框架?
前言: 最近有很多同学问我.NET方面有哪些好用的ORM框架,我觉得这方面的介绍网上应该会介绍的比较全面文章,于是我想搜一篇全面的介绍文章发给他们结果我发现网上说来说去基本上就是那几个,于是就有了这篇 ...
- 关于WebStorm 破解
建议资金宽裕,支持正版 2017.2.27更新 选择"license server" 输入:http://idea.imsxm.com/ 2016.2.2 版本的破解方式: 安装以 ...
- 施耐德NOE77101后门漏洞分析
固件下载地址: GitHub - ameng929/NOE77101_Firmware 文件目录结构,这里只列出了一些主要的文件信息: ├── bin ├── ftp ├── fw ├── rdt ├ ...
- 基于nodejs的阿里云DDNS服务,支持多网卡绑定
前段几天写的,自用. 想着也许有和我一样需求的同学,所以开源发出来了. 提供阿里云的DDNS设置,支持多网卡多域名绑定. 特性 支持阿里云DDNS设置 支持针对多个线路多个网卡单独设置域名 支持IPv ...
- BGFX多线程渲染
BGFX多线程渲染 1. 多线程基础 1. 并发概念 1. 并发任务简介 在多年以前,在手机.pc端.游戏机等,都是一个单核的CPU.这样,在硬件层面上,处理多个任务的时候,也是把一些任务切分成一些小 ...
- RFC3918协议测试——网络测试仪实操
一.简介1.RFC3918简介历史· 在1999年3月成为正式标准 功能· 评测网络互连设备或网络系统的性能· 网络设备: 交换机,路由器- 内容· 定义了一整套测试方法,为不同厂家的设备/系统提供了 ...
- MySQL常用查询命令(连接查询&子查询)
多张表联合起来查询即为连接查询,可分为: 内连接:等值连接.非等值连接.自连接 外连接:右外连接.左外连接 也就是先把多张表通过某种指定条件用join...on...语法连接起来,然后再进行where ...