Hello there, ('ω')ノ
サーバ側のリクエスト偽造を。
脆弱性:
SSRF
ファイルアップロードのバグ
記事:
https://shahjerry33.medium.com/server-side-request-forgery-a-forged-document-6359ef25058d
概要 :
サーバ側要求偽造(SSRF)攻撃は、ファイアウォールの背後にあって。
外部ネットワークからアクセスできない内部システムを標的に使用して。
SSRF攻撃は、SSH、ローカルホスト、FTP、Gopherなど。
内部で実行されているサービスにアクセスするために悪用される可能性があって。
通常のSSRF攻撃では、攻撃者はサーバに組織のインフラストラクチャ内の。
内部専用サービスへの接続を確立させる可能性があって。
説明 :
プログラムには、アップロードされたファイルタイプの検証が行われない場合に。
ドキュメントをアップロードするオプションがあって。
それはすべてのファイルがアップロードされるのを許していて。
なので、ペイロードを作成して拡張子をhtmlで保存してアップロードして。
しばらくして、BurpのコラボレータサーバでPingBackを取得したので。
whoisコマンドを使用してIPアドレスを確認すると会社自体のものだったので。
ターゲットのIPとは異なってて、インターネットからアクセスできず。
これは基本的なSSRF攻撃で、内部IPを見つけることはできたものの。
それ以上悪用することはできず。
この脆弱性をどのように見つけたかというと。
1.アカウントを作成して、ログインした後に。
ドキュメントをアップロードするオプションを取得して。
2.ペイロードを生成するためにburpコラボレータクライアントを起動して。
「クリップボードにコピー」をクリックしてペイロードをコピーして。
3.コードを使用してhtmlファイルを作成して。
<html>
<body>
<img src=http://
</body>
</html>
コピーしたペイロードを貼り付けてファイルを保存して。
4.ターゲットのWebサイトにhtmlファイルをアップロードして。
5.BurpコラボレータクライアントでPingBackを受け取って。
何が起こったかというと。
htmlファイルをサーバにアップロードすると。
サーバはファイルの内容を読んで。
内部IPを使用してBrupコラボレータクライアントから画像をフェッチしようとして。
それが、Brupコラボレータークライアントに反映されて。
影響 :
攻撃者は信頼関係を悪用して脆弱なアプリからの攻撃をエスカレートして。
不正なアクションを実行する可能性があって。
緩和 :
SSRF攻撃を軽減する良い方法は。
アプリがアクセスする必要のあるIPアドレスやDNS名をホワイトリストに登録して。
SSRFは、アプリケーションの機能とビジネス要件に大きく依存するので。
SSRFに対する普遍的な修正はなくて。
たとえば、緩和策としてアプリはpdf、png、jpeg、tiffなどの画像ファイルのみを。
アップロードできるようにする必要があって。
Best regards, (^^ゞ