Hello there, ('ω')ノ
Symfony WebFrameworkWebアプリケーションの複数の脆弱性を見つけた方法を。
脆弱性:
デバッグモードが有効
情報開示
記事:
今回は、SymfonyWebFrameworkを使用するWebアプリケーションで。
複数の脆弱性を見つけた方法を説明することに。
Symfony Webフレームワークには、SymfonyProfilerと呼ばれる機能があって。
このプロファイラコンポーネントは。
デバッグモードが有効になっている場合にのみ使用できて。
Symfony Webフレームワークははるかに安全ですが、デバッグモードを有効にすると。
このフレームワークは非常に脆弱になって。
symfony Webプロファイラーコンポーネントは。
攻撃者が悪用できるWebアプリケーションの機密情報を公開するので。
なぜ開発者はデバッグコンポーネントを有効にするのかというと。
デバッグコンポーネントは、PHPコードのデバッグを容易にするツールを提供して。
PHPコードのデバッグに役立ついくつかのツールを提供して。
このコンポーネントは、開発段階で開発者を大いに助け。
Symfonyはデフォルトでdev、test、prod(本番)と呼ばれる3つの環境を提供して。
Symfonyは、実稼働環境でプロファイラツールを無効にすることをお勧めして。
しかし、開発者はそれを忘れてWebアプリケーションを脆弱にすることがあって。
脆弱性を見つけた方法(ステップバイステップ):
ターゲットサイトが、https://redacted.comであると仮定すると。
ターゲットのサブドメイン(https://sub.redacted.com)でこの脆弱性を発見して。
最初に、サブドメインを参照して、使用されているWebテクノロジーを確認して。
Wappalyzerアドオンを使用して、https://sub.redacted.comが。
「Symfony」Webフレームワークを使用していることを発見して。
次に、資産発見フェーズに進むことに。
最初は、FFUFを使用してディレクトリをファズしようとして。
「app_dev.php」という興味深いファイルを見つけて。
Symfonyのデバッグモードが有効になっている可能性があることを示していて。
ブラウザで 「https://sub.redacted.com/app_dev.php」を閲覧するたびに。
デバッグモードが有効になっていて。
Symfonyプロファイラにアクセスするためのプロファイラトークンを取得して。
また、phpinfoファイルの場所を取得して。
今までのところ、重大度は中程度で。
Symfonyのデバッグツールバーでは、機密情報を公開する可能性のある。
ファイルを読み取ることができることを知っていたので。
もっと掘り下げてみることに。
いくつかの記事を調べて、SymfonyWebフレームワークのドキュメントを読んで。
Symfonyバージョン3.4データベースのデフォルトの設定ファイルの場所が見つかって。
それは、app/config/parameters.ymlで。
下記は、Symfonyバージョン3.4設定ドキュメントで。
https://symfony.com/doc/3.4/best_practices/configuration.html
そこで、設定ファイルとブームを開こうとして。
データベースとメールサーバのクレデンシャルが見つかって。
影響:
公開された資格情報の影響は、データ侵害、システムの侵害、ブランドの評判の低下。
および経済的損失に使用される可能性があるため、さまざまな結果をもたらして。
緩和:
APP_DEBUGをfalseに設定して、デバッグモードを無効にして。
実稼働環境では、デバッグモードを無効にする必要があって。
ffuf.sh
おまけ:
Symfony Webフレームワークを使用するWebアプリケーションを見つけた場合は。
デバッグモードとプロファイラを確認することを忘れないで。
開発者が無効にするのを忘れている可能性があって。
https://example.com/app_dev.php/_profiler
https://example.com/app_dev.php
Best regards, (^^ゞ