私のサイトでは、サイトユーザーがブログ投稿を書くことができます
class BlogPost
{
[AllowHtml]
public string Content;
}
このサイトは、MVC5 インターネット アプリケーション テンプレートを使用して作成され、CSS にブートストラップ 3 を使用します。そこで、http://jhollingworth.github.io/bootstrap-wysihtml5を使用して、リッチ テキスト エディターのすべての JavaScript 部分を処理することにしました。
それは魅力のように機能します。しかし、POST を実行するには[AllowHtml]
、上記のコードのように属性を追加する必要がありました。そのため、データベースに侵入してすべてのユーザーに表示される可能性のある危険なものが怖いです。
フォームに etc のような値<script>alert("What's up?")</script>
を入れてみたところ問題ないようでした... テキストはまったく同じように表示されました (<script>
になりまし<script>
た。しかし、この変換は私が使用した JavaScript プラグインによって行われたようです。
そのため、フィドラーを使用して同じスクリプト タグを使用して POST リクエストを作成しました。今回は、ページが実際に JavaScript コードを実行しました。
脆弱な入力を把握する方法はあります<script>
か<a href="javascript:some_code">Link</a>
...?