驱动管家:安全、高效、精准的专业驱动下载站!

页面隐藏域未做处理,导致非法数据被执行怎么办?

2018-02-10 11:38:24责编:llp   来源:驱动管家     人气:

最近,有个项目突然接到总部的安全漏洞报告,查看后知道是XSS攻击。

问题描述:

在页面上有个隐藏域:

XML/HTML Code复制内容到剪贴板 

当前页面提交到Controller时,未对action属性做任何处理,直接又回传到页面上

如果此时action被用户恶意修改为:***"

"***

此时当页面刷新时将执行alert(1),虽然错误不严重,但是任何安全隐患都应受到重视。

页面隐藏域未做处理,导致非法数据被执行怎么办?

解决思路:

该问题是由于对用户输入数据(隐藏域)未做任何处理,导致非法数据被执行,那么解决该问题的核心思路就是对用户数据做严格处理,对任何页面传递的数据都不应过分信任,处理方法如下:

1.在页面上对action参数做转义处理,${action?html}(前端技术采用freemarker),但是此种方法只能对单个属性有效,如果此时项目处于维护期且有大量此种问题,修复的难度较大且不便于统一维护

2.在服务端对用户数据做转义处理,此时需要创建一个filter,对request进行二次封装,核心代码如下:

Java Code复制内容到剪贴板

importjavax.servlet.http.HttpServletRequest; importjavax.servlet.http.HttpServletRequestWrapper; importorg.apache.commons.lang3.StringEscapeUtils; publicclassXssRequestWrapperextendsHttpServletRequestWrapper{ publicXssRequestWrapper(HttpServletRequestrequest){ super(request); } publicStringgetParameter(Stringname){ Stringvalue=super.getParameter(name); if(value==null){ returnnull; } returnStringEscapeUtils.escapeHtml4(value); } publicString[]getParameterValues(Stringname){ String[]values=super.getParameterValues(name); if(values==null){ returnnull; } String[]newValues=newString[values.length]; for(inti=0;i

XssRequestWrapper是对request进行的二次封装,最核心的作用是对request中的参数进行转义处理(需要用到commons-lang3.jar)

定义filter,核心的代码如下:

Java Code复制内容到剪贴板

@OverridepublicvoiddoFilter(ServletRequestrequest, ServletResponseresponse, FilterChainchain)throwsIOException,ServletException{ HttpServletRequestreq=(HttpServletRequest)request; chain.doFilter(newXssRequestWrapper(req),response); }

在web.xml中配置指定请求进行过滤,可以有效防止xss攻击,希望本文所述对大家熟练掌握防止xss攻击的方法有所帮助。

  • telnet命令的字符有哪些?telnet特殊命令模式escape

    telnet命令的字符有哪些?telnet特殊命令模式escape

    除了在Telnet是如何工作的例子介绍的以外,Telnet还有很多的特点。Telnet可发送除了 "escape "的任何字符到远程主机上。因为 "escape "字符在Telnet中是客户机的一个特殊的命令模式,它的默认值是 "Ctrl-] "。但要注意不

    详情2018-01-24 09:30:59责编:llp   来源:驱动管家     
  • qq空间如何挂马?qq空间挂马的原理是什么?

    qq空间如何挂马?qq空间挂马的原理是什么?

    今天我来跟大家谈论一下关于QQ空间挂马的原理,我试了一下,成功率占80%。有好多人都问我怎么样才可以做到肉鸡成群,我想了好久,觉得QQ空间挂马可以实现这个。所以我试做了一下,竟然成功了!~~那我就想大家介绍

    详情2018-01-29 17:56:19责编:llp   来源:驱动管家     
  • 破解xp登陆口令的前提是什么?这里有破解登陆口令的步骤

    破解xp登陆口令的前提是什么?这里有破解登陆口令的步骤

    Windows XP强大而友好的系统界面博得了越来越多用户的青睐,然而它对用户安全性的审核即是非常严格的,要是你忘记了设置的口令(密码),可别以为能够像Windows98那样选择“取消”同样可以进入系统--这一点相

    详情2018-02-04 09:13:37责编:llp   来源:驱动管家     
  • 什么是sql触发器?sql触发器存在后门asp版

    什么是sql触发器?sql触发器存在后门asp版

    触发器是一种特殊的存储过程,它不能被显式地调用,而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。 所以触发器可以用来实现对表实施复杂的完整性约束。SqlServer包括三种常规类型的触发器:DML触

    详情2018-01-22 09:57:49责编:llp   来源:驱动管家     
  • efs加密文件系统怎么用?使用efs加密文件系统的技巧有哪些?

    efs加密文件系统怎么用?使用efs加密文件系统的技巧有哪些?

    使用Windows 2000 XP Server 2003的用户一定听说或接触过EFS,但由于其较为复杂,弄不好就会丢失数据。因此,很多人并没有使用它。其实,EFS并没有我们想像中的那样难,关键要真正玩转它,我们需要掌握好几个关

    详情2018-02-05 15:55:46责编:llp   来源:驱动管家     
  • 局域网入侵怎么办?假造源地址进犯的解决方法

    局域网入侵怎么办?假造源地址进犯的解决方法

    【毛病表象】假造源地址进犯中,黑客机器向受害主机发送许多假造源地址的TCP SYN报文,占用安全网关的NAT会话资源,最终将安全网关的NAT会话表占满,招致局域网内一切人无法上彀。【疾速查找】在WebUIà体

    详情2018-01-19 16:31:59责编:llp   来源:驱动管家     
  • 网站漏洞扫描器:流光扫描器怎么扫描主机?

    网站漏洞扫描器:流光扫描器怎么扫描主机?

    直接进入主题1、首先,在电脑上安装流光扫描器,解压的时候要注意解压密码2、安装完成后,我们按照它的提示进如主程序页面,在页面中我们在任务栏可以看到很多的服务,在开始总,我们输入扫描的网段就可以看到很

    详情2018-01-15 17:27:28责编:llp   来源:驱动管家     
  • 数字签名有哪些过程?数字签名的原理是什么?

    数字签名有哪些过程?数字签名的原理是什么?

    数字签名和加密的基本原理及其区别?1 数字签名主要经过以下几个过程:信息发送者使用一单向散列函数(HASH函数)对信息生成信息摘要;信息发送者使用自己的私钥签名信息摘要;信息发送者把信息本身和已签名的信

    详情2018-01-20 13:30:15责编:llp   来源:驱动管家     
  • 加密方案可以分为哪两类?加密方案涉及的主要技术

    加密方案可以分为哪两类?加密方案涉及的主要技术

    当前软件加密方法多种多样,已经不可能找出一种分类方法来把各种加密方案很好地区分开来。基本上来说可以分为依赖特定硬件的加密方案和不依赖硬件的加密方案。一、依赖硬件的加密方案软盘加密这是在计算机上最为

    详情2018-02-06 18:01:57责编:llp   来源:驱动管家     
  • 文档安全的加密技术 文档安全加密系统的原理

    文档安全的加密技术 文档安全加密系统的原理

    加密技术是利用数学或物理手段,对电子信息在传输过程中或存储设备内的数据进行保护,以防止泄漏的技术。在信息安全技术中,加密技术占有重要的地位,在保密通信、数据安全、软件加密等均使用了加密技术。常用的

    详情2018-01-13 15:37:44责编:llp   来源:驱动管家