xss - 如何在 cq 5.5 中配置 antisamy?

标签 xss aem owasp antisamy

我有 cq 5.5 项目。

我想防止 XSS 攻击。

根据这个link cq 提供与 AntiSamy 项目的集成。

请提供与AntiSamy集成的具体步骤,因为我实在找不到。

更新

我应该在某处编写这样的代码吗?

import org.owasp.validator.html.*;

Policy policy = Policy.getInstance(POLICY_FILE_LOCATION);

AntiSamy as = new AntiSamy();
CleanResults cr = as.scan(dirtyInput, policy);

MyUserDAO.storeUserProfile(cr.getCleanHTML()); // some custom function

最佳答案

CQ提供的XSS防护机制已经基于AntiSamy Project。您只需提供您的自定义反同配置,以防默认配置不满足您的需求。

默认的反同配置存在于 /libs/cq/xssprotection/config.xml 中,可以用 /apps 中的自定义配置覆盖它。

您可以使用 CQ 中提供的 XSS 保护 API 来保护您的网站免受安全攻击。 XSSAPIXSSFilter类提供各种方法来验证给定的值。

xssAPI 可作为包含在 /libs/foundation/global.jsp 中的隐式对象使用,而 XSSFilter 可以如下所示获取和使用。

XSSFilter xssFilter = sling.getService(XSSFilter.class);
String filteredString = xssFilter.filter(ProtectionContext.HTML_HTML_CONTENT,
                            dirtyInput, POLICY_FILE_LOCATION); 

您可以找到一些预定义的策略文件和创建新配置的步骤 here .

更新:

如果你不想使用 XSS API,那么你需要在你的实例中安装 owasp esapi 包,然后你可以使用问题中提到的代码。

关于xss - 如何在 cq 5.5 中配置 antisamy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24800295/

相关文章:

javascript - 创建函数对象时奇怪的模板字符串行为

javascript - 如何开始使用某人的 API 制作一个小型跨站点 AJAX 脚本?

security - 为什么 XSS 注入(inject)需要对 & 进行转义

java - AEM:从java中的节点读取一个值,该值是多字段的值

asp.net - ResolveUrl XSS 问题的全局解决方案

java - Oracle JDBC连接超时问题

apache - 我们可以为特定的 url 配置/忽略 UrlParams 吗?

java - 在 Java(或 Scala)中过滤向上路径遍历

java - 在 Servlet 中编写 HTTP 响应时存在跨站脚本缺陷(下载 excel 文件)

javascript - 如何在 Angular 页面中设置 CSRF token - OWASP CSRFGuard 3.0