2016-08-05 6 views
2

は、ファイルがHTTP "実行しないでください!"私のウェブサイト上でヘッダー

「/ファイル/ FILE_ID」、

のようなURLで共有することができ、サーバは、あまりにも指定されているファイル名バック正確ファイルの内容を送信します。

私はContent-Typeヘッダーを使って何かをするべきだと思います。私が言う場合

Content-Type: "image" Firefoxはhtmlファイルも喜んで実行します。私がちょうど言ってたと思う1については

Content-Type: "image/jpeg"

が解決しようとするようだ「私はイメージです!」基準によって十分でなければならない。たとえば、タイプミス( "jpeg"を残して)をすると、私はサイト全体を悪用する可能性があります。さらに、すべての一般的なイメージタイプを見て、それらのヘッダーを実装する必要があります。

第2に、このためのヘッダーがあれば素晴らしいでしょう(実行しないでください)。 1つはありますか?

私はいくつかの "X-XSS-Protection"ヘッダーを見ましたが、IEのみが理解できるもののように見えます。申し訳ありませんが、これがどこかで答えられたら、私はそれを見つけませんでした。

答えて

2
X-Content-Type-Options: nosniff 

は、ブラウザがContent-Typeあなたが送信を尊重しますあなただけ(例えばない SVG!)既知の安全なタイプを送信するように注意しているので、もし、それは大丈夫です。

CSPは、第二防衛ラインであるかもしれないこともあります:(同一生成元ポリシーの保護を得るために、完全に別のトップレベルドメインのセキュリティホストサードパーティのコンテンツについては非常に注意を払っている

Content-Security-Policy: default-src 'none' 

サイト悪意のあるサブドメインからのクッキー注入を避ける)。

1

伝統的に、さまざまな保護を回避する多くの方法がありました。したがって、完全防衛は、複数の仕組み(深い守備)に依存しています。

大企業の大企業では、このようなファイルをカスタムドメイン(googleusercontent.comなど)にホストすることでこれを解決しています。攻撃者がそのようなドメインでスクリプトを実行できる場合、少なくともそれはメインWebサイトへのXSSアクセスを提供しません。

X-Content-Type-Optionsは標準ではないヘッダーで、非常に最近までFirefoxでサポートされていませんでしたが、依然として防衛の一部です。多くのフォーマットで有効なファイルを作ることができます(私は "有効な" gif、html、javascript、pdfファイルを持っています)。

イメージは、通常、直接(x-content-type-optionsを使用して)配信できます。

他のファイルはcontent-type text/plainで提供することができますが、他の人には "Content-Disposition:attachment"を提供してブラウザに表示する代わりにダウンロードを強制します。

関連する問題