问题标签 [owasp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
5128 浏览

java - ESAPI.properties 在 Java Google AppEngine 项目中的位置

我的项目正在开发服务器上工作。它适用于以下两种情况:

  1. 使用源路径中的 .esapi 目录,使其最终位于 WEB-INF/classes
  2. 使用 lib 根目录中的 .esapi 目录,使其最终位于 WEB-INF/lib

但是,它在部署到 Google 时不起作用(使用上述两种策略中的任何一种)。

我收到关于无法找到 ESAPI 的常见消息。我第一次尝试使用 ESAPI 部署到 Google 时的属性文件。

ESAPI 似乎确实包含支持 AppEngine http://goo.gl/rD8dz的更改

更新 问题是 org.owasp.esapi.reference.DefaultSecurityConfiguration 的第 603 行调用 ClassLoader.getSystemClassLoader() 这在 Google Appengine 中是非法的。这会导致上面的异常(对不起,它被裁剪了)。在代码尝试获取资源之前,预先将三个 ClassLoader 加载到一个数组中。

我已经破解了我自己的 DefaultSecurityConfiguration 副本,我从 loadConfigurationFromClasspath 方法中删除了 SystemClassLoader(和相应的 classLoaderName)。

具有讽刺意味的是,这是因为他们通过循环通过类加载器使代码易于阅读/扩展(恕我直言),这种方法失败了。我很想提交一个带有内部类的补丁来延迟对 getSystemClassLoader 的调用(这在 AppEngine 上是做不到的)。

有趣的是,这之所以可行,是因为 esapi jar 没有密封。我原以为应该密封一个安全库 jar。也许我用错了!

更新 我通过 maven 使用 esapi jar,它已经被重新打包并且没有签名。不理想,但它的安全性不亚于我从 maven 获得的其他 40 个开源 jar!

0 投票
1 回答
5154 浏览

java - 在没有 Owasp 库的情况下,如何在 Java 中转义 HTML 属性值?

我一直在使用 Apache 的StringEscapeUtilsHTML 实体,但是如果你想转义 HTML 属性值,有没有标准的方法来做到这一点?我想使用该escapeHtml功能不会削减它,否则为什么Owasp Encoder 接口会有两种不同的方法来处理这个问题?

有谁知道转义 HTML 属性与实体的关系以及在没有 Owasp 库的情况下如何处理属性编码?

0 投票
3 回答
18424 浏览

security - Maven Java EE 项目中的 OWASP ESAPI simpleTest

我有一个小型 JavaEE 项目,我必须使用 OWASP ESAPI 保护它

我在 Maven 中集成了这样的 ESAPI:

所以在此之后我可以使用 ESAPI 类进行编程。

我还在.esapi服务器启动中包含了该文件夹:

我也复制了ESAPI.propertiesvalidation.properties

(我不确定它是否有效,但在启动服务器时我没有收到错误)

我查看了ESAPI 安装指南(pdf)(文档真的很糟糕)并复制了示例

“要测试 ESAPI 是否已成功集成和配置,请创建一个名为 EsapiIntegrationTest.java 的文件并粘贴:”

“如果您可以运行此文件并看到 println 输出,则说明 ESAPI 已成功安装和配置!您现在可以开始使用 ESAPI 功能来保护您的 Web 应用程序了!”

我为我的例子“翻译”了它:

我有一个文件test.xhtml

输入时test.xhtml我得到这个非常长的错误(对于更好的少数人,你也可以在pastebin中看到它)

我知道ESAPI Swingset Demo - 这是在我的配置中运行

我有 2 个问题:
我的 Maven 和我的服务器启动配置正确吗?
因为错误看起来像 ESAPI 找不到 ESAPI Logger 函数....


甚至可以在我的设置中使用简单的测试代码片段吗?

(ps 也尝试在没有 maven 的情况下使用它,只包含下载的 jar - 但它不起作用)

我想念类似的东西:(
这是来自 swingset 演示示例,而不是来自我自己的项目)

希望有人可以提供帮助!

0 投票
1 回答
1795 浏览

security - OWASP 应用程序安全验证标准 - V3 并与 JSF 一起使用

目前,我正在处理实施一切是为了防范前 10 名项目的安全风险 对于前 10
名中的第 4 名 -不安全的直接对象引用OWASP 指的是OWASP 应用程序安全验证标准

所以我正在阅读V3中的所有内容,但我现在有一些实现它的问题。
我将 JBoss-AS 7.0.1 与 Java EE6 和 JSF 2.0 一起使用

V3.4 验证会话 id 除了在 cookie 标头中之外从未披露过;特别是在 URL、错误消息或日志中。这包括验证应用程序不支持会话 cookie 的 URL 重写。

我在这里阅读了一些关于 stackoverflow 的文章,如何避免用户第一次访问该端时 jesssion 出现在 URL 中......但很多答案都像:使用 URL 重写......这意味着什么?这does not support URL rewriting of session cookies

在第一个条目上处理 jsessions 的正常方法是什么?有什么保存方法来处理它?

V3.10:验证只有应用程序框架生成的会话 id 被应用程序识别为有效。

你如何在 JSF2.0/JavaEE 中做到这一点?

V3.12:验证包含经过身份验证的会话令牌/ID 的 cookie 是否将其域和路径设置为该站点的适当限制值。

这是什么意思?当我用 Firebug 查看 cookie 时,我从 URL http://localhost:8080/projectname/
运行 webapp ,在 cookie 中我得到: Path: /projectname
这就是 OWASP 的含义have their domain and path set to an appropriately restrictive value for that site.吗?

谢谢!

0 投票
2 回答
2932 浏览

security - OWASP TOP10 - #10 未经验证的重定向和转发

我阅读了很多关于这个主题的文章,包括OWASP PAGE和关于开放重定向的谷歌博客文章......我还在堆栈溢出
时 发现了这个关于开放重定向的问题,但它是一个不同的问题

我知道为什么我不应该重定向......这对我来说完全有意义。

但我真的不明白:重定向和将其放入普通<a href链接之间到底有什么区别?
也许有些用户正在查看状态栏,但我认为他们中的大多数人在单击链接时并没有真正查看状态栏。
这真的是唯一的原因吗?就像在这篇文章中他们写道:

用户可能会认为该链接是安全的,因为 URL 以他们信任的银行 bank.example.com 开头。但是,用户随后将被重定向到攻击者的网站 (attacker.example.net),攻击者可能使该网站看起来与 bank.example.com 非常相似。然后,用户可能会在不知情的情况下将凭据输入攻击者的网页并危及他们的银行帐户。Java servlet 永远不应在未验证重定向地址是否为受信任站点的情况下将用户重定向到 URL。

因此,如果您有类似留言簿之类的东西,用户可以在其中放置指向其主页的链接,那么唯一的区别是链接不会被重定向,但它仍然会转到邪恶的网页。

我看到这个问题了吗?

0 投票
2 回答
234 浏览

security - 从网站中删除电子邮件地址

我有一个我写了一些人的电子邮件地址的地方jsp pageemailaddresses.jsp当用户想要联系时,他/她可以使用这些电子邮件地址,我没有,我也没有form使用任何action. 但是当我进行安全扫描时,它会告诉我Remove e-mail addresses from the website。如何删除这些电子邮件地址?我该如何解决这个问题?

请有任何想法

0 投票
2 回答
3198 浏览

maven - OWASP ESAPI - JavaEncryptor 无法找到/不在类路径中 - 但 ESAPI 正在其他功能中工作

我已经遇到了 esapi 的问题,但最后它起作用了......

我将 OWASP ESAPI 包含在我的pom.xml喜欢中

如果我运行此功能:

ESAPI 编码器完美运行...

但是如果我尝试使用 HASH 函数,

我得到了这个结果

但正如您所看到的,ESAPI 是我的依赖项,但找不到 JavaEncryptor....

搜索结果并没有真正的帮助......

有人知道这个问题吗?(或者无论如何可以提供帮助?)谢谢!

0 投票
1 回答
258 浏览

php - 如何使用 PHP 实现 OWASP 规则 5 来缓解 XSS

OWASP 规则 5 有人可以向我解释一下这是什么意思以及如何在 PHP 中实现它吗?

不要使用 URL 编码对完整或相对 URL 进行编码!如果不受信任的输入被放置到 href、src 或其他基于 URL 的属性中,则应该对其进行验证以确保它没有指向意外的协议,尤其是 Javascript 链接。然后应该像任何其他数据一样根据显示的上下文对 URL 进行编码。例如,HREF 链接中的用户驱动 URL 应该是属性编码的。

这个关于 SO 的答案似乎涵盖了其中的一部分: 输入是 URL,如何 使用 makeHTMLAttributeSafe($string) 函数保护它免受 xss 的影响。但是如何检查它是否是“意外协议或 javascript 链接”?我应该搜索和替换某些“坏”关键字,如“javascript”、“脚本”、“onload”等吗?我的任何用户都没有必要输入这些术语的充分理由,因此我可以在必要时采用相当严厉的方法删除列入黑名单的术语。我花了很多时间试图理解 xss,并且非常感谢对此进行澄清。谢谢!

0 投票
3 回答
1248 浏览

javascript - 哪个 XSS OWASP 规则

使用 OWASP 清单,保护这种情况的正确方法是什么?这是 javascript 字符串中的 url,其中 url 参数需要具有 xss 保护。

问题:

可能的解决方案1:

可能的解决方案2:

可能的解决方案3:

0 投票
1 回答
2355 浏览

java - 测试 ESAPI.validator().isValidFileContent() 的否定场景

我需要测试 API owasps ESAPI.validator().isValidFileContent() 的负面场景

我尝试传递 .exe 和 .ini 文件的字节,其中测试通过 ie,返回类型为true意味着它是有效的文件内容。

什么被视为无效文件?

ESAPI.properties 中是否需要任何配置?