XSS攻击原理和防范

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等。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值