Shikata Ga Nai

Private? There is no such things.

LFI - An Interesting Tweakを訳してみた

Hello there, ('ω')ノ

 

LFI - 興味深い調整を。

 

脆弱性:

 LFI

 

記事:

 https://shahjerry33.medium.com/lfi-an-interesting-tweak-9c5638dbdd1b

 

まとめ:

ローカル ファイル インクルージョン (LFI) は、攻撃者が Web サーバーに

任意のファイルを含めて実行できる Web アプリケーションの脆弱性の一種で。

攻撃者は、サーバ上のローカル ファイルである可能性がある悪意のある

ファイル パスをパラメータとして渡すことにより、

この脆弱性を利用することができ。

これにより、攻撃者は構成ファイルやユーザ資格情報などの機密情報を表示したり、

任意のコードを実行したり、サーバを完全に制御したりすることができて。

 

説明:

WEB-INF/ ディレクトリから web.xml ファイルをダウンロードできるプログラムの

1 つで、ローカル ファイル インクルージョン (LFI) の脆弱性を発見し。

ただし、バグは非常に単純で、少し調整するだけで。

 

Web サイトには、コースの詳細をダウンロードするオプションがあり、

ファイル名 = パラメータを介してサーバからコースの詳細を取得していて。

これは POST 要求で。

Web サイトは IIS サーバで実行されていたため、最初は機密ファイルを

ダウンロードすることを考えていて、それらはすべて制限されていましたが、

正常にダウンロードされた web.xml ファイルをダウンロードすることを考え。

ダウンロードしたファイルには admin のユーザ名とパスワードが

含まれていましたが、ログイン ポータルが見つからなかったため、

重大度がダウングレードされ。

 

この脆弱性をどのように見つけたかというと。

1.「コースの詳細をダウンロードする」オプションがあるウェブサイトに

 アクセスして。

 

コース詳細をダウンロード

 

2.ボタンを右クリックし、[検査] をクリックしてハイパーリンクを確認し、

 どこからファイルをフェッチしているかを確認して。


要素を検査


ハイパーリンクとfilename= Parameter

 

3.IIS サーバを使用していることはわかっていたので、

 web.xml のパスを検索して。

 

WEB-INF/

 

4.?filename=/WEB-INF/web.xml へのパスを編集して。

 

web.xml

 

5.次に、ボタンをクリックしてファイルをダウンロードして開き、

 資格情報を取得して。

 

ダウンロード


ダウンロード済み


クレデンシャル

 

なぜそれが起こったかというと

Web サイトは、ユーザ入力を処理する前に検証およびサニタイズしておらず。

ただし、機密ファイルの大部分はブロックされましたが、

特定のファイルをブロックすることは、理想的なソリューションではなく。

ユーザ入力は、処理する前に検証およびサニタイズする必要があって。

 

影響:

LFI の脆弱性は、Web サーバとそのデータの完全な侵害につながる可能性があるため

深刻な影響を与える可能性があり。

ただし、今回は主要な機密ファイルはすべてダウンロードが制限されていたため、

影響は web.xml ファイルのダウンロードに限定されていたため、影響は中程度で。

 

注:

取得した資格情報を使用してアクセスできるログイン パネルが見つかった場合、

重大度は高くなって。

 


計算されたCVSS:

ベクトル文字列 -  CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

スコア - 5.3 (中)

 

緩和:

ユーザ入力が到着した場合は、入力の検証とサニタイズを行う必要があり。

サーバは、検証なしでユーザ入力を処理すべきではなく。

検証とサニタイズは、クライアント側とサーバ側で行う必要があり。

さらに、アプリケーションは、ユーザ入力を使用してファイル パスを

作成することを避け、代わりにホワイトリスト アプローチを使用して

許可されたファイル パスを指定する必要があり。

Web アプリケーション ファイアウォールは、LFI の脆弱性を悪用する試みを

検出してブロックするためにも使用できて。

 

Best regards, (^^ゞ