1500$: CR/LF Injection から学ぶ

ソース:

medium.com

脆弱性:CRLFインジェクション

 

訳:

CR/LF (キャリッジ リターン/ライン フィード) インジェクションについて

CR/LF (キャリッジ リターン/ライン フィード) インジェクションは、セキュリティ脆弱性の一種で。
CR/LF は、2 つの ASCII 制御文字のシーケンスを指します: キャリッジ リターン (CR、ASCII コード 13) とライン フィード (LF、ASCII コード 10)。
これらの文字は、テキストファイルで行の終わりを示し、テキストの表示または印刷時にカーソルまたはプリント ヘッドの位置を制御するために使用されます。
CR/LF インジェクションの脆弱性は、攻撃者がアプリケーションの動作を操作するために入力フィールド、ファイル拡張子、またはファイルのアップロードに CR/LF 文字を挿入した場合に発生します。
これにより、ヘッダーの変更、悪意のあるコードの挿入、ファイル コンテンツの操作などの悪用が行われる可能性があります。

 

ターゲットを理解する: Exahub

ExaHub (プライベート プログラムの仮想名) は、Exa プログラミング言語を使用する愛好家と専門家の両方を対象としたプラットフォームです。
Exa は、その速度とパフォーマンスで有名な高級プログラミング言語であり、科学技術コンピューティング、機械学習、データ サイエンスなどの分野で大きな注目を集めています。
ExaHub は、ユーザーがさまざまなリソースにアクセスし、プロジェクトで共同作業し、Julia エコシステムに合わせて調整されたツールを活用できる集中ハブとして機能します。
JuliaHub は、プロジェクト管理からデータ視覚化まで、開発ワークフローを合理化し、コミュニティの参加を促進するように設計された一連の機能を提供します。

 

問題を理解する:

ExaHub で特定された脆弱性は、ファイルのアップロード時の CR/LF インジェクションを中心に展開していて。
この欠陥により、悪意のある攻撃者がヘッダーを操作できるようになり、Cookie の操作や他のユーザーの強制ログアウトにつながる可能性があって。
この問題の根本原因は、ファイルのアップロード プロセス中の入力検証が不十分であることにあります。

再現する手順:

  1. ExaHub アカウントにアクセスし。
  2. 「ファイル」セクションに移動し。
  3. ファイルをアップロードし、アップロード要求を傍受して。
  4. ファイル名の後にペイロード %0AClear-Site-Data%3A%22cookies%22%0A を追加して、Content-Disposition ヘッダーを変更し。
  5. 変更したリクエストを送信し、アップロードされたファイルのダウンロードを試みて。
  6. 他のユーザーがファイルをダウンロードするとロックアウトされて。
    これは、cr/lf インジェクションによって実行できる複数のタスクの 1 つで。

 

 

潜在的な悪用:

強制ログアウトやセッション操作とは別に、攻撃者はこの脆弱性を悪用して他のユーザーの Cookie を操作および設定する可能性があり。 %0ASet-Cookie%3A+crlfinjection%3D+value+ などのペイロードを挿入するか、xss の場合

 

• /%3f%0d%0aLocation:%0d%0aContent-Type:text/html%0d%0aX-XSS-Protection%3a0%0d%0a%0d%0a%3Cscript%3Ealert%28document.domain%29%3C/script%3E ``

 

セッションをハイジャックしたり、不正アクセスを取得したり、その他の悪意のあるアクティビティを実行したりする可能性があります。 

 

ほなほな。