Tag: owasp

ESAPI规范化畸形url

我们有一个接受用户url的应用程序。 这些数据需要validation,我们正在为此目的使用ESAPI。 但是,我们正在努力处理包含&符号的url。 当ESAPI在validation之前规范化数据时,会出现此问题。 例如,URL中的&pid = 123变为πd= 123。 由于π未列入白名单,因此validation失败。 我已经尝试过对它进行编码,但是ESAPI比这更聪明,并且规范化以避免双重编码和混合编码。 我有点难过,我不知道该怎么办。

HTML-Entity转义以防止XSS

我有一些用户输入。 在我的代码中,我确保以下符号被转义: & -> & < > -> > OWASP表示有更多的字符要被转义。 对于属性,我做了另一种转义: & -> & ” -> " 这确保所有属性都包含在“。这使我确定我的html属性,但不是HTML本身。 我想知道我的逃跑是否足够。 我读过这篇文章 ,但我仍然不确定我的担忧。 (使用OWASP-Library转义JavaScripts)

如何在使用OWASP Java HTML Sanitizer清理html时允许嵌入的图像

我想允许: 我看到有关于如何执行此操作的文档,但我不明白如何实现它。 我试图添加模式 .allowUrlProtocols(“data”) .allowAttributes(“src”).matching(Pattern.compile(“$data:image.*”)).onElements(“img”) 但那没用。 我理解模式必须是正则表达式,但我不确定我是否理解它是如何连接起来的。 我知道它正在尝试寻找img标签,然后查看src属性。 我的理解是,它应该寻找字符串数据:图像和if发现允许它通过。 但那并没有发生……

用户提供的url属性的ESAPI XSS预防

我的一个REST API期望一个属性“url”,它希望URL作为用户的输入。 我正在使用ESAPI来防止XSS攻击。 问题是用户提供的URL就像 http://example.com/alpha?abc=def&phil=key%3dbdj 来自ESAPI编码器的cannonicalize方法抛出入侵exception,声称输入具有混合编码,因为它是url编码的,并且片段’&phi’被视为HTML编码,因此是exception。 我有一个类似的问题,清理我的一个应用程序URL,其中第二个查询参数以’pa’或’pi’开头,并通过HTML解码转换为delta或pi字符。 请参阅我之前的Stackoverflow问题 现在问题在于,由于整个URL都是来自用户的输入,我不能简单地解析Query参数并单独清理它们,因为可以结合两个查询参数创建恶意输入并单独清理它们不会在那里工作案件。 示例:&ltscr来自第一个查询参数值和ipt&gtalert(0)的最后一部分; 或者某些东西作为下一个查询参数控制上下文的第一部分。 有没有人遇到过类似的问题? 我真的很想知道你们实施了哪些解决方案。 谢谢你的任何指示。 编辑:来自’avgvstvs’的以下答案不会引发入侵exception(谢谢!)。 但是,cannonicalize方法现在更改原始输入字符串。 ESAPI将查询参数的phi视为一些html编码的char并将其替换为’?’ 焦炭。 像我之前在这里链接的问题。 区别在于我的应用程序的URL,而这是用户输入。 我唯一的选择是在这里保留一份白名单吗?