神刀安全网

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

漏洞详情

披露状态:

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

简要描述:

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

详细说明:

#1 概述

漏洞发现原由水木二站的svn信息泄露

漏洞地址:http://bloom.newsmth.net/.svn/entries

code 区域
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服务器

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

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

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

code 区域
http://svn.kcn.cn/repos/kbs
svn co http://svn.kcn.cn/repos/kbs ./kbs

code 区域
/* 数据库相关 */
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);

code 区域
<?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 "";
}

用户数据结构

code 区域
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 加入鉴权机制

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

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » 漏洞标题: 水木社区全站源码泄露(可间接二次代码审计)

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
分享按钮