Может кто-нибудь помочь мне в реализации XSSFilter - PullRequest
0 голосов
/ 19 июня 2019

Может ли кто-нибудь помочь мне в реализации XSSFilter, мне нужно проверить наличие уязвимостей XSS в коде AEM, я обнаружил, что его метод логический check(ProtectionContext context, String src), проверяет наличие любого кода, зараженного XSS, однако каков будет его контекст?Было бы хорошо, если бы кто-то мог поделиться каким-то примером.

xssfilter=resourceResolver.adaptTo(XSSFilter.class);
String validjsonString = xssfilter.filter(jsonString);
LOGGER.debug("validjsonString:::::", validjsonString);

String[] uuidArray = getUUIDArray(validjsonString);

1 Ответ

0 голосов
/ 19 июня 2019

Я предполагаю, что вы используете неразделенные API Sling здесь. В этом случае ProtectionContext, который вы пропустили, исходит от следующего enum:

org.apache.sling.xss.ProtectionContext

enum имеет два значения:

HTML_HTML_CONTENT

Избегайте HTML для использования внутри содержимого элемента (правила # 6 и - в некоторой степени - # 1), используя политику для удаления потенциально вредоносного HTML

PLAIN_HTML_CONTENT

Выход из обычного текста для использования внутри содержимого HTML (правило № 1)

Эти правила, упомянутые в этих определениях, можно найти здесь:

http://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet

Так что вы можете сделать:

xssfilter.check(ProtectionContext.HTML_HTML_CONTENT, <your-string>);
xssfilter.check(ProtectionContext.PLAIN_HTML_CONTENT, <your-string>);

См .: https://sling.apache.org/apidocs/sling11/org/apache/sling/xss/ProtectionContext.html#HTML_HTML_CONTENT

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...