首页 -> 安全研究

安全研究

安全漏洞
myPHPNuke auth.inc.php SQL注入漏洞

发布日期:2003-09-20
更新日期:2003-09-25

受影响系统:
myPHPNuke myPHPNuke 1.8.8
描述:
BUGTRAQ  ID: 8663

myPHPNuke是一款开放源代码的站点内容构建系统。

myPHPNuke包含的auth.inc.php脚本对$aid变量缺少充分过滤,远程攻击者可以利用这个漏洞获得系统敏感信息。

问题代码如下:

*********************
if ((isset($aid)) && (isset($pwd)) && ($op == "login")) {
if($aid!="" AND $pwd!="") {
$q="select pwd from ".$mpnTables['authors']." where aid='$aid'";
$result=mysql_query("select pwd from ".$mpnTables['authors']." where aid='$aid'");
list($pass)=mysql_fetch_row($result);
if ($pass == $pwd) {
$pwd1 = md5($pwd);
mysql_query("update ".$mpnTables['authors']." set pwd = '$pwd1' where aid='$aid'");
$pass = $pwd1;
} else {
$pwd1 = md5($pwd);
}
if($pass == $pwd1) {
$admin = base64_encode("$aid:$pwd1");
setcookie("admin", "$admin", time()+2592000, "", "", ""); // 1 mo is 2592000
}
}
}
********************

由于对$aid没有进行检查,因此可以提交类似如下的SQL查询:

select pwd from mpn_authors where aid='mad' into outfile '/filepath/file.txt'

就可以更改原来系统的逻辑,导致敏感数据泄露给攻击者。

<*来源:Lifo Fifo (lifofifo20@yahoo.com
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=106407252310293&w=2
*>

测试方法:

警 告

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

Lifo Fifo (lifofifo20@yahoo.com)提供了如下测试方法:

select pwd from mpn_authors where aid='mad' into outfile '/filepath/file.txt'

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

* 查找如下代码:

**********
if ((isset($aid)) && (isset($pwd)) && ($op == "login")) {
if($aid!="" AND $pwd!="") {
**********

增加下面一行代码:

**********
$aid=addslashes($aid);
**********

厂商补丁:

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

http://www.myphpnuke.com/

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