1 检查工具:Acunetix Web Vulnerability Scanner V9破解版

2 检查漏洞说明结果显示:

2.1 HTML Form Without CSRF Protection

2.2 slow_Http_DoS

2.3  If possible, you should set the Secure flag for this cookie

2.4 If possible, you should set the HTTPOnly flag for this cookie

如下图:

3 安全漏洞解决办法

3.1 HTML Form Without CSRF Protection 解决方案:

情况说明,CSRF一般发生在表单Login、登录提交时,处理过程大体上可以总结为在Login.jsp页面上随机产生一个字符串,Set到会话Session内自定义的变量,

然后在Form表单内隐藏一个存放此值的input ytpe ="hidden" 的元素,即可:即如下:

*****Login.jsp********

<%@page import="Java.util.UUID"%> 
<%

//deal with CSRF
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
request.getSession().setAttribute("randTxt",uuid);

%>

<form id="welcomeAction_login" name="login"  action="welcomeAction_login.do"   method="POST">

....

<input type="hidden" name="randSesion"  value = "<%=request.getSession().getAttribute("randTxt")%>" />    
......

</form>

注意:表单提交时Form头处一定要写上:action="welcomeAction_login.do"   method="POST",否则会引出其它相关中级的问题

3.2 slow_Http_DoS解决方案:

原理:通过并发连接池进行的慢速读攻击(基于TCP持久时间)等。慢速攻击基于HTTP协议,通过精心的设计和构造,这种特殊的请求包会造成服务器延时,而当服务器负载能力消耗过大即会导致拒绝服务

解决方案:
1 设置Tomcat / server.xml文件    connectiontimeout 值,默认为20000ms,修改为8000ms(Tomcat 自身安全漏洞)

2 设置AJAX的全局timeout时间(默认为30000ms) $.ajaxSetup({timeout:8000});

3.3  If possible, you should set the Secure flag for this cookie,set the HTTPOnly flag for this cookie解决方案:
1 (Tomcat 自身安全漏洞)设置设置Tomcat / web.xml文件:

<session-config>
        <session-timeout>30<session-timeout>
        <cookie-config>
           <secure>true<secure>
           <http-only>true<http-only>
        </cookie-config>
<session-config> 

2 在Login .jsp主页面加入:
response.setHeader("SET-COOKIE", "JSESSIONID=" + sessionid + "; secure ; HttpOnly");

4 ******涉及内容和网站:

1 CSRF科普   http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html

2 CSRF一种解决办法:http://jingyan.baidu.com/album/597a0643671e6a312b524305.html

3 set the Secure flag for this cookie:  https://www.owasp.org/index.PHP/SecureFlag

4 set the HTTPOnly flag for this cookie:  http://coffeesweet.iteye.com/blog/1271822

基于Tomcat 的WEB Project存在的安全漏洞总结的更多相关文章

  1. 通过 Terracotta实现基于Tomcat的Web应用集群

    [转]通过 Terracotta实现基于Tomcat的Web应用集群 博客分类: 企业应用面临的问题 Java&Socket 开源组件的应用 tomcatweb session集群服务器负载均 ...

  2. JAVA WEB学习笔记(三):简单的基于Tomcat的Web页面

    注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...

  3. 10:基于Tomcat部署Web工程

    1创建目录, 2.标识目录java文件,资源文件

  4. Eclipse整合Tomcat开发Dynamic Web Project环境总结

    一.引子 习惯了MyEclipse的你是否曾想过基于Eclipse进行Dynamic Web Project项目开发呢?网上资料颇多,但是实践起来却发现总有这样那样的问题,设计Lucene搜索引擎项目 ...

  5. JDK和Tomcat环境变量,以及用MyEclipse新建Web Project测试Tomcat Server

    [请尊重原创版权,如需引用,请注明来源及地址] 在此之前一直用的Eclipse挺顺手的,今天突然想换MyEclipse试试,不知安装MyEclipse的时候我选错了什么选项,反正JDK和Tomcat的 ...

  6. 在eclipse中新建Dynamic web project时选择2.5和3.0的区别(里面涉及servlet和tomcat的问题)

    1.是指servlet的版本,是2.5的还是3.0的 servlet3.0以后支持异步 2.dynamic web module和对应的TOMCAT 版本 http://blog.sina.com.c ...

  7. MyEclipse Web Project导入Eclipse Dynamic Web Project,无法部署到tomcat问 题

    做作业遇到一个小问题,将MyEclipse Web Project导入到Eclipse中开发.在部署到tomcat时,发现无法发布这个项目. 问题分析: MyEclipse Web Project被识 ...

  8. Mac 下 Eclipse 添加 Dynamic Web Project 并配置 Tomcat

    最近拿到了一个 Dynamic Web Project,我的 Mac 上的 Eclipse 之前没有过这类型的项目,所以导入之后无法正常运行.下面是我记录的如何配置 Eclipse 使之能够运行 Dy ...

  9. 创建Dynamic Web Project时 显示最新Apache Tomcat 8.0 的方法

    创建Dynamic Web Project时  显示最新Apache Tomcat  8.0 等的方法 解决办法如下: 第一步:eclipse菜单help->eclipse marketplac ...

随机推荐

  1. CentOS7.2 安装RabbitMQ3.6.10

    CentOS上面使用yum安装比较方便 先记录一些rabbitmq的基本操作命令: $ sudo chkconfig rabbitmq-server on # 添加开机启动RabbitMQ服务 $ s ...

  2. 计算机基础教程11 - 互联网&内联网

    在本章中,我们将看到什么是Internet和Intranet,以及讨论两者之间的异同. 互联网 它是互联计算机网络的全球/全球系统.它使用标准的Internet协议(TCP / IP).Interne ...

  3. Mac下安装hexo Error: Cannot find module './build/Release/DTraceProviderBindings 解决

    参考: Github:Mac 下已经装了hexo,仍旧报错 官方文档 $ npm install hexo --no-optional if it doesn't work try $ npm uni ...

  4. 前端工程化 - npm

    什么是npm npm的全称Node Package Manager,npm原先只是作为nodejs的包管理工具,然而随着前端社区的发展,如今npm不仅是nodejs的包管理工具,还是前端js的包管理工 ...

  5. Windows 搭建 Linux kernal0.11 环境

    下载:http://www.oldlinux.org/Linux.old/bochs/ 安装bochs 运行 界面:

  6. XML_CPP_资料

    1.TinyXML解析xml文档 - zhoubl668的专栏:远帆,梦之帆! - 博客频道 - CSDN.NET.html http://blog.csdn.net/zhoubl668/articl ...

  7. Qt5_vs2013_error_C2001: 常量中有换行符__ZC

    ZC: 这里是解决 Windows平台下的这个 编译error :“error C2001: 常量中有换行符”. ZC: 我现在(20161221)的处理方式:vs2010或vs2015 将cpp文件 ...

  8. SSH基本管理和配置文件的使用

    服务端:linl_S    IP:10.0.0.15 客户端:lin_C    IP:10.0.0.16   SSHD服务 SSH协议:安全外壳协议.为Secure Shell的缩写.SSH为建立在应 ...

  9. [javascript]javascript取得html元素,取得html样式,修改html样式

    一.取得html元素 详情见:https://www.jb51.net/article/116460.htm 1.通过ID获取(getElementById) document.getElementB ...

  10. HDU1698 线段树入门之区间修改/查询(lazy标记法)

    Just a Hook Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...