`
yjingzeming
  • 浏览: 45334 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

IBM Rational AppScan安全报告

阅读更多
1.会话cookie 中缺少HttpOnly 属性。
   修复任务: 向所有会话cookie 添加“HttpOnly”属性
  解决方案,过滤器中,
		HttpServletResponse response2 = (HttpServletResponse)response;
		//httponly是微软对cookie做的扩展,该值指定 Cookie 是否可通过客户端脚本访问, 
		//解决用户的cookie可能被盗用的问题,减少跨站脚本攻击
		response2.setHeader( "Set-Cookie", "name=value; HttpOnly"); 


2.跨站点请求伪造。修复任务: 拒绝恶意请求。
   解决方案,过滤器中
		//HTTP 头设置 Referer过滤
		String referer = request2.getHeader("Referer");   //REFRESH
		if(referer!=null && referer.indexOf(basePath)<0){						
			request2.getRequestDispatcher(request2.getRequestURI()).forward(request2, response);
		}	


3.Autocomplete HTML Attribute Not Disabled for Password Field
修复任务: Correctly set the "autocomplete" attribute to "off"
	密&nbsp;&nbsp;码:
					<input name="userinfo.userPwd" type="password"  autocomplete = "off"/>


4.HTML 注释敏感信息泄露。删除注释信息。
5.跨站点脚本编制,SQL 盲注,通过框架钓鱼,链接注入(便于跨站请求伪造)。修复任务: 过滤掉用户输入中的危险字符
 
	private String filterDangerString(String value) {
		if (value == null) {
			return null;
		}
		value = value.replaceAll("\\|", "");

		value = value.replaceAll("&", "&amp;");

		value = value.replaceAll(";", "");

		value = value.replaceAll("@", "");

		value = value.replaceAll("'", "");

		value = value.replaceAll("\"", "");

		value = value.replaceAll("\\'", "");

		value = value.replaceAll("\\\"", "");

		value = value.replaceAll("<", "&lt;");

		value = value.replaceAll(">", "&gt;");

		value = value.replaceAll("\\(", "");

		value = value.replaceAll("\\)", "");

		value = value.replaceAll("\\+", "");

		value = value.replaceAll("\r", "");

		value = value.replaceAll("\n", "");

		value = value.replaceAll("script", "");
		
		value = value.replaceAll("%27", "");
		value = value.replaceAll("%22", "");
		value = value.replaceAll("%3E", "");
		value = value.replaceAll("%3C", "");
		value = value.replaceAll("%3D", "");
		value = value.replaceAll("%2F", "");
		return value;

	}
  • 大小: 28.9 KB
  • 大小: 26.2 KB
分享到:
评论
4 楼 我是泰罗 2014-05-06  
我是泰罗 写道
//HTTP 头设置 Referer过滤
String referer = request2.getHeader("Referer");   //REFRESH
if(referer!=null && referer.indexOf(basePath)<0){
request2.getRequestDispatcher(request2.getRequestURI()).forward(request2, response);
}
这段有没有完整的代码?


弄好了,不知道怎么测试!!
3 楼 我是泰罗 2014-05-06  
//HTTP 头设置 Referer过滤
String referer = request2.getHeader("Referer");   //REFRESH
if(referer!=null && referer.indexOf(basePath)<0){
request2.getRequestDispatcher(request2.getRequestURI()).forward(request2, response);
}
这段有没有完整的代码?
2 楼 yjingzeming 2012-08-16  
referer!=null && referer.indexOf(basePath)<
binbinli214 写道
//HTTP 头设置 Referer过滤
String referer = request2.getHeader("Referer");   //REFRESH
if(referer!=null && referer.indexOf(basePath)<0){
request2.getRequestDispatcher(request2.getRequestURI()).forward(request2, response);
}


basePath是什么值?


String basePath = request2.getScheme() + "://"
+ request2.getServerName() + ":" + request.getServerPort()
+ request2.getContextPath() + "/";
1 楼 binbinli214 2012-08-15  
//HTTP 头设置 Referer过滤
String referer = request2.getHeader("Referer");   //REFRESH
if(referer!=null && referer.indexOf(basePath)<0){
request2.getRequestDispatcher(request2.getRequestURI()).forward(request2, response);
}


basePath是什么值?

相关推荐

Global site tag (gtag.js) - Google Analytics