Про интернет
OpenURI в руби это стандартная библиотека сильно упрощающая работу с URL так как она объеденяет в себе Net:HTTP/HTTPS/FTP и представляет из себя всего лишь метод open. Насколько я знаю это самый популярный способ для скачивания файла, GET запроса или чтения данных.

Но на деле require "open-uri" патчит Kernel.open и вызывает разный код для разных аргументов, что может привести к удаленному выполнению кода или чтению любого файла на сервере!

open(params[:url]) это выполнение кода для url=|ls Все что начинается с | рассматривается как системный вызов.

open(params[:url]) if params[:url] =~ /^http:// не лучше для url=|touch n; http://url.com (сломанные регулярки могут привести к RCE, используйте Az).
Читать дальше →

Источник: autoRSS

Перейти на сайт

Другие материалы на сайте b.Z - Записки о гаджетах, людях и музыке