标签:script https 窗口 foo blog 变量 send layout sage
和SQL注入的原理类似
如下面的代码
简单例子 正常发送消息: http://www.test.com/message.php?send=Hello,World! 接收者将会接收信息并显示Hello,Word 非正常发送消息: http://www.test.com/message.php?send=<script>alert(‘foolish!’)</script>! 接收者接收消息显示的时候将会弹出警告窗口
摘抄自:https://www.cnblogs.com/phpstudy2015-6/p/6767032.html
为了防止XSS(跨站点脚本注入)攻击,Razor是自动进行HTML编码的。所以在Asp.net MVC 中引擎对HTML自动进行编码的,不存在Xss攻击
如下代码:
@{
Layout = null;
string sc = "<script>alert(‘这是警告框‘)</script>";
}
<div>@sc</div>
在这里我们给sc变量赋值时使用了JavaScript代码,但是使用@sc在div标记中输出时,却没有弹出警告框。
如果不想进行HTML自动编码,可以在MVC中使用@HTML.Raw(代码);进行编写
原因是:服务端过分信赖客户端的信息,从而没有进行客户端信息检查,没有进行过滤处理
标签:script https 窗口 foo blog 变量 send layout sage
原文地址:https://www.cnblogs.com/HuangLiming/p/10192525.html