WYSIWYG и XSS - PullRequest
       50

WYSIWYG и XSS

1 голос
/ 02 августа 2011

Я использую TinyMCE в качестве своего онлайн-редактора, но я обеспокоен атаками XSS и т. Д. Я хотя бы заменил все < и >, но это, похоже, не вариант для такого родаредактор, и я не уверен, что удаления тегов сценария тоже достаточно (как насчет onclick, onmouseover и других событий).

Какой должен быть мой подход, чтобы избежать таких атак?

Ответы [ 2 ]

2 голосов
/ 11 декабря 2012

Вы должны выбрать, безопасность или удобство. Редактор WYSIWYG, такой как TinyMCE, очень удобен. Это позволяет неспециалистам использовать веб-интерфейс для обновления содержимого с тегами html или без них. Это ленивый способ позволить кому-то нетехническому обновлять HTML, и это идет со всеми видами опасностей. Когда вы предоставляете пользователям доступ к интерфейсу TinyMCE к вашей базе данных, это абсолютно равносильно предоставлению им клиента базы данных для обновления данных непосредственно в вашей базе данных.

Также обратите внимание, что сегодня существует множество межсайтовых сценариев, которые не являются вредоносными, например, это интеграция с facebook, linkedin, youtube и т. Д., Для которых требуются ссылки на скрипты на сторонние домены и т. Д.

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

Но если вам нужно создать XSS-доказательство добавления / редактирования / обновления / удаления редактора, вам нужно проверить и санировать все входные данные, и ваш лучший выбор - это сделать свой собственный.

1 голос
/ 02 августа 2011

Теоретически вы можете устранить XSS, как это, но на практике это сложно.Кажется, что вы всегда что-то упускаете,Вам также нужно искать попытки обойти вашу защиту с помощью пользователей, кодирующих символы.

...