您的位置:首页 > 编程语言 > Java开发

Java编码安全漏洞之:跨站

2017-03-21 00:00 423 查看

Reflected_XSS_All_Clients

反射跨站,来自用户的数据直接输出到客户端。

修复建议

使用跨站修复函数处理输出到客户端的数据字符串。

修复示例

如:

public void XSS(HttpServletRequest request, HttpServletResponse response){

String text = request.getParameter("text");

System.out.println(text);

}

修复为:

public void XSS_Fix1(HttpServletRequest request, HttpServletResponse response){

String text = request.getParameter("text");

text = Sutil.responseFilter(text);

System.out.println(text);

}

public class Sutil{

public static String responseFilter(String text){

//Struts1.x

return org.apache.struts.util.ResponseUtils.filter(text);

}

}

Stored_XSS

存储型跨站,来自存储设备的数据直接输出到客户端。

修复建议

使用跨站修复函数处理输出到客户端的数据字符串。

修复示例

如:

public void XSS(HttpServletRequest request, HttpServletResponse response){

String text = request.getParameter("text");

System.out.println(text);

}

修复为:

public void XSS_Fix1(HttpServletRequest request, HttpServletResponse response){

String text = request.getParameter("text");

text = Sutil.responseFilter(text);

System.out.println(text);

}

public class Sutil{

public static String responseFilter(String text){

//Struts1.x

return org.apache.struts.util.ResponseUtils.filter(text);

}

}

UTF7_XSS

UTF7跨站,由于<meta>标签没有指定明确的charset,导致浏览器将编码以utf-7解析,或未过滤UTF7字符,从而形成XSS。

修复建议

1、给<meta>等标签指定编码字符集,比如 json 的一定要设置为 Content-Type: "json"。

2、严格过滤用户输入的数据,禁止输出的前几个字符是:+/v

CGI_Reflected_XSS_All_Clients

CGI反射跨站,来自用户的数据直接输出到控制台或其他CGI接口。

修复建议

使用跨站修复函数处理输出到客户端的数据字符串。

修复示例

如:

public void XSS(HttpServletRequest request, HttpServletResponse response){

String text = request.getParameter("text");

System.out.println(text);

}

修复为:

public void XSS_Fix1(HttpServletRequest request, HttpServletResponse response){

String text = request.getParameter("text");

text = Sutil.responseFilter(text);

System.out.println(text);

}

public class Sutil{

public static String responseFilter(String text){

//Struts1.x

return org.apache.struts.util.ResponseUtils.filter(text);

}

}

GWT_DOM_XSS

GWT DOM反射跨站,来自用户的数据直接输出到控制台或其他DOM接口。

修复建议

使用跨站修复函数处理输出到客户端的数据字符串。

修复示例

如:

public void XSS(HttpServletRequest request, HttpServletResponse response){

String text = request.getParameter("text");

System.out.println(text);

}

修复为:

public void XSS_Fix1(HttpServletRequest request, HttpServletResponse response){

String text = request.getParameter("text");

text = Sutil.responseFilter(text);

System.out.println(text);

}

public class Sutil{

public static String responseFilter(String text){

//Struts1.x

return org.apache.struts.util.ResponseUtils.filter(text);

}

}

GWT_Reflected_XSS

GWT反射跨站,来自用户的数据直接输出到控制台或其他GWT接口。

修复建议

使用跨站修复函数处理输出到客户端的数据字符串。

修复示例

如:

public void XSS(HttpServletRequest request, HttpServletResponse response){

String text = request.getParameter("text");

System.out.println(text);

}

修复为:

public void XSS_Fix1(HttpServletRequest request, HttpServletResponse response){

String text = request.getParameter("text");

text = Sutil.responseFilter(text);

System.out.println(text);

}

public class Sutil{

public static String responseFilter(String text){

//Struts1.x

return org.apache.struts.util.ResponseUtils.filter(text);

} }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: