Секретный вопрос о программно посещенном URL, предоставленном кем-то другим - PullRequest
0 голосов
/ 14 апреля 2011

Мне интересно, существуют ли какие-либо угрозы безопасности, связанные с загрузкой содержимого URL-адреса из моего веб-приложения.Я использую WebClient.DownloadString () для анализа возвращаемых данных.

URL предоставляется пользователями, и я не имею никакого контроля над тем, что он возвращает и как он выглядит.Я предполагаю, что WebClient не выполняет никаких сценариев?Но есть ли еще что-то, о чем мне нужно беспокоиться?

Пользователь в конечном итоге сможет увидеть результат действия загрузки WebClient, которое произошло на моих серверах.Я несколько обеспокоен тем, что URL, который они могут выбрать, будет «file: //c//inetpub/website/web.config» или что-то подобное ...

Буду признателен за любой совето том, как защитить себя здесь?

Спасибо

1 Ответ

2 голосов
/ 14 апреля 2011

На техническом уровне вы должны внедрить валидатор, который гарантирует, что предоставленный URL соответствует определенным строгим правилам, например, начинается с "http" и так далее. Таким образом, никакие местные ресурсы не могут быть направлены.

Но я бы больше беспокоился о юридических вопросах. Ваши пользователи могут использовать ваш сервер для доступа к нелегальному контенту с других серверов. Вы не хотите показывать такой контент.

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

...