Javascript, который предотвращает XSS - PullRequest
1 голос
/ 14 июля 2010

Есть ли способ, которым я мог бы автоматически отформатировать поле ввода через Javascript, который предотвращает XSS, прежде чем пользователь попытается нажать на кнопку отправки?

как, например, после того, как пользователь вводит атаку сценария на текстовое поле, javascript автоматически форматирует значение в текстовом поле в безопасный формат.

Кстати, я не просто полагаюсь на эту процедуру для предотвращения XSS, просто у нашей клиентской базы есть фразы, которые заставляют ASP.Net рассматривать его как XSS. вот точный пример:

фраза: OMY G<W TUBE/OVARY заставит страницу считать это XSS, тогда как OMY G< W TUBE/OVARY не рассматривается как потенциальный риск.

Ответы [ 2 ]

3 голосов
/ 14 июля 2010

Нет, нет.

XSS можно предотвратить только во время сервера, отформатировав ненадежные данные для заданного контекста, в котором они будут отображаться.

2 голосов
/ 14 июля 2010

Не сложно, если предположить, что вы можете точно определить, что вызывает фильтр ASP.Net XSS. Например, это исправит ваш показанный случай:

<form id="form" onsubmit="fix()">
    <input id="textbox" />
    <input type="submit" />
</form>
<script>
    function fix() {
        var t = document.getElementById('textbox');
        t.value = t.value.replace(/<(\w)/, '< $1');
    }
</script>

Пожалуйста, поймите, что это «решение» НЕ предотвратит XSS-атаки каким-либо образом и не подтвердит вводные данные каким-либо образом. XSS-атаки можно предотвратить ТОЛЬКО на стороне сервера.

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