标签: owasp

AntiSamy允许编码脚本警报通过?怎么阻止?

我正在使用AntiSamy和可用的antisamy-1.4.1.xml策略.该政策正在很好地阻止大多数受到攻击的XSS,但以下内容未被阻止.有关如何阻止以下内容以防止XSS攻击的任何建议?

1234%27%2Balert%2873918%29%2B%27
Run Code Online (Sandbox Code Playgroud)

谢谢

java xss policy owasp

2
推荐指数
1
解决办法
5005
查看次数

OWASP十大更新

自2010年以来,OWASP十大项目是否未更新?

看过OWASP上的以下网站,我可以看到情况可能如此:https://www.owasp.org/index.php/Category : OWASP_Top_Ten_Project

我的公司在OWASP合规方面做了大量工作,所以我只是想确定我是最新的?

owasp

2
推荐指数
1
解决办法
961
查看次数

何时使用MessageDigest.reset()

我盲目地遵循了OWASP关于java中哈希生成的建议(见这里),我不确定我是否已经正确地完成了它.具体来说,我不确定其用途和效果MessageDigest.reset(),以及何时以及如何使用它.

  1. 我正在通过update()摘要多次使用不同的值来"加载"我的盐和有效负载,这些值完全需要签名.我应该reset()事先消化吗?还是之后呢?
  2. 为什么摘要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确实会改变...

java hash owasp message-digest

2
推荐指数
2
解决办法
5628
查看次数

使用 Esapi 验证时出错

我希望有人可以帮助我解决一些问题。

我将 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”中添加了其他正则表达式并且工作正常。为什么这个这么难?谁能帮我解决这个问题?

java regex validation owasp esapi

2
推荐指数
1
解决办法
1万
查看次数

服务器XSS与客户端XSS

什么是服务器XSS和客户端XSS 之间的区别的明确解释?

我阅读了OWASP网站上的解释,但对我来说不是很清楚.我知道反映的,存储的en DOM类型.

xss owasp

2
推荐指数
1
解决办法
3818
查看次数

OWASP HTML Sanitizer允许在HTML中使用冒号

如何:签署已清理的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)

xss jakarta-mail html-sanitizing owasp

2
推荐指数
1
解决办法
1277
查看次数

OWASP AntiSamy 正在将换行符替换为空格 (JAVA)

我在 JAVA 项目中使用 OWASP AntiSamy,但每次我尝试使用包含 \n 字符的字符串调用方法 getCleanHTML() 时,该方法都会替换为空格“”。我已经尝试更改 XML 文件中的规则,但它仍然发生。我如何解决它?

java owasp antisamy

2
推荐指数
1
解决办法
850
查看次数

OWASP ZAP 未在历史视图中显示对图像的请求

我正在调查 Web 应用程序中的一些奇怪行为,其中某些东西正在生成不应该存在的请求。由于触发这些请求的主要操作会打开一个新的浏览器窗口,因此浏览器内置的网络调试功能无济于事。现在,我只想查看通过网络传输的原始请求。因此,我安装了OWASP ZAP以将其用作本地代理。

令我惊讶的是,OWASP ZAP 似乎没有在“历史”选项卡中显示对图像的任何请求。我所追求的请求当然是对图像的请求。如何启用这些请求的日志记录?

owasp zap

2
推荐指数
1
解决办法
940
查看次数

在作为守护进程运行的 ZAP 代理扫描中排除 URL

使用以下命令以守护程序模式启动时,如何从 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

owasp zap

2
推荐指数
1
解决办法
1068
查看次数

修复 Checkmarx XSS 漏洞

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    }\n
Run Code Online (Sandbox Code Playgroud)\n\n

ResultsVO 对象有很多 String 属性,我只是想知道是否有一种优雅的方法对它们进行编码以防止此漏洞。

\n

java controller sanitization owasp checkmarx

2
推荐指数
1
解决办法
1万
查看次数