【发布时间】:2015-01-10 17:37:27
【问题描述】:
我们正在开发的一个 ASP.NET 网站的安全扫描报告了以下关于用于搜索的输入字段:
"ctl00%24txtTopQckSearch 参数似乎容易受到 服务器端 JavaScript 代码注入攻击。提交的值 似乎被放入动态评估的 JavaScript 声明,在单引号上下文中。
有效载荷 '+(function(){if(typeof cb715==="undefined"){var a=new Date();do{var b=new Date();}while(b-a
请注意,要手动重现此行为,请使用 报告请求,您将需要更改金丝雀的名称 变量,当前为 cb715。”
我的问题是:
什么是“服务器端 JavaScript 代码注入”(相对于客户端注入 -XSS)?
如何手动重新创建上述服务器端攻击?
如何预防?
谢谢!
【问题讨论】:
-
这意味着注入的代码似乎在您的页面上实际执行。安全扫描在注入和不注入代码的情况下对函数进行计时,观察到注入代码的时间比没有注入代码的时间长,并得出代码实际执行的结论。
-
代码注入是您在页面上找到通常只需要一个数字或字符串的输入,然后在其中粘贴一些实际的 Javascript 代码。如果它执行,就会引起欢闹。
标签: javascript asp.net security