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 ...
随机推荐
- Solution -「国家集训队」「洛谷 P2839」Middle
\(\mathcal{Description}\) Link. 给定序列 \(\{a_n\}\),\(q\) 组询问,给定 \(a<b<c<d\),求 \(l\le[a,b] ...
- Devops 开发运维高级篇之容器管理
Devops 开发运维高级篇之容器管理 安装docker Dockerfile镜像脚本入门制作 Harbor镜像仓库安装及使用 不过多解释docker直接秀基操 安装docker:(jenkins服务 ...
- 已经安装的nginx增加额外配置步骤
这里以安装第三方ngx_http_google_filter_module模块为例nginx的模块是需要重新编译nginx,而不是像apache一样配置文件引用.so1. 下载第三方扩展模块ngx_h ...
- Docker配置Pytorch深度学习环境
拉取镜像 $ docker pull pytorch/pytorch:1.9.1-cuda11.1-cudnn8-devel 查看本地已有镜像 $ docker images 创建容器 $ docke ...
- Linux安装ms-office
https://ittutorials.net/open-source/linux/installing-microsoft-office-in-ubuntu/
- web安全之备份
1:打开界面,一头雾水.根据题目提示"备份是个好习惯"可以想到,这应该是一个代码泄露问题.常见的网页主页index.php.那么备份文件一般是.bak文件类型.尝试下载该文件 in ...
- Win10 装好 Hyper-V 又要将其卸载方法记录
现需要在 windows 上安装虚拟机使用 linux 系统,遂想起来 win10 本身就有 Hyper-V 虚拟工具,但是 win10 家庭版并没有这个服务,百度之,找到了方法(Win10家庭版怎么 ...
- 【C#基础概念】字节顺序(大端、小端)
字节顺序,又称端序或尾序(英語:Endianness),在计算机科学领域中,指電腦記憶體中或在数字通信链路中,组成多字节的字的字节的排列顺序. 例如假设上述变量x类型为int,位于地址0x100处,它 ...
- 【C#基础概念】操作符
------------恢复内容开始------------ 一.操作符概览 1.概念 操作符(Operator)也称"运算符" 操作数:是用来操作数据的,被操作符操作的数据称为操 ...
- readonly 只读字段的初始化值确定|static 字段的初始值确定
类的初始化顺序 如下: 第一次实例化Son============================ C#编译器缺省将每一个成员变量初始化为他的默认值Son静态字段Son静态构造函数Son字段Fathe ...