3

構文としてMarkdownを使用するWebアプリケーションで作業していますが、直面している唯一の問題は、サーバー側でユーザー入力を検証して、実際にMarkdownであり、POSTリクエストを使用して注入される可能性のあるXSS攻撃ではないようにする方法です。 javascriptを無効にする。

StackOverflowがこれを行うことは知っていますが、どのようにしてXSS攻撃を受けやすい画像を含む特定のHTMLタグを許可しますか?役立つオープンソースパッケージ(例をいただければ幸いです)。

StackOverflowがそれを使用していると聞いたので、クライアント側のバリデーターとしてPagedownを試してみます。

4

2 に答える 2

3

あなたは約を投資する必要があります。1〜2週間の適切なコーディングを行い、(Markdownを介して)着信HTMLをサニタイズできるtagsoupパーサー/ハンドラーを完成させます。

3パスの検証および処理スキームを強くお勧めします。

  1. ミックスモード:Markdownドキュメントの一部である着信HTMLタグをホワイトリストに登録します。
  2. Markdownパーサー:MarkdownをHMTLに変換します
  3. HTMLモード:HTMLドキュメントであるHTMLタグをホワイトリストに登録します。

その後、出力できます。Markdownソースと「バックアップされた」HTMLデータの両方を保存するので、すべての表示操作でこれを行う必要はありません。

于 2012-12-22T00:38:29.947 に答える
2

マークダウンを使用すると、任意のHTMLを含めることができます。これには<script>要素が含まれているため、XSS攻撃でもある有効なマークダウンを持つことができます。

着信データをMarkdownパーサーに通してHTMLを取得し、他のユーザーが送信したHTMLと同じように扱います(要素と属性にホワイトリストを適用するHTMLパーサーに渡します)。

于 2012-12-22T00:31:34.523 に答える