首页 -> 安全研究

安全研究

安全漏洞
PHPslash URL封锁泄漏本地文件漏洞

发布日期:2001-05-18
更新日期:2001-05-18

受影响系统:

phpslash-0.61
- Linux
描述:


PHPSLASH是一个开放源码的PHP工具包。它存在一个远程安全问题,可能泄漏WEB服务器
上的系统文件内容。

问题处在Block_render_url.class中,它没有检查$url变量是否真的是一个正常的URL
请求。如果攻击者输入的内容是一个本地文件名,PHPSLAH将会泄漏该文件的内容。

攻击者要进行攻击必须首先以管理员用户的身份登录。

<*来源:tobozo@users.sourceforge.net
         主页地址:http://madchat.sourceforge.net
*>


测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!


以admin身份登录,并访问菜单中的"BLOCKS"(blockAdmin.php3),用下列信息创建一个新
的封锁记录:

Title : notTrusted
Type : url
Site Location : whatever
Source URL : ./config.php3
Expire Length : 0
Owned by section : home
Data : (empty)
Order number : whatever

这会将./config.php3的内容显示在页面中,攻击者也可以指定其他的系统文件。


建议:

临时解决方法:

tobozo@users.sourceforge.net提供了下列解决方法:

  function parse($block_info) {

    $url = $block_info["source_url"];


    /* check for url structure before opening it (you
don't want
      /etc/passwd to be validated here -- tobozo -- */
    $urlParts = parse_url($url);

    if( (empty($urlParts)) or (!$urlParts) ) {
      $this->output = "Block_render_url.class:: Parse
error reading
[$url]";

      return;
      }

    $scheme         = $urlParts[scheme];
    $HostName       = $urlParts[host];

    if(empty($scheme))  {
      $this->output = "Block_render_url.class:: Missing
protocol declaration
[$url]";
      return;
      }

    if(empty($HostName)){
      $this->output = "Block_render_url.class:: No
hostname in [$url]";
      return;
      }

    if (!eregi("^(ht|f)tp",$scheme)) {
      $this->output = "Block_render_url.class:: No
http:// or ftp:// in
[$url]";

      return;
      }


    /* have to silence 'implode' and 'file' because you
don't want
    the errors showing up on the main page */
    $ary = @file($url);
    $size = count($ary);

    $string = @implode("",$ary);

    if (strlen($string) < 1) {
      $this->output = "Block_render_url.class:  $url
contained no data.";
      return;
      };
    for ($i = 0 ; $i < $size ; $i++) {
      $output .= $ary[$i];
      };
    $this->output = $output;
   }




厂商补丁:

暂无


浏览次数:5182
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障