1 頁 (共 1 頁)

[官方消息]群組權限安全性更新 (2.06C)

發表於 : 2004-02-03 01:38
Oudie
原文在此:New packages available - Security related
網站上也放出更新檔,新的版本為2.06C,您可以自行修正,或是下載PATCH檔修正,這個修正似乎是關於群組加入的問題,一般使用者可以利用漏洞取得權限加入群組。
小弟英文不好,我嘗試翻譯如下,不對之處請更正並請見諒:
我們被警告有原有的2.06版有二處潛在的弱點。一個是跨網站指令碼,其他人可能讓特殊使用者(群組組長)利用一個不正當的資料批准使用者加入群組的重要漏洞。當您還在懷疑這個問題時,這些漏洞已經被確實的利用(特別是群組組長的問題)二者都足夠成為您盡快更新的理由。

打開phpBB2/privmsg.php,找到\r

代碼: 選擇全部

if ( isset($HTTP_POST_VARS['folder']) || isset($HTTP_GET_VARS['folder']) ) 
{ 
   $folder = ( isset($HTTP_POST_VARS['folder']) ) ? $HTTP_POST_VARS['folder'] : $HTTP_GET_VARS['folder']; 

   if ( $folder != 'inbox' && $folder != 'outbox' && $folder != 'sentbox' && $folder != 'savebox' ) 
   { 
      $folder = 'inbox'; 
   } 
} 
else 
{ 
   $folder = 'inbox'; 
} 
替代為\r

代碼: 選擇全部

if ( isset($HTTP_POST_VARS['folder']) || isset($HTTP_GET_VARS['folder']) ) 
{ 
   $folder = ( isset($HTTP_POST_VARS['folder']) ) ? $HTTP_POST_VARS['folder'] : $HTTP_GET_VARS['folder']; 
   $folder = htmlspecialchars($folder); 

   if ( $folder != 'inbox' && $folder != 'outbox' && $folder != 'sentbox' && $folder != 'savebox' ) 
   { 
      $folder = 'inbox'; 
   } 
} 
else 
{ 
   $folder = 'inbox'; 
}
找到\r

代碼: 選擇全部

if ( !empty($HTTP_POST_VARS['mode']) || !empty($HTTP_GET_VARS['mode']) ) 
{ 
   $mode = ( !empty($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode']; 
} 
else 
{ 
   $mode = ''; 
} 
替代為\r

代碼: 選擇全部

if ( !empty($HTTP_POST_VARS['mode']) || !empty($HTTP_GET_VARS['mode']) ) 
{ 
   $mode = ( !empty($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode']; 
   $mode = htmlspecialchars($mode); 
} 
else 
{ 
   $mode = ''; 
} 
儲存

打開phpBB2/groupcp.php,找到\r

代碼: 選擇全部

if ( isset($HTTP_POST_VARS['mode']) || isset($HTTP_GET_VARS['mode']) ) 
{ 
   $mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode']; 
} 
else 
{ 
   $mode = ''; 
}
替代為\r

代碼: 選擇全部

if ( isset($HTTP_POST_VARS['mode']) || isset($HTTP_GET_VARS['mode']) ) 
{ 
   $mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode']; 
   $mode = htmlspecialchars($mode); 
} 
else 
{ 
   $mode = ''; 
} 
找到\r

代碼: 選擇全部

            if ( ( ( isset($HTTP_POST_VARS['approve']) || isset($HTTP_POST_VARS['deny']) ) && isset($HTTP_POST_VARS['pending_members']) ) || ( isset($HTTP_POST_VARS['remove']) && isset($HTTP_POST_VARS['members']) ) ) 
            { 

               $members = ( isset($HTTP_POST_VARS['approve']) || isset($HTTP_POST_VARS['deny']) ) ? $HTTP_POST_VARS['pending_members'] : $HTTP_POST_VARS['members']; 

               $sql_in = ''; 
               for($i = 0; $i < count($members); $i++) 
               { 
                  $sql_in .= ( ( $sql_in != '' ) ? ', ' : '' ) . $members[$i]; 
               } 
替代為\r

代碼: 選擇全部

            if ( ( ( isset($HTTP_POST_VARS['approve']) || isset($HTTP_POST_VARS['deny']) ) && isset($HTTP_POST_VARS['pending_members']) ) || ( isset($HTTP_POST_VARS['remove']) && isset($HTTP_POST_VARS['members']) ) ) 
            { 

               $members = ( isset($HTTP_POST_VARS['approve']) || isset($HTTP_POST_VARS['deny']) ) ? $HTTP_POST_VARS['pending_members'] : $HTTP_POST_VARS['members']; 

               $sql_in = ''; 
               for($i = 0; $i < count($members); $i++) 
               { 
                  $sql_in .= ( ( $sql_in != '' ) ? ', ' : '' ) . intval($members[$i]); 
               }
儲存並且上傳替代原有檔案

發表於 : 2004-04-09 14:09
kwanwaitak
你說是那一版,是不是phpbb2.01

發表於 : 2004-04-09 14:10
kwanwaitak
你說是那一版,是不是phpbb2.01