主页 PC知识 网管技术 黑客帝国 安全技术 开放系统 程序设计 搜索 技术论坛

 

相关联接
 
RHU本级分类

新手入门
入侵实例
工具使用
安全防范
黑客人物
软件破解
漏洞研究

 
RHU阅读排行
·Kaspersky杀毒软件klif.sys权限提升漏洞
·OBLOG函数adodb_loadfile()暴库分析[终结]
·SERV-U 6.4提权方法,通杀SERV-U版本
·暴风影音3.7.11.13 爆远程拒绝服务漏洞
·亲身实践 不用密码进入XP系统的方法
·MS06070漏洞攻击代码
·如何利用终端服务入侵远程计算机
·博客入侵太简单 四大漏洞入侵博客
·IIS常见漏洞攻防实战
·DriverStudio Remote Control远程调用认证绕过漏洞及其利用研究

 
 
RHU最新文章
·IE7 0DAY漏洞所用shellcode的分析
·微软发出蠕虫警告 本年度最大漏洞已经出现威胁
·利用XSSDetect自动检测跨站脚本漏洞
·Discuz! 6.x/7.x SODB-2008-13 Exp
·有保险箱的情况下杀掉360安全卫士的BAT脚本代码
·微软Windows WINS服务本地权限提升漏洞
·Coppermine Photo Gallery任意命令执行漏洞
·详解WINRAR的自解压跨站攻击漏洞
·[Advisory]迅雷ActiveX控件远程代码执行漏洞
·首页巡警v1.1/1.0 内核驱动 拒绝服务 及 本地提权漏洞

 
 
RHU相关搜索









 
 
RHU广而告之

 
 
>您的位置:首页 -> 黑客帝国-> 漏洞研究
MolyX Board原代码泄露漏洞

作者:RHU-TAC编辑员 来自:RHU-TAC编辑搜集 时间:2005-2-28 双击滚屏 收藏本页 字体:


点击 查看RHU2004全年文章


前言
MolyX Board(以下简称MXB)是 MolyX Studios 小组(好象就是CNVBB小组)开发的PHP论坛程序,MXB 融合了众多论坛程序的优点,博采众长,功能强大。多年的论坛程序汉化和改进经验也使 MXB 更适合国人的使用习惯。不过漏洞是难免的。

受影响系统
MolyX Board 2.0
MolyX Board 2.1

详细
attachment.php缺乏对attach变量进行检查,导致远程攻击者可以构造这个变量访问该服务器上允许访问的存在的文件。

文件其中一段代码:

function showattachment()
{
  global $DB, $forums, $_INPUT, $bbuserinfo, $bboptions;
  $forums->noheader = 1;
  if (!$_INPUT['u'] OR !$_INPUT['attach']) {
    $forums->func->standard_error("cannotviewattach");
  }
  if (!$bbuserinfo['candownload']) {
    $forums->func->standard_error("cannotdownload");
  }
  $path = $bboptions['uploadfolder'] . '/' . implode('/', preg_split('//', intval($_INPUT['u']), -1, PREG_SPLIT_NO_EMPTY));
  $file = $path."/".$_INPUT['attach'];
  if ( file_exists( $file ) AND ( $forums->cache['attachmenttype'][ $_INPUT['extension'] ]['mimetype'] != "" ) ) {
    $DB->shutdown_query("UPDATE ".TABLE_PREFIX."attachment SET counter=counter+1 WHERE attachmentid=".intval($_INPUT['id'])."");
    @header('Cache-control: max-age=31536000');
    @header('Expires: ' . gmdate("D, d M Y H:i:s", TIMENOW + 31536000) . ' GMT');
    @header( 'Content-Type: '.$forums->cache['attachmenttype'][ $_INPUT['extension'] ]['mimetype'].'' );
    @header( 'Content-Disposition: inline; filename='.$_INPUT['filename'].'' );
    @header( 'Content-Disposition: inline; filename='.$_INPUT['filename'].'' );
    @header( 'Content-Length: '.(string)(filesize( $file ) ).'' );
    $fh = fopen( $file, 'rb' );
    fpassthru( $fh );
    @fclose( $fh );
    exit();
  } else {
    $forums->func->standard_error("cannotviewattach");
  }
}

如果我们访问一个附件:

/UpLoadFiles/NewsPhoto/lename=1.gif

这个attachment.php就会老老实实服务器上的1105910809.gif文件的内容返回到浏览器上。后面的filename只是上传时的文件名字。这个变量不用管,如果我们发送一个请求。构造attach变量为“./../../../../../../includes/config.php”:

/UpLoadFiles/NewsPhoto/lename=1.gif

attachment.php文件也会按照正常流程把config.php的内容输出到浏览器。这样MYSQL的连接信息什么都出来了。“../”的个数视目录结构而定。如果“/etc/pass”可读的话,也可以读出该文件的内容。剩下的该怎么做就怎么做了。我制造一把刀不是为了让你去杀人。

解决办法
attachment.php这个文件中,showattachment(),showthumb()函数都是这样的,所以我们都给它过滤一下,搜索两处:

$file = $path."/".$_INPUT['attach'];

然后改为:

$_INPUT['attach'] = str_replace("/", "", substr($_INPUT['attach'], strrpos($_INPUT['attach'], '/')));
$file = $path."/".$_INPUT['attach'];

本来想检查扩展如果不是attach就停止的。可是后来了解到这个论坛如果是图片就不改扩展。不是图片就改成.attach的扩展。所以还是用上面的比较高效一点。呵呵……

后记
第一次见MolyX Board,不得不惊叹该小组的体贴用户的程度。很多功能的确如介绍所说:博采众长,功能强大。速度是慢了一点。特别是后台。不过我觉得一个好的论坛。不能从多出那零点几秒的运行时间而否定它的。



OVER

[1] 页 RedHyphone.Union 投稿邮箱
[特别声明]:
本站文章大多搜索转载自网络中,如果侵犯了您的权利,请告之我们。本站将立即删除。
本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
查看评论】【向上滚屏】【关闭窗口】【 打印
-相关文章
  • phpBB 2.0.12非法获取管理员权限及路径泄露漏洞
  • servU 6.0.0.2 本地权限提升漏洞的利用
  • 微软最新九个严重漏洞
  • cookie欺骗 sendcookie.cpp
  • KorWeblog php远程注入漏洞
  • -文章评论 (关闭)
    ·还没有相关的评论!

    网上大名:
    红旋风网络技术联盟 RHUTech.Union
     
    Copyright © 2000-2007 RedHyphone.Union All Rights Reserved. 红旋风联盟版权所有.皖ICP备05011033号
    中国红旋风网络技术联盟 | www.RedHyphone.net
    Mailto:Redhyphone@gamil.com