1. 什么是XSS?
XSS,cross site scripting(原本缩写是CSS,但是这跟层叠样式的缩写就重叠了。所以,业内改为XSS),跨站脚本攻击。这是一种攻击者通过在用户页面插入HTML标签和javascript代码来执行某些非法操作的攻击手段。
2. XSS产生的原因?
XSS产生的原因是开发者获取到外部HTML字符后,不做任何防范,直接将它入到用户页面中而导致的。
3. XSS具体的防范措施是?
鉴于XSS产生的原因,防范XSS的指导方针是:永远都不用相信用户所能触碰到的数据。
具体的防范措施就是:对一些XSS敏感的字符进行过滤或者HTML实体编码。一般而言,XSS敏感的字符有六个:
- <(
<) - > (
>) - ' (
') - " (
") - / (
/) - & (
&)
4. 题外话
现代浏览器默认内置了XSS-audit模块来防范XSS攻击。所以,如果你想在商用的现代浏览器中去测试,模拟XSS攻击已经是很难的了。幸运的是,有一个网站可以通过帮助我们构建XSS攻击来了解XSS:Test Your XSS Skills Using Vulnerable Sites。