v2-ec5d1c4d49703dafc43fe5d2b6fc8063_r.jpg

HTML标签中插入脚本
所有在标签中输出的变量,如果未做任何处理,都能导致直接产生XSS。针对这种脚本插入具体的防御为HtmlEncode编码。如下例。
攻击:

VALUE

如果VALUE值为:

则页面展示为:

防御:
对输出的变量“”进行HtmlEncode编码。则输出为:


3.2HTML属性中插入脚本
与在HTML标签中插入脚本类似。如下例。
攻击

如果VALUE值为:
” onmouseover=”alert(2)
则页面展示为:

防御
对输出的变量“” onmouseover=”alert(2)”进行HtmlEncode编码。则输出为:

3.3

如果VALUE值为:
";alert(3)//
则页面JS为:


防御
对输出的变量“";alert(3)//”进行JavascriptEncode编码。则输出为:
var a = "\"\x3balert\x283\x29\x2F\x2F";
3.4在事件中插入脚本
在事件中输出和在
防御
先判断输出的变量是否以“http”开头,如果不是,则自动添加,以保证不会出现伪协议类的XSS攻击。之后再进行encodeURI编码。则输出为:
test

1 对 “跨站脚本攻击XSS-攻击原理及防御”的想法;

  1. XSS (Cross Site Script),跨站脚本攻击,因为缩写和 CSS (Cascading Style Sheets) 重叠,所以只能叫 XSS。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code