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

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

缺陷编号:wooyun-2012-07292

漏洞标题:RulingSite-S系统导致中国台湾众多大学数据库任意进入

相关厂商:RulingSite-S

漏洞作者: possible

提交时间:2012-05-18 22:39

修复时间:2012-07-02 22:39

公开时间:2012-07-02 22:39

漏洞类型:任意文件遍历/下载

危害等级:低

自评Rank:5

漏洞状态:未联系到厂商或者厂商积极忽略

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-05-18: 积极联系厂商并且等待厂商认领中,细节不对外公开
2012-07-02: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

中国台湾近百所大学(从搜索到的域名取重,统计不一定准确)所使用的RulingSite-S系统,存在任意文件下载漏洞,导致源代码泄露,含有数据库用户名和密码的配置文件泄露,phpMyAdmin路径泄露等,导致数据库随便看...

详细说明:

没有什么技术含量,非常简单的任意文件下载漏洞,源文件解码后如下所示:(感谢在http://zone.wooyun.org/content/239这里给予回复的每位同学)
<?php
include( "init.inc.php" );
get_referer( false );
if ( empty( $_GET['filename'] ) || empty( $_GET['title'] ) || empty( $_GET['dir'] ) )
{
error_display( t_( "缺少檔案下載參數" ) );
}
$file_name = $_GET['filename'];
$file_download = uploadpath( )."/".$_GET['dir']."/".$file_name;
$file_extension = get_file_extension( $file_name );
if ( strpos( $_SERVER['HTTP_USER_AGENT'], "MSIE" ) )
{
$file_save = utf8tobig5( $_GET['title'] ).".".$file_extension;
}
else
{
$file_save = $_GET['title'].".".$file_extension;
}
$file_save = ereg_replace( "[\\/:*?\"<>|]", "_", $file_save );
if ( $file_extension == "php" )
{
exit( "<strong>Cannot be used for ".$file_extension." files!</strong>" );
}
$mimeType = get_file_mimetype( $file_name );
if ( strpos( $_SERVER['HTTP_USER_AGENT'], "MSIE 5" ) || strpos( $_SERVER['HTTP_USER_AGENT'], "Opera 7" ) )
{
$mimeType = "application/x-download";
}
ob_end_clean( );
header( "Pragma: public" );
header( "Expires: 0" );
header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );
header( "Cache-Control: public" );
header( "Content-Description: File Transfer" );
header( "Content-Type: ".$mimeType );
header( "Content-Disposition: attachment; filename=".$file_save );
header( "Content-Transfer-Encoding: binary" );
header( "Content-Length: ".filesize( $file_download ) );
@readfile( @$file_download );
?>
黑名单防止下载php文件简单绕过,即可下载任意文件,百度一下发现很多学校,使用python简单整理一下百度搜索结果,去重,大约有100多个域名,继续用python,下载每个域名的配置文件:


继续python提取配置文件中数据库用户名和密码:


简单看一下有些是root账号:


就写到这吧

漏洞证明:

证明 就不证明了,没有rank...
接着上面在写点:
有了数据库可以进入后台,找到上传点,直接上传php,拿shell,很常规的思路,真的“成功”了。php上传上去了,直接访问发现不行,最开始以为上传路径没有执行权限,后来看了看才知道,上传文件被处理了,而且确实上传后文件变成了644,不能执行...
本想找个通用方法,看来行不通了,不知道有没有文件包含?不知道的还很多,如果被管理通过了,有哪位大神无聊,帮小弟完成通杀吧...
只知道用root导出获得shell,没有找到通杀...

修复方案:

就不写了,大家都懂,最主要的是没有厂商看,真的期望有一天cnvd有权管,期待省略1w字(不谈政治)

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


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝

漏洞Rank:6 (WooYun评价)


漏洞评价:

评论

  1. 2012-05-18 23:39 | 顺子 ( 普通白帽子 | Rank:236 漏洞数:36 | 0-0努力像正常青年靠近,再也不当上错图的2...)

    dang会怪罪你的,混蛋

  2. 2012-05-21 10:45 | possible ( 普通白帽子 | Rank:373 漏洞数:32 | everything is possible!)

    @顺子 @xsser 我错了 下次不发了管理的这个名字起的不错,最近管理很勤快,这小漏洞都给发

  3. 2012-05-21 13:44 | 顺子 ( 普通白帽子 | Rank:236 漏洞数:36 | 0-0努力像正常青年靠近,再也不当上错图的2...)

    @possible =.=国家队的朋友们会恨死你的噢`~`

  4. 2012-08-01 11:54 | ca3tie1 ( 路人 | Rank:18 漏洞数:4 | castiel)

    求get_file_extension函数内容!求绕过方法!!!

  5. 2012-08-01 19:20 | possible ( 普通白帽子 | Rank:373 漏洞数:32 | everything is possible!)

    @ca3tie1 这个有点久了,忘了具体是怎么回事了 当时好像是download.php?filename=../../download.php%00.txt 如果不行 也许都修复了吧

  6. 2013-09-25 13:22 | 神九 ( 路人 | Rank:14 漏洞数:3 | 哥在江湖多年,江湖却没有哥的传说.知道为什...)

    @possible phpmyadmin的路径可以在配置文件里找的到么?

  7. 2013-09-26 09:12 | possible ( 普通白帽子 | Rank:373 漏洞数:32 | everything is possible!)

    @神九 这个东西本身就是独立的 不需要在配置文件里面配置,因此找不到。

  8. 2015-06-04 19:03 | 风炫 ( 路人 | Rank:2 漏洞数:5 | 菊花残,满地伤)

    您好,我现在正遇到这个网站, 测试了有文件下载,但是配置文件路径是哪个?告诉我一下。