zoukankan      html  css  js  c++  java
  • WEB安全隐患

    org.apache.commons.lang.StringEscapeUtils 进行输入框内容处理 [StringEscapeUtils.escapeSql(str);StringEscapeUtils.escapeHtml(str)]
     
    1、跨站脚本攻击(Cross Site Scripting)
    -解决方案-
    xss之所以会发生,是因为用户输入的数据变成了代码,因此需要对用户输入的数据进行html转义处理,将其中的“尖括号”,“单引号”,“双引号”之类的特殊字符进行转义编码。
     
    2、SQL注入
    报错时,尽量使用错误页面覆盖堆栈信息
    1 <error-page>
    2     <error-code>400</error-code>
    3     <location>/error400.jsp</location>
    4 </error-page>
     
    3、跨站请求伪造(Cross-Site Request Forgery)
    -解决方案-
    1、将cookie设置为HttpOnly
    server.xml如下配置
    1 <Context docBase="项目" path="/netcredit" reloadable="false" useHttpOnly="true"/>
    web.xml如下配置
    1 <session-config>
    2     <cookie-config> 
    3         <http-only>true</http-only> 
    4     </cookie-config>
    5     <session-timeout>30</session-timeout>
    6 </session-config>
    2、增加token
    表单中增加一个隐藏域,提交时将隐藏域提交,服务端验证token。
    3、通过referer识别
    根据Http协议,在HTTP头中有一个字段交Referer,它记录了HTTP请求的来源地址。如果攻击者要实施csrf攻击时,必须从其他站点伪造请求,当用户通过其他网站发送请求时,请求的Referer的值是其他网站的网址。因此可以对每个请求验证其Referer值即可。
    4、文件上传漏洞
      在网上经常会操作,上传图片、文件到服务端保存,这时候,如果没有对图片文件做正确的校验,会导致一些恶意攻击者上传病毒,木马,外挂等等到服务器,窃取服务器信息,甚至导致服务器瘫痪。
    因此需要对上传的文件进行校验,很多文件起始的几个字节是固定的,因此,根据这几个字节的内容,就可以判断文件的类型,这几个字节也被称作魔数。
     
    设置类型白名单
    学习无止尽,代码我疯狂
  • 相关阅读:
    20160205.CCPP体系详解(0015天)
    盘点各专业到古代都能干些啥
    一份简单的在 Linux下编译及调试 C 代码的指南
    WordPress Gravatar国内加载缓慢解决办法
    linux修改mysql字符集编码
    阿里合伙人邵晓锋:什么是创业者应该抵制的诱惑?
    6月27日云栖精选夜读:细数智能家居的痛点
    6月26日云栖精选夜读:成为一名Java高级工程师你需要学什么
    搭建百万级别邮件发送平台
    黑科技实验室:这些高级装备厉害了!
  • 原文地址:https://www.cnblogs.com/kangxu/p/6185558.html
Copyright © 2011-2022 走看看