發布日期:2002-04-3
漏洞類別:PHP,遠程WEB接口,拒絕服務

bugtraq ID 4432、4434

存在問題的版本:

phpBB 1.44,更低的版本及 phpBB 2.0 未測試。


描述:

phpBB是一個被廣 " /> 欧美亚洲日韩一道免费观看,耻辱の奴隷淑女中文字幕,JIZJIZJIZ 日本老师水多

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

phpBB BBcode處理的漏洞


發布日期:2002-04-3
漏洞類別:php,遠程WEB接口,拒絕服務

bugtraq ID 4432、4434

存在問題的版本:

    phpBB 1.44,更低的版本及 phpBB 2.0 未測試。


描述:

    phpBB是一個被廣泛應用的基于php的論壇。發現其BBcode中對于“源代碼”類的引用處
理存在漏洞,通過發送特殊格式的轉義字符串可導致數據庫的損壞以及服務器的 CPU、內存
資源大量消耗。


詳細:

    phpBB在對“源代碼”類的引用處理不當,主要是為了要支持鑲套的標記
而造成的。有問題的代碼是functions.php中的bbencode_code函數。

    當我們提交一個這樣的貼子:





實際向數據庫中存儲的數據是這樣:

[1code]
/0/0/0/0/0/0/0
[/code1][1code]
/0/0/0/0/0/0/0
[/code1][1code]
/0/0/0/0/0/0/0
[/code1][1code]
/0/0/0/0/0/0/0
[/code1][1code]
/0/0/0/0/0/0/0
[/code1][1code]
/0/0/0/0/0/0/0
[/code1][1code]
/0/0/0/0/0/0/0
[/code1]

即實際系統要負擔的數據量是輸入的“/0”的數量的平方,如果發送 1 MByte的數據,系統
實際處理的數據將接近 1 TByte。

這是我們在實驗機器上發送一個包含''*800的帖子時的資源占用情況:

PID  USER      PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND
8643 nobody    13   0   212M  81M 13604 D     8.0 65.7   0:07 httpd

提交貼子后會提示出錯:

Could not enter post text!

但實際上貼子的標題和提交者這兩個數據已存到數據庫中,但內容和其他一些數據沒有,所
以打開的時候會出現錯誤頁面。而且這樣的帖子無法用正常的方法刪掉,只能用直接連接到
數據庫來刪除。以下是提交不同數據量的結果:

''* =<583  正常貼上,可以刪除
''* 584    正常貼上,可以編輯,但不能刪除
''* 585    提示 Could not enter post text! 但貼子也沒有
''* 586    正常貼上,可以刪除
''* 587    提示 Could not enter post text! 但貼子也沒有
''* 588    正常貼上,可以刪除
''* 589    提示 Could not enter post text! 但貼子也沒有
''* >=590  提示 Could not enter post text! 出現刪不掉的帖子

如果發送鑲套的標記則占用資源更多,我們在實驗機器上發送這樣的帖子:

復制代碼 代碼如下:[code]/0/0[/code]

雖然只有49Byte的數據,但資源占用非常可觀:
  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND
25741 nobody    14   0 11828 9996   416 R    99.9  7.8   2:38 httpd

幾秒鐘后產生了大量的數據,內存大量消耗:
  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND
    3 root      10   0     0    0     0 SW    2.5  0.0   4:13 kswapd
25742 nobody    17   0  265M  90M 52104 R    25.1 73.0   1:45 httpd

這樣的鑲套帖子是不會存儲到數據庫中的,但隨著鑲套的增加資源的占用會按照幾何級數遞
增。如果一次發送更多數據,或者不斷的發送,可以導致系統資源大量占用,最終拒絕服務。

實驗環境:linux 2.4.10   Apache/1.3.23   php 4.12


解決方案:

1、暫時禁用BBcode。
2、alert7給出了functions.php的如下修改方法,暫時停用對鑲套標記的支持:

把773行開始的bbencode_code函數改為:

function bbencode_code($message, $is_html_disabled)
{
$message = preg_replace("http://[code/](.*?)/[//code/]/si", "<!-- BBCode Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Code:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><PRE>//1</PRE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode End -->", $message);
return $message;

} // bbencode_code()

    對于無法正常刪除的帖子,需要手工連接數據庫刪除。假設有這樣一個帖子:
http://host/forums/viewtopic.php?topic=1162&forum=1&0
可以這樣:
$ mysql -uuser -ppasswd
mysql> use databasename;
mysql> select *  from topics where topic_id = 1162; //得到post_id
mysql> delete from posts where post_id = 6280;
mysql> delete from posts_text where post_id = 6280;
mysql> delete  from topics where topic_id = 1162;


關于我們:

    WSS (Whitecell Security Systems),一個非營利性民間技術組織,致力于各種系統安
全技術的研究。堅持傳統的hacker精神,追求技術的精純。

WSS 主頁:http://www.whitecell.org/
WSS 論壇:http://www.whitecell.org/forum/


補充:后來的測試發現相當多的BBS都有類似問題,包括基于php、cgi、ASP的,希望大家自己對自己的論壇進行測試,如有問題,參考本文酌情解決。

php技術phpBB BBcode處理的漏洞,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 好大好爽好深舒服死了 | 婷婷四房播客五月天 | 尹人久久大香找蕉综合影院 | 99在线国产视频 | 亚洲qvod图片区电影 | 亚洲欧美激情精品一区二区 | 艳鉧动漫片1~6全集在线 | 亚洲性夜夜夜色综合网 | 国产互换后人妻的疯狂VIDEO | xxx69欧美| 国语自产一区第二页 | 国产精品久久vr专区 | 国产网红主播精品福利大秀专区 | 99精品视频免费在线观看 | 无码人妻精品国产婷婷 | 午夜亚洲动漫精品AV网站 | 青青草国产精品久久 | av先锋影音资源男人站 | 九九免费的视频 | xxxxhdvideos动漫| 韩国女主播内部vip自带氏巾 | 青草伊人久久 | 蜜芽资源高清在线观看 | av先锋影音资源男人站 | 日本视频中文字幕一区二区 | 99精品久久久久久久 | 99视频国产在线 | 国产精品日本一区二区在线播放 | 国产精品久久久久永久免费看 | 国语对白刺激真实精品 | 国产亚洲精品久久无码98 | 思思99热久久精品在线6 | 97国产在线观看 | 年轻的的小婊孑2中文字幕 你是淫荡的我的女王 | 菠萝菠萝蜜在线观看视频 | 亚洲男同tv | 亚洲不卡一卡2卡三卡4卡5卡 | 亞洲人妻AV無碼在線視頻 | 国产精人妻无码一区麻豆 | 国产午夜福利100集发布 | 国产亚洲精品久久久久久国模美 |