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

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

缺陷编号: WooYun-2012-07292

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

相关厂商: RulingSite-S

漏洞作者: possible

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

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

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

危害等级: 低

自评Rank: 5

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

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

Tags标签: 第三方不可信程序 php源码审核 白盒测试 RulingSite-S

1人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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评价)


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(少于3人评价):
登陆后才能进行评分
0%
100%
0%
0%
0%

评价

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

    dang会怪罪你的,混蛋

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

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

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

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

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

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

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

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

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

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

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

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

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

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

登录后才能发表评论,请先 登录