Кодировка вывода на стороне сервера со страницы html (не jsp) для предотвращения XSS - PullRequest
2 голосов
/ 11 февраля 2012

У меня есть приложение с отраженной уязвимостью XSS, вызванной неподтвержденным URL-адресом. Я хочу предоставить как минимум выходную кодировку на стороне клиента. У меня есть доступ, чтобы изменить только страницы интерфейса, которые находятся в HTML и JS. У меня нет доступа к бэкэнд-коду приложения, поэтому я не могу использовать UrlEncoder.encode на стороне сервера. У меня вопрос, как я могу вызвать кодирование на стороне сервера из форм на стороне клиента. Я знаю в jsp могу написать <@page import = org.owaps.esapi. * var url = <% = Esapi.Encoderr.encodetoUrl (уязвимыйUrl) =%>

Но так как моя веб-страница не jsp, а html + js, как я могу вызвать функцию кодирования на стороне сервера?

1 Ответ

2 голосов
/ 12 февраля 2012

Учитывая предоставленную вами информацию, я бы сказал, что нет, вероятно, это невозможно.

Допустим, вы добавили: document.forms [0] .redirect.value = encodeURI (malcious url)

Теперь атакующий приходит и отправляет:

"); alert("xss")

Проблема в том, что вредоносные данные уже находятся на странице при запуске клиентского скрипта и уже изменили бы макет и контексты страницы.

Я думаю, что был бы лучший шанс исправить это, используя WAF, такой как mod_security, чтобы ограничить возможные значения, которые могут войти в приложение, а затем попытаться исправить это на стороне клиента.Хотя на самом деле решение проблемы на стороне сервера - лучший вариант.

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