5

Java アプリケーションでフレーム インジェクションを防ぐにはどうすればよいですか?

侵入テストのように、ハッカーがデモ HTML ページの下書きを作成し、そのページ内で動作中のアプリケーションの URL を持つ iframe を使用した場合、ハッカーはその URL/リクエスト ( iframe で作成されます)。

これがハッカーのファイル、test.html だとします。

<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"   \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head><body>
<iframe id="inner" src="http://hostname:8080/Application_Name/ABC/DEF/SomePage.jsp?ABC=QWERTYL&XYZ=1&CDE=24" width="600" height="400" scrolling="yes">

</iframe>
</body>
</html>

これで、ハッカーはアプリケーション内のデータを取得できるようになりました。これを止める方法は?

4

1 に答える 1

7

これはクリックジャッキング攻撃です: https://www.owasp.org/index.php/Clickjacking これを防止する最も簡単な方法は、ヘッダー「X-Frame-Options」に値「DENY」を追加することです。これはfilterを使用して実行できます。それを web.xml に登録し、次のようなコードを使用します。

@Override
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException,
            ServletException {
    HttpServletResponse response = (HttpServletResponse) resp;
    response.addHeader("X-Frame-Options", "DENY");    
    chain.doFilter(req, resp);
} 

最新のブラウザはすべてこのヘッダーをサポートしていますが、レガシー ブラウザを使用しているユーザーを保護するには、UI に防御的な JavaScript も必要です。詳細: https://www.owasp.org/index.php/Clickjacking_Defense_Cheat_Sheet

于 2015-04-24T11:35:34.803 に答える