ホームページ  >  記事  >  バックエンド開発  >  phpBB BBcode_PHP チュートリアルで処理される脆弱性

phpBB BBcode_PHP チュートリアルで処理される脆弱性

WBOY
WBOYオリジナル
2016-07-21 16:09:441259ブラウズ


リリース日: 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]
[/code]

データは 49 バイトしかありませんが、リソースの使用量は非常に多くなります:
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND
2​​5741 nothing 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 kswa pd
25742Everyone 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 は、ネストされたタグのサポートを一時的に無効にする次の変更メソッドを function.php に提供します:

773 行目から始まる bbencode_code 関数を次のように変更します:

function bbencode_code($message, $is_html_disabled)
{
$message = preg_replace("/[code](.*?)[/code]/si", "

コード:
gt;gt; ; TABLE>", $message);
return $message;

} // bbencode_code()

通常削除できない投稿については、手動でデータベースに接続する必要があります削除するには 。このような投稿があるとします:
http://host/forums/viewtopic.php?topic=1162&forum=1&0
$ mysql -uuser -ppasswd
mysql> use databasename;
mysql> from topic_id = 1162; //post_id = 6280 の投稿から削除
mysql>


:

WSS (Whitecell Security Systems) は、非営利の民間テクノロジー組織であり、さまざまなシステム セキュリティ テクノロジーの研究に専念しています。伝統的なハッカー精神を堅持し、テクノロジーの純粋性を追求します。

WSS ホームページ: http://www.whitecell.org/
WSS フォーラム: http://www.whitecell.org/forum/


追加: その後のテストで、Based を含むかなりの数の BBS に同様の問題があることが判明しました。 PHP、CGI、ASP に関しては、皆さんも自分のフォーラムをテストしてみてください。問題がある場合は、この記事を参照して解決してください。



http://www.bkjia.com/PHPjc/314380.html

www.bkjia.com

tru​​e

技術記事リリース日: 2002-04-3 脆弱性カテゴリ: PHP、リモート WEB インターフェイス、サービス拒否バグトラック ID 4432、4434 問題のあるバージョン: phpBB 1.44 以前のバージョンおよび phpBB 2.0 はテストされていません。 トレース...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

\1
gt;gt;

gt;