我正在尝试创建一个servlet请求筛选器,它根据白名单字符筛选所有传入请求。http请求的白名单验证
我只想接受那些与白名单模式相匹配的字符,以避免任何恶意代码被攻击者以脚本或修改后的URL的形式执行。
有谁知道应该使用哪个白名单字符来过滤任何HTTP请求字符串?
任何帮助,将不胜感激提前
我正在尝试创建一个servlet请求筛选器,它根据白名单字符筛选所有传入请求。http请求的白名单验证
我只想接受那些与白名单模式相匹配的字符,以避免任何恶意代码被攻击者以脚本或修改后的URL的形式执行。
有谁知道应该使用哪个白名单字符来过滤任何HTTP请求字符串?
任何帮助,将不胜感激提前
实现模式匹配的机制,通过使用正则表达式来找到您的网址白名单模式字符..
感谢
关注这个link1
或者您可以尝试:
if (inputUrl.contains(whiteList)) {
// your code goes here
}
或者如果你需要知道它在哪里发生,你可以使用的indexOf:
int index = inputUrl.indexOf(whiteList);
if (index != -1) // -1 means "not found"
{
...
}
感谢,
〜CHANDAN
的问题是,“恶意“是非常广泛的术语。你应该清楚自己想要保护什么类型的攻击,然后采取措施来防止这种攻击。
您不能指定一组需要过滤的字符集,您需要知道将使用您在url中的输入的域。通常危险的不是网址本身,而是由用户提供并由应用程序解释的url参数。根据您的应用程序如何使用此输入,您需要采取特定的预防措施。例如:
等等......
的一点是,没有银弹,以保护您免受所有恶意攻击媒介尤其不要在Servlet过滤器白名单某些字符。您应该知道潜在的恶意数据在哪里使用并根据其具体用途进行处理,因为不同的目标将具有不同的漏洞,并且需要不同的保护措施。
安全问题和措施的高级概述的良好开端形成对它们的保护是OWASP TOP TEN。然后我推荐一些由owasp提供的更详细的指南和资源。
谢谢Chandan的回复...正则表达式可以用来生成正则表达式,因为我是一个新手,我不知道哪些字符应该用于白名单验证.... – androidDev 2015-04-01 12:09:15
〜欢迎androidDev,你可以给一个关于你的白名单的想法(你想要什么样的模式,规则) – 2015-04-01 12:54:45
我正在使用struts框架,我想验证每个传入的请求在URL中,所以我正在寻找一个正则表达式,我可以使用它来进行url的白名单验证。 – androidDev 2015-04-01 17:53:42