Комментарии 11
Общее правило проверки всего, что тебе ввел пользователь, еще никто не отменял
У правила должна быть мотивация. Большинство разработчиков не знают об опасности open-uri. Как бы вы валидировали?
Мотивация простая: не верь всему, что вводит пользователь. К тому же, никто не знает о всех возможных косяках, не только в open-uri.
Я бы хорошо подумал перед тем, как позволять пользователю вводить URL, который я должен дернуть со своего сервера. Тут даже при валидном URL’е можно огрести проблем.
Я бы хорошо подумал перед тем, как позволять пользователю вводить URL, который я должен дернуть со своего сервера. Тут даже при валидном URL’е можно огрести проблем.
Возможно, большинство всё-таки знает? Аналогичные проблемы с передачей трубы в open в Perl обсуждались лет 15 назад. Ну и если труба — это экзотика, то уж схема file:/// — наше всё. Если функция принимает URL, то скорее всего она работает и с file:/// схемой. Наконец, даже если вы оставили только http://, это может позволить вашим пользователям проксить трафик через ваш сервис, хачить и DoS'ить чужие серверы от вашего имени и много чего ещё. Естественно, что пользователю нельзя доверять, а как иначе?
> это может позволить вашим пользователям проксить трафик через ваш сервис, хачить и DoS'ить чужие серверы от вашего имени и много чего ещё
более конкретно, как можно досить и чтобы это было реально полезно? SSRF еще можно понять
в open кстати file:/// не проходит а в питонский urllib проходит.
То что большинство НЕ знает я вам гарантирую. Аудировать безопасность рельсов это моя работа, и я знаю о чем говорю.
более конкретно, как можно досить и чтобы это было реально полезно? SSRF еще можно понять
в open кстати file:/// не проходит а в питонский urllib проходит.
То что большинство НЕ знает я вам гарантирую. Аудировать безопасность рельсов это моя работа, и я знаю о чем говорю.
чтобы читать внешние URL которые скорее всего содержат юзер инпут
Почему скорее всего? Откуда такая уверенность?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Опасности использования open-uri