IBM Appscan漏洞修复的问题
参考文档:http://www.cnblogs.com/anngeiBKY/p/4952269.html
1、会话标识未更新
参考文档:http://www.cnblogs.com/anngeiBKY/p/4952269.html 登陆界面和登陆成功的界面一致时,修改后台逻辑,在验证登陆逻辑的时候,先强制让当前session过期,然后用新的session存储信息;
request.getSession().invalidate();  
   if (request.getCookies() != null) {  
      Cookie cookie = request.getCookies()[0];// 获取cookie  
      cookie.setMaxAge(0);// 让cookie过期  
   }  
 HttpSession session = request.getSession(false);
2、使用 HTTP 动词篡改的认证旁路
参考文档:http://blog.csdn.net/lyd135364/article/details/52067175
方法 从以下位置进行控制: GET 至: BOGUS;在程序中加过滤器,针对每一个请求都加上过滤器
(1) 过滤器代码
public class MethodFilter implements Filter{
    
(2) 过滤器
<filter>
   <filter-name>MethodFilter</filter-name>
   <filter-class>com.sinba.itsm.MethodFilter</filter-class>
</filter>
<filter-mapping>
   <filter-name>MethodFilter</filter-name>
   <url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
   <filter-name>MethodFilter</filter-name>
   <url-pattern>*.action</url-pattern>
</filter-mapping>
3、跨站点请求伪造
参考文档:http://blog.csdn.net/huoyunshen88/article/details/16862493 http://www.myhack58.com/Article/60/61/2016/77539.htm
说的白话一点就是,别的站点伪造你的请求,最可怕的是你还没有察觉并且接收了。
验证Referer:
(1)过滤器代码
public class RefererFilter implements Filter{
    
(2)过滤器
<filter>
  <filter-name>RefererFilter</filter-name>
  <filter-class>com.sinba.itsm.RefererFilter</filter-class>
</filter>
<filter-mapping>
   <filter-name>RefererFilter</filter-name>
   <url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>  
   <filter-name>RefererFilter</filter-name>  
   <url-pattern>*.action</url-pattern>  
</filter-mapping>
4、发现数据库错误模式
项目里的报错为数据库连接数的问题,修改了数据库的连接数就好了。
5、查询中接受的主体参数
可以将post方法直接改为get。
6、 缺少“Content-Security-Policy”头 、 缺少“X-Content-Type-Options”头、缺少“X-XSS-Protection”头及缺少跨帧脚本编制防御
参考文档:https://wenku.baidu.com/view/61f9027e5727a5e9856a61f3.html http://blog.csdn.net/u013894638/article/details/52135357?locationNum=12 https://imququ.com/post/web-security-and-response-header.html 即在响应地方加上即可:
(1)过滤器代码
public class JSHeaderFilter implements Filter{
   
(2)过滤器
<filter>
  <filter-name>JSHeaderFilter</filter-name>
  <filter-class>com.sinba.itsm.JSHeaderFilter</filter-class>
</filter>
<filter-mapping>
   <filter-name>JSHeaderFilter</filter-name>
   <url-pattern>*.js</url-pattern>
</filter-mapping>
7、自动填写未对密码字段禁用的 HTML 属性
AppScan 发现密码字段没有强制禁用自动填写功能。 在input框添加autocomplete="off"属性。
8、检测到目标URL存在链接注入漏洞
“链接注入”是修改站点内容的行为,其方式为将外部站点的 URL 嵌入其中,或将有易受攻击的站点中的脚本 的 URL 嵌入其中。将 URL 嵌入易受攻击的站点中,攻击者便能够以它为平台来启动对其他站点的攻击,以及攻击这个易受攻击的站点本身。 在这些可能的攻击中,有些需要用户在攻击期间登录站点。攻击者从这一易受攻击的站点本身启动这些攻击,成功的机会比较大,因为用户登录的可能性更大。 “链接注入”漏洞是用户输入清理不充分的结果,清理结果会在稍后的站点响应中返回给用户。攻击者能够将危险字符注入响应中,便能够嵌入 URL 及其他可能的内容修改。
(1)过滤器代码
public class PremeterFilter implements Filter{
     
                    
                     
                    
                