1

httponly攻撃を防ぐためにフラグを使用する多くの方法を試しましXSSたが、すべて失敗しました。

true一般的な方法は、context.xml でuse HttpOnly= を設定することです。

結果をテストするには: Java コードで 2 つのテスト パラメータを Cookie に設定し、jsp ファイルの前に に警告するための JavaScript を含めます。Javadocument.cookieコードで設定された 2 つのテスト パラメータは get であり、警告に表示されます。

Java コード:

 Cookie cookie = new Cookie("httponlytest","testsss");  
 response.addCookie(cookie); 
 Cookie cookie1 = new Cookie("testhttponly","successfu"); 
 response.addCookie(cookie1); 

jspファイルのjavascript:

alert("cookie------------"+document.cookie);
  1. 私が間違ったことはありますか?
  2. 方法が分かれば大変助かります。
4

2 に答える 2

0

HttpOnly を知らないその他の場合:

HttpOnly=trueは、ブラウザーの Cookie に JavaScript がアクセスできないようにする比較的新しい属性です。

したがって、JSESSION_ID へのアクセス (Java セッションのハイジャック) などを防ぐためのブラウザーのみのセキュリティ (XSS) 手法です。

したがって、常に Cookie 自体に HttpOnly 属性を設定できます。JavaセッションIDの場合、デフォルトになったと思いますが、少なくともそうあるべきです。

<Context useHttpOnly="true">

これは JSESSIONID でのみ機能するようです。SOでこれを見つけました。

于 2013-04-26T07:47:12.767 に答える
0

最近、私はhttp-only=true Cookieを扱っていました。調査中に、Mozilla と Chrome では Java アプレットがhttp-only=true Cookieを使用することを許可していないことがわかりました。JsessionidSSO Cookie へのアクセスで問題が発生しました。JAVA のバグに関する調査中に、このバグを発見しました。IE では、 http のみのCookie にアクセスするためのInternetGetCookieEx() APIが提供され、 IE8 以降のバージョンでのみ使用可能なフラグINTERNET_COOKIE_HTTPONLYが追加されたため 、Cookie の読み取りに問題はありません。そのため、現在のバージョンは Java 7 update21 ですが、Java が Java 7 Update 40 で修正を提案したため、http のみの Cookie にアクセスする問題はまだ解決されていません。

于 2013-05-28T17:45:37.110 に答える