我直接在响应头中传递用户定义的参数。我所学到的并不是一个好主意,因为用户可以操纵标题,这可能会导致跨站点脚本攻击和其他类型的多次攻击。
https://www.fortify.com/vulncat/en/vulncat/python/header_manipulation.html
我正在采取的措施是通过将“\ r”和“\ n”字符替换为空字符串“”来验证“http响应拆分”的用户输入。这还不够,或者我也要检查其他角色。任何指针都会有很大的帮助。
这是我的代码。
if(response != null)
{
newResponse = response.replaceAll("[\r\n]", "");
}
这是否足以防止此类攻击,或者我也应该验证其他角色。
答案 0 :(得分:3)
答案 1 :(得分:0)
您提供的信息不足以获得正确答案。我们需要知道你对参数值做了什么,以便判断你的行为是否足够好以及你的代码运行的环境是什么样的。一个简短的,100%正确(但相当无用)的答案将是“无“。
通过遵循原始上下文之外的简单子弹来实现安全性。您从Python上下文中获取它并将其直接放到Java上下文中。您必须了解您的环境以及您的代码完全执行的操作。没有银弹。