漏洞概要 关注数(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
漏洞详情
披露状态:
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评价)
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值
100%
0%
0%
0%