我正在使用AntiSamy和可用的antisamy-1.4.1.xml策略.该政策正在很好地阻止大多数受到攻击的XSS,但以下内容未被阻止.有关如何阻止以下内容以防止XSS攻击的任何建议?
1234%27%2Balert%2873918%29%2B%27
Run Code Online (Sandbox Code Playgroud)
谢谢
自2010年以来,OWASP十大项目是否未更新?
看过OWASP上的以下网站,我可以看到情况可能如此:https://www.owasp.org/index.php/Category : OWASP_Top_Ten_Project
我的公司在OWASP合规方面做了大量工作,所以我只是想确定我是最新的?
我盲目地遵循了OWASP关于java中哈希生成的建议(见这里),我不确定我是否已经正确地完成了它.具体来说,我不确定其用途和效果MessageDigest.reset(),以及何时以及如何使用它.
update()摘要多次使用不同的值来"加载"我的盐和有效负载,这些值完全需要签名.我应该reset()事先消化吗?还是之后呢?reset()在循环内(参见示例)?这是我的代码:
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.update(salt);
md.update(payload1); // part 1 of payload
md.update(payload2); // part 2 of payload
md.update(serialNumber); // part 3 of payload
md.reset();
byte[] sig = md.digest();
for (int i=0; i<1000; i++) {
md.reset();
sig = md.digest(sig);
}
Run Code Online (Sandbox Code Playgroud)
我所观察到的是即使在serialNumber变化时签名仍然保持不变.如果我省略'reset()'调用,sig确实会改变...
我希望有人可以帮助我解决一些问题。
我将 OWASP ESAPI 2.1.0 与 JavaEE 一起使用,以帮助我验证 Web 应用程序中的某些条目。在某些时候,我需要验证 Windows 文件路径,因此我在“validation.properties”中添加了一个新的属性条目,如下所示:
Validator.PathFile=^([a-zA-Z]:)?(\\\\[\\w. -]+)+$
Run Code Online (Sandbox Code Playgroud)
例如,当我尝试通过 ESAPI 验证像“C:\TEMP\file.txt”这样的字符串时,我得到一个 ValidationException:
ESAPI.validator().getValidInput("PathFile", "C:\\TEMP\\file.txt", "PathFile", 100, false);
Run Code Online (Sandbox Code Playgroud)
或者,我还尝试使用java.util.regex.Pattern类来测试具有相同字符串示例的相同正则表达式,并且它工作正常:
Pattern.matches("^([a-zA-Z]:)?(\\\\[\\w. -]+)+$", "C:\\TEMP\\file.txt")
Run Code Online (Sandbox Code Playgroud)
我必须说我在“validation.properties”中添加了其他正则表达式并且工作正常。为什么这个这么难?谁能帮我解决这个问题?
什么是服务器XSS和客户端XSS 之间的区别的明确解释?
我阅读了OWASP网站上的解释,但对我来说不是很清楚.我知道反映的,存储的en DOM类型.
如何:签署已清理的HTML?我用它来生成java邮件时清理HTML代码.此代码具有内联图像内容ID <img src=\"cid:image\" height=\"70\" width=\"70\" />.在src清理时,该属性不包含在已清理的html中.
PolicyFactory IMAGES = new HtmlPolicyBuilder().allowUrlProtocols("http", "https")
.allowElements("img")
.allowAttributes("src").matching(Pattern.compile("^cid[:][\\w]+$"))
.onElements("img")
.allowAttributes("border", "height", "width").onElements("img")
.toFactory();
String html = "<img src=\"cid:image\" height=\"70\" width=\"70\" />";
final String sanitized = IMAGES.sanitize(html);
System.out.println(sanitized);
Run Code Online (Sandbox Code Playgroud)
上面代码的输出是:
<img height="70" width="70" />
Run Code Online (Sandbox Code Playgroud) 我在 JAVA 项目中使用 OWASP AntiSamy,但每次我尝试使用包含 \n 字符的字符串调用方法 getCleanHTML() 时,该方法都会替换为空格“”。我已经尝试更改 XML 文件中的规则,但它仍然发生。我如何解决它?
我正在调查 Web 应用程序中的一些奇怪行为,其中某些东西正在生成不应该存在的请求。由于触发这些请求的主要操作会打开一个新的浏览器窗口,因此浏览器内置的网络调试功能无济于事。现在,我只想查看通过网络传输的原始请求。因此,我安装了OWASP ZAP以将其用作本地代理。
令我惊讶的是,OWASP ZAP 似乎没有在“历史”选项卡中显示对图像的任何请求。我所追求的请求当然是对图像的请求。如何启用这些请求的日志记录?
使用以下命令以守护程序模式启动时,如何从 ZAP 代理扫描中排除某些 URL:
zap.sh -daemon -host 0.0.0.0 -port 8090 -config api.addrs.addr.name=.* -config api.addrs.addr.regex=true -config api.disablekey=true
Run Code Online (Sandbox Code Playgroud)
我可以设置任何参数或配置参数来排除某些 URL 吗?
我正在使用官方 docker image owasp/zap2docker-stable:latest。
Checkmarx 为我的 Controller 类中的以下方法提供了 XSS 漏洞。\n具体来说:此元素\xe2\x80\x99s 值(ResultsVO)然后在没有经过适当清理或验证的情况下流经代码,并最终在方法中显示给用户:
\n\n @RequestMapping(value = "/getresults", method = RequestMethod.POST, produces = "application/json")\n @ResponseBody\n public ResultsVO getConfigResults(@RequestBody ResultsVO resultsVO, HttpServletRequest request)\n throws OverrideApplicationException {\n String loggedUserId = request.getHeader("USER");\n return resultsService.getConfigResults(resultsVO, loggedUserId);\n }\nRun Code Online (Sandbox Code Playgroud)\n\nResultsVO 对象有很多 String 属性,我只是想知道是否有一种优雅的方法对它们进行编码以防止此漏洞。
\nowasp ×10
java ×5
xss ×3
zap ×2
antisamy ×1
checkmarx ×1
controller ×1
esapi ×1
hash ×1
jakarta-mail ×1
policy ×1
regex ×1
sanitization ×1
validation ×1