phpBB Group phpBB2是一款开放源代码PHP论坛程序。 phpBB2对用户提交的URL输入缺少充分过滤,远程攻击者可以利用这个漏洞以WEB进程权限删除系统任意文件。 由于多个缺陷的组合允许攻击者控制传递给unlink()调用的参数,导致删除系统文件。第一个缺陷存在于avatar gallery中,用户允许指定所需avatar的目录名部分,不过由于对\"/../\"字符缺少充分过滤,可允许用户脱离avatar目录限制。问题代码如下: if ( file_exists(@phpbb_realpath($board_config[\'\'avatar_gallery_path\'\'] . \'\'/\'\' . $avatar_filename)) & & ($mode == \'\'editprofile\'\') ) { $return = \", user_avatar = \'\'\" . str_replace(\"/\'\'\", \"\'\'\'\'\", $avatar_filename) . \"\'\', user_avatar_type = \" . USER_AVATAR_GALLERY; } Avatar然后由如下代码调用: $avatar_img = ( $board_config[\'\'allow_avatar_local\'\'] ) ? \'\'<img src=\"\'\' . $board_config[\'\'avatar_gallery_path\'\'] . \'\'/\'\' . $profiledata[\'\'user_avatar\'\'] . \'\'\" alt=\"\" border=\"0\" />\'\' : \'\'\'\'; 当一个avatar值被删除时会调用unlink()函数,但由于这个函数也存在一个目录遍历问题,因此通过提交大量\"/../\",攻击者借此可以删除 系统任意文件,usercp_register.php脚本中存在如下受影响代码: if ( @file_exists(@phpbb_realpath(\'\'./\'\' . $board_config[\'\'avatar_path\'\'] . \'\'/\'\' ....
phpBB Group phpBB2是一款开放源代码PHP论坛程序。 phpBB2对用户提交的URL输入缺少充分过滤,远程攻击者可以利用这个漏洞以WEB进程权限删除系统任意文件。 由于多个缺陷的组合允许攻击者控制传递给unlink()调用的参数,导致删除系统文件。第一个缺陷存在于avatar gallery中,用户允许指定所需avatar的目录名部分,不过由于对\"/../\"字符缺少充分过滤,可允许用户脱离avatar目录限制。问题代码如下: if ( file_exists(@phpbb_realpath($board_config[\'\'avatar_gallery_path\'\'] . \'\'/\'\' . $avatar_filename)) & & ($mode == \'\'editprofile\'\') ) { $return = \", user_avatar = \'\'\" . str_replace(\"/\'\'\", \"\'\'\'\'\", $avatar_filename) . \"\'\', user_avatar_type = \" . USER_AVATAR_GALLERY; } Avatar然后由如下代码调用: $avatar_img = ( $board_config[\'\'allow_avatar_local\'\'] ) ? \'\'<img src=\"\'\' . $board_config[\'\'avatar_gallery_path\'\'] . \'\'/\'\' . $profiledata[\'\'user_avatar\'\'] . \'\'\" alt=\"\" border=\"0\" />\'\' : \'\'\'\'; 当一个avatar值被删除时会调用unlink()函数,但由于这个函数也存在一个目录遍历问题,因此通过提交大量\"/../\",攻击者借此可以删除 系统任意文件,usercp_register.php脚本中存在如下受影响代码: if ( @file_exists(@phpbb_realpath(\'\'./\'\' . $board_config[\'\'avatar_path\'\'] . \'\'/\'\' . $userdata[\'\'user_avatar\'\'])) ) { @unlink(@phpbb_realpath(\'\'./\'\' . $board_config[\'\'avatar_path\'\'] . \'\'/\'\' . $userdata[\'\'user_avatar\'\'])); } 攻击者可以修改来自gallery的\"avatarselect\"返回值指向要删除的文件,可导致以WEB进程权限删除任意文件。