学习 xss

前记

    web应用基于webx3框架,前端页面用velocity。在日常环境部署时,安全检测结果有css漏洞,并给出了解决方案。


1. XSS是什么? 

        XSS是 CrossSite Scripting的缩写,中文名称为跨站脚本攻击。

2. 如何实现XSS? 

        XSS是攻击者在Response中加入恶意脚本,脚本会在浏览器中执行,导致用户重要信息泄露。例如在服务器端的Screen java类里添加:

    Code_1: context.put("css","");   

那么浏览器就会执行这段js脚本,  弹出一个alert对话框


3. 如何防止XSS?

       Webx3.0框架对XSS攻击有很好的解决方案。在webx*.xml配置文件里,默认情况下对所有htm文件进行转义,只有在noescape里配置的不转义。 例如

  
                
                    
                       
                       
                       
                       
                   
               
   


     由于Code_1 没有使用noescape,那么就会被webx3.0框架的防止XSS攻击处理,客户端得到的内容为:

  Code_2: <script>alert("My First JavaScript");</script>
  说明:<是<的转义符号,>是>的转义符
     总结: Code_2不会被脚本引擎执行,因此CSS威胁解除。 浏览器的渲染引擎会把Code_2渲染为文字

  防止XSS攻击的手段为:凡是到VM页面中的内容都会执行HTML escape转义处理,因此

你可能感兴趣的:(java,web)