zoukankan      html  css  js  c++  java
  • Work_网络安全

    一:禁止不被允许的HTTP方法

     1.测试允许的http方法:

    [weblogic@hkczjjapp ~]$ curl -v -X OPTIONS http://11.1.198.89:9001/maccs/1001/ma_user_getwebinfo.do-----完整的请求地址
    [weblogic@hkczjjapp ~]$ curl -v -X OPTIONS http://11.1.198.89:9001/maccs/1001/ma_user_getwebinfo.do
    * About to connect() to 11.1.198.89 port 9001 (#0)
    *   Trying 11.1.198.89... connected
    * Connected to 11.1.198.89 (11.1.198.89) port 9001 (#0)
    > OPTIONS /maccs/1001/ma_user_getwebinfo.do HTTP/1.1
    > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
    > Host: 11.1.198.89:9001
    > Accept: */*
    > 
    < HTTP/1.1 200 OK
    < Date: Fri, 12 Jul 2019 07:30:18 GMT
    < Content-Length: 0
    < Allow: GET, HEAD, POST, TRACE, OPTIONS-----允许的http方法
    < X-Powered-By: Servlet/2.5 JSP/2.1
    < 
    * Connection #0 to host 11.1.198.89 left intact
    * Closing connection #0

     2.禁用分析

      WebDAV(Web-based Distributed Authoring and Versioning)一种基于 HTTP 1.1协议的通信协议.它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可直接对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。 HTTP/1.1协议中共定义了八种方法(有时也叫“动作”)来表明Request-URI指定的资源的不同操作方式:

      OPTIONS :返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送'*'的请求来测试服务器的功能性。 

      HEAD :向服务器索要与GET请求相一致的响应,响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。 

      GET :向特定的资源发出请求。注意:GET方法不应当被用于产生“副作用”的操作中,例如在web app.中。其中一个原因是GET可能会被网络蜘蛛等随意访问。 

      POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 

      PUT :向指定资源位置上传其最新内容。 

      DELETE :请求服务器删除Request-URI所标识的资源。 

      TRACE :回显服务器收到的请求,主要用于测试或诊断。 

      CONNECT :HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

      注意点:使用OPTIONS方法列出服务器使用的HTTP方法。注意,不同目录中激活的方法可能各不相同。许多时候,被告知一些方法有效,但实际上它们并不能使用。有时,即使OPTIONS请求返回的响应中没有列出某个方法,但该方法仍然可用。手动测试每一个方法,确认其是否可用。

     3.禁用不安全的HTTP方法(禁用webDAV)

      1.web应用的禁用

    -----通过修改应用的web.xml禁用不安全的http方法
    <security-constraint>
            <web-resource-collection>
           <web-resource-name>fortune</web-resource-name>
                <url-pattern>/*</url-pattern>
                <http-method>PUT</http-method>
                <http-method>DELETE</http-method>
                <http-method>HEAD</http-method>
                <http-method>OPTIONS</http-method>
                <http-method>TRACE</http-method>
            </web-resource-collection>
            <auth-constraint>
            </auth-constraint>
    </security-constraint>
    -----为防止报错可添加web约束文件 <web-app xmlns:xsi="
    http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

      2.tomat服务器禁用

       通过上修改tomcat的web.xml文件.(修改tomcat的web.xml对此tomcat下所有服务有效,应用下支队此应用有效);

      3.weblogic服务器禁用

    二:会话session漏洞

     1.漏洞分析:

      Secure属性:

      当设置为true时,表示创建的 Cookie 会被以安全的形式向服务器传输(ssl),即只能在 HTTPS 连接中被浏览器传递到服务器端进行会话验证,如果是 HTTP 连接则不会传递该信息,所以不会被窃取到Cookie 的具体内容。

      HttpOnly属性:

      如果在Cookie中设置了"HttpOnly"属性,那么通过程序(JS脚本、Applet等)将无法读取到Cookie信息,这样能有效的防止XSS攻击。

     2.设置方法:

      servlet2.5及以下:

    response.setHeader("Set-Cookie", "JSESSIONID=" + req.getSession().getId() + ";Secure;HttpOnly");//设置Secure;HttpOnly

      servlet3.0以后,web.xml配置:

    <session-config>
      <cookie-config>
        <session-timeout>120</session-timeout>
        <http-only>true</http-only>-----httponly配置
        <secure>true</secure>-----secure配置
      </cookie-config>
    </session-config>

      servlet3.0以后,tomcat也可设置,server.xml:

    -----httponly设置
    <Context useHttpOnly="true">
    -----secure设置
    <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" secure="true"/>
  • 相关阅读:
    51nod1179【思维】
    网络时间校准
    获取网络时间,减轻自己服务器的请求压力
    C# async/await异步编程深入理解
    C#中的异步编程--探索await与async关键字的奥妙之处,原来理解和使用异步编程可以这么简单
    "",string.Empty和null三者的区别
    三万字把SQL数据库的所有命令,函数,运算符讲得明明白白讲解,内容实在丰富
    C# await async Task
    C#异步编程 Task await的理解
    idea中更改下载源
  • 原文地址:https://www.cnblogs.com/chunxiaozhang/p/11176193.html
Copyright © 2011-2022 走看看