XSS攻击原理和防范

来源:互联网 发布:文字特殊符号软件下载 编辑:程序博客网 时间:2024/04/30 22:36

XSS攻击全程是跨站脚本攻击。他是WEB应用程序最常见的攻击手段之一。跨站脚本攻击指的是攻击者在网页中嵌入恶意脚本程序,当用户打开网页时,脚本程序便会开始爱客户端的浏览器上执行,已盗取客户端的cookie,用户名密码等。下载执行木马程序,甚至能获取客户端admin权限。

xss攻击原理
    场景一
假设如下表单

<input id='company' name='company'  value="lenovo "/>
表单company的内容来自用户的输入,当用户输入的公司不是正常的字符串,而是

 --%><script type="text/javascript">alert("警告")</script><%--
由于某种原因,如company服务端校验不通过,服务端重定向回这个页面,并且带上之前用户输入的company参数,此时页面则变成了

<input id='company' name='company'  value="lenovo "/> <script type="text/javascript">alert("警告")</script>
当然这段脚本只是弹出一下窗口,并不会造成什么危害。攻击的威力取决于用户输入什么样的脚本,只要稍微修改,就会使攻击极具危害性。

    场景二
用户在表单输入一段数据后,提交给服务端进行持久化,其他页面需要从服务端将数据取出来展示。还是上面那段脚本。用户输入名称后会将脚本保存在数据库中。下一个用户查询时就是自动执行alert脚本,造成危害
同样,攻击的威力取决于用户输入什么样的脚。

xss防范
xss之所以会发生,是因为用户输入的数据变成了代码。因此,我们需要对用户输入的数据进行HTML转义处理,将其中的尖括号,单引号等特殊字义进行转义编码


如今很多开源的开源框架本身默认就提供HTML代码转义的功能,如今流行的jstl,Struts等。


原创粉丝点击