qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          Appscan安全漏洞修復

           1.會話標識未更新:登錄頁面加入以下代碼
            request.getSession(true).invalidate();//清空session
            Cookie cookie = request.getCookies()[0];//獲取cookie
            cookie.setMaxAge(0);//讓cookie過期
            request.getSession(true).invalidate();//清空session
            Cookie cookie = request.getCookies()[0];//獲取cookie
            cookie.setMaxAge(0);//讓cookie過期
            不是很明白session的機制,高手路過可以指教一下。
            2.跨站點請求偽造:
            在出錯的url加參數sessionid。
            response.getWriter().write( "<script>parent.location.href='dbase/admin/loginJsp.action?sessionId="+sessionId+"'</script>");
            response.getWriter().write( "<script>parent.location.href='dbase/admin/loginJsp.action?sessionId="+sessionId+"'</script>");
            如果帶參數報ssl錯誤,使用下面的post方式傳值:
          response.getWriter().write(
          "<script language=\"javascript\"> " +
          "document.write(\"<form action=dbase/admin/loginJsp.action method=post name=formx1 style='display:none'>\");" +
          "document.write(\"<input type=hidden name=name value='"+sessionId+"'\");" +
          "document.write(\"</form>\");" +
          "document.formx1.submit();" +
          "</script>"
          );
          response.getWriter().write(
          "<script language=\"javascript\"> " +
          "document.write(\"<form action=dbase/admin/loginJsp.action
          method=post name=formx1 style='display:none'>\");" +
          "document.write(\"<input type=hidden name=name value='"+sessionId+"'\");" +
          "document.write(\"</form>\");" +
          "document.formx1.submit();" +
          "</script>"
          );
            3.啟用不安全HTTP方法
            修改web工程中或者服務器web.xml,增加安全配置信息,禁用不必要HTTP方法
          <security-constraint>
          <web-resource-collection>
          <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>
          <login-config>
          <auth-method>BASIC</auth-method>
          </login-config>
            修改web工程中或者服務器web.xml,增加安全配置信息,禁用不必要HTTP方法
          <security-constraint>
          <web-resource-collection>
          <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>
          <login-config>
          <auth-method>BASIC</auth-method>
          </login-config>
            4.已解密登錄請求
            配置SSL,具體見http://serisboy.iteye.com/admin/blogs/1320231
            在web.xml加入如下配置。
          <security-constraint>
          <web-resource-collection >
          <web-resource-name >SSL</web-resource-name>
          <url-pattern>/*</url-pattern>
          </web-resource-collection>
          <user-data-constraint>
          <transport-guarantee>CONFIDENTIAL</transportguarantee>
          </user-data-constraint>
          </security-constraint>
          <security-constraint>
          <web-resource-collection >
          <web-resource-name >SSL</web-resource-name>
          <url-pattern>/*</url-pattern>
          </web-resource-collection>
          <user-data-constraint>
          <transport-guarantee>CONFIDENTIAL</transportguarantee>
          </user-data-constraint>
          </security-constraint>
            5.高速緩存的ssl頁面
            頁面
            <meta http-equiv="Pragma" contect="no-cache">
            頁面
            <meta http-equiv="Pragma" contect="no-cache">
            response.setHeader("Pragma", "No-cache");
            response.setHeader("Pragma", "No-cache");
            6.目錄列表
            配置文件目標拒絕訪問。
            在conf/web.xml下:
          <servlet>
          <servlet-name> default </servlet-name>
          <servlet-class> org.apache.catalina.servlets.DefaultServlet </servlet-class>
          <init-param>
          <param-name> debug </param-name>
          <param-value> 0 </param-value>
          </init-param>
          <init-param>
          <param-name> listings </param-name>
          <param-value> false </param-value>
          </init-param>
          <load-on-startup> 1 </load-on-startup>
          </servlet>
          <servlet>
          <servlet-name> default </servlet-name>
          <servlet-class> org.apache.catalina.servlets.DefaultServlet </servlet-class>
          <init-param>
          <param-name> debug </param-name>
          <param-value> 0 </param-value>
          </init-param>
          <init-param>
          <param-name> listings </param-name>
          <param-value> false </param-value>
          </init-param>
          <load-on-startup> 1 </load-on-startup>
          </servlet>
            把listings對應的value設置為fasle.
            或者把上面的這個servlet加到你的虛擬路徑下的web-inf/web.xml中,把servlet-name改為其它的,再加一下servlet-mapping
          <servlet>
          <servlet-name> default1 </servlet-name>
          <servlet-class> org.apache.catalina.servlets.DefaultServlet </servlet-class>
          <init-param>
          <param-name> debug </param-name>
          <param-value> 0 </param-value>
          </init-param>
          <init-param>
          <param-name> listings </param-name>
          <param-value> false </param-value>
          </init-param>
          <load-on-startup> 1 </load-on-startup>
          </servlet>
          <servlet-mapping>
          <servlet-name> default1 </servlet-name>
          <url-pattern> / </url-pattern>
          <servlet-mapping>
          <servlet>
          <servlet-name> default1 </servlet-name>
          <servlet-class> org.apache.catalina.servlets.DefaultServlet </servlet-class>
          <init-param>
          <param-name> debug </param-name>
          <param-value> 0 </param-value>
          </init-param>
          <init-param>
          <param-name> listings </param-name>
          <param-value> false </param-value>
          </init-param>
          <load-on-startup> 1 </load-on-startup>
          </servlet>
          <servlet-mapping>
          <servlet-name> default1 </servlet-name>
          <url-pattern> / </url-pattern>
          <servlet-mapping>

          posted on 2014-08-18 10:11 順其自然EVO 閱讀(695) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄安全性測試

          <2014年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 营口市| 莲花县| 泸州市| 杨浦区| 鄄城县| 泰宁县| 桦川县| 武清区| 丰原市| 丹巴县| 勃利县| 达尔| 安达市| 淳化县| 长沙县| 扶绥县| 故城县| 安阳市| 万山特区| 湾仔区| 航空| 闻喜县| 化德县| 伊春市| 兴文县| 陇西县| 乐至县| 东源县| 通江县| 定远县| 革吉县| 辰溪县| 通河县| 墨竹工卡县| 五莲县| 石柱| 百色市| 和政县| 东港市| 墨竹工卡县| 哈尔滨市|