phpBB WEB論壇應用程式 groupcp.php SQL寫入漏洞
日期:2004年1月7日\r
受影響系統:
phpBB Group phpBB 2.0.6
phpBB Group phpBB 2.0.5
phpBB Group phpBB 2.0.4
phpBB Group phpBB 2.0.3
phpBB Group phpBB 2.0.2
phpBB Group phpBB 2.0.1
phpBB Group phpBB 2.0
詳細描述:
phpBB是一款由PHP編寫的WEB論壇應用程式,支持多種資料庫系統,可使用在多種Unix和Linux操作系統下。
\n
phpBB包含的groupcp.php語法對用戶提交的URI參數缺少充分過濾,遠端攻擊者可以利用這個漏洞進行SQL寫入攻擊,可獲得重要資訊或者修改整個資料庫。
問題是groupcp.php程式語法對$sql_in變量缺少充分過濾,提交惡意SQL命令作為參數給$sql_in變量,可以刪除組中任何一個成員,抱括系統管理員。或獲得所有重要敏感信息。
目前廠商還沒有提供修正程式或者升級程式。
----------------------------------------------------------------------------------
救命哦 大大 這新的bug誰可以去外國找找看方法解救啊
我每次來這裡發表bug好像都沒有人要回 = =
[問題]phpbb又出安全漏洞了…可以刪除系統管理員!!!
版主: 版主管理群
版面規則
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
請問上面那一大篇是您自己打的,還是從其它網站轉載過來的呢?(請註明消息來源)
因為這幾天 phpBB 官方並沒有發佈任何新的安全漏洞公告。
據我所知最近一次關於 groupcp.php 的安全性問題是在一週前被發現的,當時 phpBB 官方已經發佈並且修正了:
http://www.phpbb.com/phpBB/viewtopic.php?t=161943
竹貓也有:
http://phpbb-tw.net/phpbb/viewtopic.php?t=22049
應該和你上面提到的是同一件事情吧?
因為這幾天 phpBB 官方並沒有發佈任何新的安全漏洞公告。
據我所知最近一次關於 groupcp.php 的安全性問題是在一週前被發現的,當時 phpBB 官方已經發佈並且修正了:
http://www.phpbb.com/phpBB/viewtopic.php?t=161943
竹貓也有:
http://phpbb-tw.net/phpbb/viewtopic.php?t=22049
應該和你上面提到的是同一件事情吧?
有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。
搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。
搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
Open privmsg.php in your favourite editor. Find the following code fragment:
開啟 privmsg.php 搜尋以下代碼:
Replace with:
覆蓋為:
Find:
搜尋:
Replace with:
覆蓋為:
然後下面還有二段是 groupcp.php 的部份:
Open groupcp.php and find the following:
開啟 groupcp.php 並且搜尋以下代碼:
Replace with:
覆蓋為:
Find:
搜尋:
Replace with:
覆蓋為:
開啟 privmsg.php 搜尋以下代碼:
代碼: 選擇全部
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';
}覆蓋為:
代碼: 選擇全部
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';
}搜尋:
代碼: 選擇全部
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 = '';
}覆蓋為:
代碼: 選擇全部
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 = '';
}然後下面還有二段是 groupcp.php 的部份:
Open groupcp.php and find the following:
開啟 groupcp.php 並且搜尋以下代碼:
代碼: 選擇全部
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 = '';
}覆蓋為:
代碼: 選擇全部
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 = '';
}搜尋:
代碼: 選擇全部
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];
}覆蓋為:
代碼: 選擇全部
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]);
}有任何關於 phpBB 或是架站的問題,請在論壇上公開發表出來,大家一起討論。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。
搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
請不要丟私人訊息問我,因為私訊是用來聊私事的。
這樣作對於解決您的問題一點幫助也沒有,也很沒有效率,小弟我一概謝絕。
搜尋是一種美德,在發問之前,請多加利用頂端的文章搜尋功能,搜尋可能的關鍵字。
確定您想問的問題找不到答案後,再發問。
依夢兒大大 這一篇是我從大陸的安全網站轉載過來的依夢兒 寫:請問上面那一大篇是您自己打的,還是從其它網站轉載過來的呢?(請註明消息來源)
因為這幾天 phpBB 官方並沒有發佈任何新的安全漏洞公告。
據我所知最近一次關於 groupcp.php 的安全性問題是在一週前被發現的,當時 phpBB 官方已經發佈並且修正了:
http://www.phpbb.com/phpBB/viewtopic.php?t=161943
竹貓也有:
http://phpbb-tw.net/phpbb/viewtopic.php?t=22049
應該和你上面提到的是同一件事情吧?
謝謝你提供的修正方法

