XSS攻撃に関連するセキュリティの提供に取り組んでいます。私のウェブサイトでは、次のMIMEタイプのみが許可されています。
XML, CSV, HTML, PLAIN, VND_WAP_WML, APPLICATION_Zip, APPLICATION_PDF, APPLICATION_VND_FDF, APPLICATION_MS_Word, APPLICATION_OCTET_STREAM, APPLICATION_VND_MS_PowerPoint, APPLICATION_X_VISIO, IMAGE_GIF, IMAGE_PNG, IMAGE_TIF, APPLICATION_VND_MS_Outlook, APPLICATION_DOWNLOAD, APPLICATION_JSON
AntiSamyを使用してHTMLファイルをサニタイズしました。データベースにデータをアップロードする前にファイル内のデータが安全であることを確認し、永続的なXSS攻撃を防ぐにはどうすればよいですか?
本当にできません。
X-Content-Type-Options: nosniff
ヘッダーを含むファイルを提供することで、HTMLを実行してコンテンツを盗聴する可能性を減らし、Content-Disposition: attachment
を使用して提供することでそれらがHTMLページとして扱われないようにすることができますが、古いブラウザでも心配する必要があります。について、およびブラウザのプラグイン。 (たとえば、Javaの壊れたSOPおよびFlashのクロスドメインXMLスニッフィング。)
ユーザーがアップロードしたファイルを受け入れる必要がある場合の最善の回避策は、別のドメインからファイルを提供することです。これにより、XSS攻撃によってメインサイトが侵害されることはありません。
できません。
pDFは、他の方法でエンコード/圧縮されたデータを含めることができ、文字列を画像などに追加できます。あなたは3番目のソフトウェアによってアップロードされたすべてのファイルをチェックする必要があります(sourcefireはpdf/zip用のそのようなパーサーのようなものを構築します-lua iircを使用してsnortを拡張するデータですが、私はそのプロジェクトの状態を知りません)