phpBB BBcode_PHP チュートリアルで処理される脆弱性
リリース日: 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
25741 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", "
\1 ログイン後にコピー
| gt;gt; 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 true このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
![]() ホットAIツール![]() Undresser.AI Undressリアルなヌード写真を作成する AI 搭載アプリ ![]() AI Clothes Remover写真から衣服を削除するオンライン AI ツール。 ![]() Undress AI Tool脱衣画像を無料で ![]() Clothoff.ioAI衣類リムーバー ![]() AI Hentai GeneratorAIヘンタイを無料で生成します。 ![]() 人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
1 か月前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最高のグラフィック設定
1 か月前
By 尊渡假赌尊渡假赌尊渡假赌
アサシンのクリードシャドウズ:シーシェルリドルソリューション
3週間前
By DDD
Windows11 KB5054979の新しいものと更新の問題を修正する方法
2週間前
By DDD
Will R.E.P.O.クロスプレイがありますか?
1 か月前
By 尊渡假赌尊渡假赌尊渡假赌
![]() ホットツール![]() メモ帳++7.3.1使いやすく無料のコードエディター ![]() SublimeText3 中国語版中国語版、とても使いやすい ![]() ゼンドスタジオ 13.0.1強力な PHP 統合開発環境 ![]() ドリームウィーバー CS6ビジュアル Web 開発ツール ![]() SublimeText3 Mac版神レベルのコード編集ソフト(SublimeText3) ![]() ホットトピック
Gmailメールのログイン入り口はどこですか?
![]() ![]()
CakePHP チュートリアル
![]() ![]()
Steamのアカウント名の形式は何ですか
![]() ![]()
NYTの接続はヒントと回答です
![]() ![]() ![]() PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。 ![]() Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、 ![]() あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。 ![]() このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます ![]() JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。 ![]() 文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります ![]() 静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。 ![]() PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。 ![]() |