だから私は今telnetで楽しみにHTTPを使っていじっていました(すなわちtelnet google.com 80
をタイプインしてランダムなGETとPOSTを異なるヘッダと一緒に入れるなど)が、google.comがそのヘッダで送信するものに出くわしました。知りません。
私は http://www.w3.org/Protocols/rfc2616/rfc2616.html を見てきましたが、グーグルが吐き出しているように見えるこの特定のhttpヘッダーの定義は見つかりませんでした。
GET / HTTP/1.1
HTTP/1.1 200 OK
Date: Wed, 01 Feb 2012 03:42:24 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: PREF=ID=6ddbc0a0342e7e63:FF=0:TM=1328067744:LM=1328067744:S=4d4farvCGl5Ww0C3; expires=Fri, 31-Jan-2014 03:42:24 GMT; path=/; domain=.google.com
Set-Cookie: NID=56=PgRwCKa8EltKnHS5clbFuhwyWsd3cPXiV1-iXzgyKsiy5RKXEKbg89gWWpjzYZjLPWTKrCWhOUhdInOlYU56LOb2W7XpC7uBnKAjMbxQSBw1UIprzw2BFK5dnaY7PRji; expires=Thu, 02-Aug-2012 03:42:24 GMT; path=/; domain=.google.com; HttpOnly
P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."
Server: gws
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Transfer-Encoding: chunked
1000
X-XSS-Protection
が何であるか誰か知っていますか?
X-XSS-Protectionは、Internet Explorer 8(およびそれ以降のバージョン)で理解されるHTTPヘッダーです。このヘッダーはドメインがIE8の「XSSフィルター」のオンとオフを切り替えることを可能にし、それはXSS攻撃のいくつかのカテゴリーを防ぎます。 IE8ではデフォルトでフィルタが有効になっていますが、設定によってサーバがオフになっても切り替えることができます。
X-XSS-Protection: 0
X-XSS-Protection: 1
:XSS保護を強制する(XSS保護がユーザーによって無効にされている場合に便利です)
X-XSS-Protection: 0
:XSS保護を無効にする
トークンmode=block
は、潜在的なXSSリフレクション(=非永続的)攻撃が検出された場合に、ブラウザ(IE8 +およびWebkitブラウザ)が(サニタイズする代わりに)ページをレンダリングするのを防ぎます。
/!\警告、mode=block
はIE8の脆弱性を引き起こします( 詳細 )。
より多くの情報: http://blogs.msdn.com/b/ie/archive/2008/07/02/ie8-security-part-iv-the-xss-filter.aspx そして - http://blog.veracode.com/2014/03/guidelines-for-setting-security-headers/
このレスポンスヘッダは、ユーザエージェントに組み込まれたリフレクティブXSS保護を設定するために使用することができます。現在のところ、MicrosoftのInternet Explorer、Google Chrome、およびSafari(WebKit)のみがこのヘッダーをサポートしています。
Internet Explorer 8には、XSSフィルタと呼ばれる、クロスサイトスクリプティング攻撃の防止に役立つ新機能が含まれていました。このフィルタは、インターネット、信頼済み、制限付きのセキュリティゾーンでデフォルトで実行されます。ローカルイントラネットゾーンのページは、同じヘッダーを使用して保護を選択できます。
質問に投稿したヘッダーについて
ヘッダX-XSS-Protection: 1; mode=block
はXSSフィルタを有効にします。ページをサニタイズするのではなく、XSS攻撃が検出されると、ブラウザはページのレンダリングを妨げます。
2010年3月に、X-XSS-Protectionヘッダーの新しいトークンに対するmode = blockのサポートをIE8に追加しました。
X-XSS-Protection: 1; mode=block
このトークンが存在する場合、潜在的なXSS Reflection攻撃が検出されると、Internet Explorerはそのページのレンダリングを妨げます。外科的にXSS攻撃を取り除くためにページをサニタイズしようとする代わりに、IEは「#」だけをレンダリングします。
Internet Explorerは、クロスサイトスクリプティング攻撃の可能性を認識しています。イベントを記録し、適切なメッセージをユーザーに表示します。 MSDNの記事では、このヘッダーのしくみについて説明しています。
このフィルタがIEでどのように機能するか、
この記事の詳細、 https://blogs.msdn.Microsoft.com/ie/2008/07/02/ie8-security-part-iv-the-xss-filter/
XSSフィルタは、ブラウザを通過するすべての要求/応答を可視化するIE 8コンポーネントとして機能します。フィルタがクロスサイトリクエストでXSSを発見した場合、それがサーバの応答で再生された場合、それは攻撃を識別して否定します。回答できない質問はユーザーに表示されません - IEは悪意のあるスクリプトの実行をブロックします。
新しいXSSフィルタを使用すると、Type 1 XSS攻撃を受けるIE 8 Beta 2ユーザーには、次のような通知が表示されます。
IE8 XSS攻撃通知
ページが変更され、XSS攻撃がブロックされています。
この場合、XSSフィルタはURLのクロスサイトスクリプティング攻撃を識別しています。識別されたスクリプトが応答ページに再生されたため、この攻撃を阻止しました。このように、フィルタはサーバへの最初のリクエストを変更したり、レスポンス全体をブロックしたりすることなく効果的です。
Windows Internet Explorer 8がクロスサイトスクリプティング(XSS)攻撃を検出して軽減すると、クロスサイトスクリプティングフィルターイベントが記録されます。クロスサイトスクリプティング攻撃は、一般に悪意のある1つのWebサイトが他のWebサイトへの正当な要求にJavaScriptコードを挿入(追加)したときに発生します。元の要求は、他のページへのリンクや、共通サービス(ゲストブックなど)を提供するCommon Gateway Interface(CGI)スクリプトなど、一般的に無害です。挿入されたスクリプトは一般に、2番目のWebサイトで許可されていない特権のある情報またはサービスにアクセスしようとします。応答または要求は一般的に悪意のあるWebサイトに戻って結果を反映しています。 Internet Explorer 8の新機能であるXSSフィルターは、URLおよびHTTP POST要求内のJavaScriptを検出します。 JavaScriptが検出された場合、XSSフィルターは反射の証拠(攻撃要求が変更されずに送信された場合に攻撃Webサイトに返される可能性がある情報)を検索します。反射が検出された場合、追加のJavaScriptを実行できないように、XSSフィルターは元の要求をサニタイズします。 XSSフィルタはそのアクションをクロスサイトスクリプトフィルタイベントとして記録します。次の図は、クロスサイトスクリプティング攻撃を防ぐために変更されたサイトの例を示しています。
出典: https://msdn.Microsoft.com/ja-jp/library/dd565647(v = vs85).aspx
Web開発者は自分のコンテンツに対してフィルタを無効にしたいと思うかもしれません。 HTTPヘッダを設定することでそうすることができます。
X-XSS-Protection: 0
のセキュリティヘッダの詳細
あなたはこれで見ることができます 便利なHTTPヘッダのリスト 。
X-XSS-Protection:このヘッダーは、最近のWebブラウザに組み込まれているクロスサイトスクリプティング(XSS)フィルタを有効にします。とにかく通常はデフォルトで有効になっているので、このヘッダーの役割は、この特定のWebサイトのフィルタがユーザーによって無効にされている場合に再び有効にすることです。このヘッダーはIE 8+およびChromeでサポートされています(どのバージョンかわからない)。アンチXSSフィルタはChrome 4で追加されました。そのバージョンがこのヘッダを尊重するかどうかは不明です。