Возможна ли здесь инъекция SQL?

Я запустил инструмент статического анализа кода (тормозник) в приложении rails, и он сообщил о некоторых уязвимостях SQL-инъекций, которые, как я подозреваю, могут быть ложными срабатываниями. Оскорбительные строки выглядят так:

#things_controller.rb

def index
  Thing.select(params[:columns]).where(params[:conditions])
end

Я не могу придумать способ использовать это, но он кажется довольно открытым, достаточно ли это безопасно (этот контроллер все равно требует административного доступа) или его можно использовать?

Ruby 2.0.0-p247, Rails 4.0.0

1 ответ

Решение

Хотя в rails есть несколько встроенных фильтров для специальных символов, это определенно уязвимо:

http://guides.rubyonrails.org/security.html

Если вы хотите проверить это самостоятельно, запустите полное сканирование с помощью sqlmap, используя URL этого действия с conditions Получить параметр

Другие вопросы по тегам