Trust_Boundary_Violation
违反信任边界,用户可控的数据被缓存到可信容器中。
修复建议
若无必要或可降低可信度存放,最好不要把非可信数据缓存到可信容器中。在存放之前对数据合法性进行校验。
只有HttpSession和HttpServletContext被认为是可信容器。
Unchecked_Input_for_Loop_Condition
可输入的循环条件未作检查,用户可控的数据被作为循环次数的判断依据。
修复建议
不使用用户可控的数据作为循环判断的依据或给定最大循环次数。
修复示例
如:
public void Unchecked_Input_for_Loop_Condition(HttpServletRequest request){
String text = request.getParameter("text");
List list = service.getList(text);
int len = list.size();
for(int i = 0; i < len; i++){
System.out.println(i);
}
}
修复为:修复后暂时会被报出
public void Unchecked_Input_for_Loop_Condition_Fix(HttpServletRequest request){
String text = request.getParameter("text");
List list = service.getLi