Безопасное отображение гиперссылок в ненадежном тексте - PullRequest
5 голосов
/ 13 октября 2011

В рамках проекта я принимаю текст от пользователя через веб-форму и отображаю его на веб-странице.Текст, который они предоставляют, может содержать URL-адреса, если это так, я бы хотел сделать его гиперссылкой для повышения удобства работы.Например, пользователь может отправить текст, содержащий http://www.google.com, и я хочу преобразовать его в <a href="http://www.google.com">...

. Мне интересно, какие проблемы с безопасностью я должен знать при этом.Я уже принял меры, чтобы избежать любых простых вставок XSS, потому что моя библиотека XML будет экранировать любые специальные символы, но я думаю, что есть более сложные атаки.

Ответы [ 2 ]

1 голос
/ 13 октября 2011

В дополнение к игнорированию javascript: вам, вероятно, следует создавать гиперссылки только для протокола http: потому что существуют определенные приложения, которые можно запускать или управлять другими протоколами.Вспоминаются Steam, Skype и AOL Messenger.

0 голосов
/ 13 октября 2011

Если вы только окружаете URL-адреса элементами a, единственная проблема, которая должна возникнуть, если они вводят вредоносный URL-адрес (он может быть сокращен) и вы в конечном итоге нажимаете его, при условии, что все другие средства атаки безопасны в вашем программное обеспечение (например, не может выполнять произвольно JavaScript и т. д.).

Убедитесь, что вы не учитываете псевдопротокол javascript: при сопоставлении URL-адресов. Ничего хорошего из этого не получится.

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