web-dev-qa-db-ja.com

RFI-アプリケーションサーバーを使用している場合でも、これは可能ですか?

JBossはミドルウェア(アプリケーションサーバー)として機能しているので、ファイルインクルード攻撃に直面する可能性があるかどうか疑問に思いました。(?)私がさまよった理由は、そのような場合、リクエストがどのストレージにも直接送信されないためです。または、JBossが通信の途中で有効性を確認するなどの手順を踏むため、データベースサーバーであるため、アプリケーションサーバーを使用することでRFI/LFIがすでに防止されている可能性があると思いました。

それがまだ可能である場合、ファイルインクルード攻撃を防ぐために何ができるでしょうか? -PHPが悪意のあるコードから十分に耐性があることを確認することは含まれていません


OS:RHEL 7

アプリケーションサーバー:JBoss

1
Parsa Samet

JBossに対するファイルインクルード攻撃が発生する可能性があります(例:エクスプロイトコード: https://www.exploit-db.com/exploits/36553/ )。

リモートコード実行をテストし、そのインスタンスを次のようなファイルインクルージョンに到達させました。

JBoss Remote File Inclusion

これについてのより詳細な説明は次の場所にあります: http://securityxploded.com/JBoss%20Whitepaper.pdf

なぜなら、それはJava Tier;ミドルウェアでさえ、適切なサニタイズまたは検証の欠如のためにファイルインクルード(リモートまたはローカル)がキャッチされるというコンテキストで与えられた攻撃を受けやすい可能性があります。

コード例:

<jsp:include page="<%=(String)request.getParameter(\"template\")%>">

サンプルコードは、ユーザー指定のテンプレート名を受け取り、それをレンダリングするJSPページに含めます。これはローカルファイルインクルードである可能性があります。ただし、RCEはJBossに存在し、ファイルインクルードへのさらなるエスカレーションを実現するために簡単に操作できます。

3