Возможна ли здесь инъекция 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
Получить параметр