我有一个 MVC 4 应用程序,我试图在其中模拟 XSS 附加。我只有一个按钮和文本框,它只会输出在文本框中输入的值,如下所示。当我<script>alert('xss')</script>
在文本框中自动输入时,异常显示从客户端检测到危险值。为了学习目的,我怎样才能至少防止这种情况发生现在,在听从 Furqan 的建议之后,这个例外并没有出现。但是,我希望出现警报消息框,但它不会出现,而是脚本标记显示为字符串。
有人可以解释为什么会这样吗?
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<h2>@ViewBag.Message</h2>
<form method="post" action="/home/index">
<input type ="text" id="text" name="search" value="@ViewBag.Message"/>
<input type="submit" />
</form>
这些是我的控制器操作。
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(string search)
{
ViewBag.Message = search;
return View();
}