
CVE-2022-31147 は、matthiasmullie/minify におけるパストラバーサルの脆弱性です。このガイドは、セキュリティチームが Linux および Windows 上で Python と curl を使用して任意のファイル読み取りをテストするのに役立ちます。自動化されたペイロード生成、手動検証、および脆弱性評価のための安全なプラクティスについて説明しています。
このガイドでは、広く使用されている matthiasmullie/minify ライブラリに影響する重大なパストラバーサル脆弱性である CVE-2022-31147 をテストするための包括的な方法論を提供します。この脆弱性により、攻撃者は minify エンドポイントにおける入力サニタイズの不備を悪用し、Linux および Windows サーバーの両方で任意のファイル読み取り操作を実行できる可能性があります。このガイドは、この脅威に対する Web アプリケーションの露出を評価しようとするセキュリティ専門家、ペネトレーションテスター、研究者を対象としています。
このガイドの中心となるのは、自動化された Python 概念実証スクリプトです。このスクリプトは、さまざまなトラバーサルペイロードを体系的に生成してテストします。これらのペイロードは、さまざまな深さのディレクトリトラバーサル(../)、複数のエンコーディング方式(URL エンコーディングや二重エンコーディングなど)、およびエンドポイントのバリエーション(偽の拡張子やクエリパラメータなど)を利用して、一般的なルーティングおよびフィルタリングメカニズムをバイパスします。これらの手法を活用することで、基本的な Web アプリケーションファイアウォールやカスタムルーティングロジックによって保護された環境であっても、脆弱な構成を検出する可能性を最大化します。
検出精度は、レスポンスコンテンツを分析して既知のファイルマーカーを探す組み込みのヒューリスティックによってさらに向上します。Linux ターゲットの場合、スクリプトは /etc/passwd やその他の機密ファイルに典型的なパターンを検索し、Windows システムの場合は win.ini などのファイル内の指標を探します。このアプローチにより、悪用の成功を確実に特定し、誤検知を最小限に抑え、検証プロセスを合理化できます。
自動テストに加えて、このガイドでは curl を使用した手動検証手法についても概説しており、実践者は対象を絞った分析や発見事項の独立した検証のためにカスタムリクエストを作成して送信できます。明示的な許可が与えられたシステムでのみ評価を実施することの重要性を含め、安全かつ許可されたテストの推奨事項が全体を通して強調されています。
このガイドは、迅速な検証と詳細な分析の両方をサポートするように設計されており、カスタムファイルターゲットや高度なバイパス戦略にも対応します。より広範な脆弱性評価ワークフローに統合でき、是正とリスク管理のための実用的な洞察を提供します。提示された方法論に従うことで、セキュリティチームは環境内の CVE-2022-31147 の露出を効果的に特定、検証、および対処し、Web アプリケーションの全体的なセキュリティ態勢を強化できます。
python3 cve-2022-31147_poc.py --base https://yourdomain.tld/cdn/minify --linux --file /etc/passwd
python3 cve-2022-31147_poc.py --base https://yourdomain.tld/cdn/minify --windows --file C:\Windows\win.ini
サーバー上に無害なファイルを作成し、それを読み取ってみます:
python3 cve-2022-31147_poc.py --base https://yourdomain.tld/cdn/minify --file /var/www/test.txt
curl -i "https://yourdomain.tld/cdn/minify/../../../../../../etc/passwd"
curl -i "https://yourdomain.tld/cdn/minify/../../../../../../windows/win.ini"
curl -i "https://yourdomain.tld/cdn/minify/%2e%2e/../%2e%2e/../../etc/passwd"
curl -i "https://yourdomain.tld/cdn/minify/../../../../../../etc/passwd.css"
https://yourdomain.tld/cdn/minify を実際のターゲット URL に置き換えてください。