当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2016-0183336

漏洞标题:水木社区全站源码泄露(可间接二次代码审计)

相关厂商:newsmth.net

漏洞作者: 猪猪侠

提交时间:2016-03-11 13:32

修复时间:2016-03-11 15:59

公开时间:2016-03-11 15:59

漏洞类型:敏感信息泄露

危害等级:高

自评Rank:20

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2016-03-11: 细节已通知厂商并且等待厂商处理中
2016-03-11: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

水木社区全站源码泄露(可间接二次代码审计扩大影响)
设计部署安装文档、用户数据结构、数据库配置信息,全都泄露了

详细说明:

#1 概述
漏洞发现原由水木二站的svn信息泄露
漏洞地址:http://bloom.newsmth.net/.svn/entries

HTTP/1.1 200 OK
content-length: 19803
via: 1.0 www.2.newsmth.net (squid/3.1.10)
x-cache: HIT from www.2.newsmth.net
accept-ranges: bytes
server: nginx
last-modified: Tue, 10 Apr 2012 06:12:27 GMT
connection: keep-alive
etag: "4f83cf4b-4d5b"
date: Fri, 11 Mar 2016 05:00:33 GMT
content-type: application/octet-stream
x-cache-lookup: HIT from www.2.newsmth.net:8000
10
dir
11132
http://svn.kcn.cn/repos/kbs/trunk/www2
http://svn.kcn.cn/repos/kbs
2012-03-22T12:51:01.977509Z
11109
jiangjun

漏洞证明:

#2 结果这是一个没有访问控制的SVN服务器

svn.png


DOC.png


#3 水木社区的源码全在这里

http://svn.kcn.cn/repos/kbs
svn co http://svn.kcn.cn/repos/kbs ./kbs


/* 数据库相关 */
define("DB_ENABLED", true);
$dbuser = "wForum";
$dbpasswd = "fuckatp";
$dbname = "wForum";
/* 其他附加功能 */
define("SHOWTELNETPARAM", false);
define("ALLOW_SYSOP_MULTIQUERY", true);
define('ALLOW_SELF_MULTIQUERY', true);
define("SUPPORT_TEX", true);
define("ONBOARD_USERS", true);


<?php
if (!defined('_BBS_WWW2_BOARD_PHP_'))
{
define('_BBS_WWW2_BOARD_PHP_', 1);
function bbs_boards_navigation_bar()
{
?>
<p align="center">
[<a href="<?php echo MAINPAGE_FILE; ?>">首页导读</a>]
[<a href="bbssec.php">分类讨论区</a>]
[<a href="bbsxmlbrd.php?flag=2">新开讨论区</a>]
[<a href="bbsxmlbrd.php?flag=0">推荐讨论区</a>]
[<a href="bbsxmlbrd.php?flag=1">讨论区人气排名</a>]
[<a href="bbs0an.php">精华公布栏</a>]
[<a href="javascript:history.go(-1)">快速返回</a>]
<br />
</p>
<?php
}
function undo_html_format($str)
{
$str = preg_replace("/&apos;/i", "'", $str);
$str = preg_replace("/&gt;/i", ">", $str);
$str = preg_replace("/&lt;/i", "<", $str);
$str = preg_replace("/&quot;/i", "\"", $str);
$str = preg_replace("/&amp;/i", "&", $str);
return $str;
}
if (version_compare(PHP_VERSION,'5','>='))
require_once('domxml-php4-to-php5.inc.php'); //Load the PHP5 converter
# iterate through an array of nodes
# looking for a text node
# return its content
function get_content($parent)
{
$nodes = $parent->child_nodes();
while($node = array_shift($nodes))
if ($node->node_type() == XML_TEXT_NODE)
return $node->node_value();
return "";
}
# get the content of a particular node
function find_content($parent,$name)
{
$nodes = $parent->child_nodes();
while($node = array_shift($nodes))
if ($node->node_name() == $name)
return undo_html_format(urldecode(get_content($node)));
return "";
}


用户数据结构

CREATE TABLE IF NOT EXISTS `board_user` (
`board` varchar(32) COLLATE gbk_bin NOT NULL,
`user` varchar(32) COLLATE gbk_bin NOT NULL,
`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`status` int(11) NOT NULL,
`manager` varchar(32) COLLATE gbk_bin NOT NULL,
`score` int(11) NOT NULL,
`flag` bigint(20) NOT NULL,
UNIQUE KEY `member` (`board`,`user`),
KEY `board` (`board`),
KEY `user` (`user`),
KEY `time` (`time`),
KEY `flag` (`flag`),
KEY `status` (`status`),
KEY `score` (`score`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk COLLATE=gbk_bin;

修复方案:

# 删除水木二站的svn问题
# svn server 加入鉴权机制

版权声明:转载请注明来源 猪猪侠@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2016-03-11 15:59

厂商回复:

是kbs开源项目对外的源码展示站点。不过好久没更新了。谢谢关心

最新状态:

暂无