我在rails应用程序上运行了一个静态代码分析工具(制动器)并报告了一些SQL注入漏洞,我怀疑这些漏洞可能是误报。违规行看起来像这样:
#things_controller.rb
def index
Thing.select(params[:columns]).where(params[:conditions])
end
我无法想办法利用这一点,但它似乎相当开放,这是否足够安全(此控制器还需要管理员访问权限)还是可以被利用?
Ruby是2.0.0-p247, Rails是4.0.0
答案 0 :(得分:1)
虽然rails有一些特殊字符的内置过滤器,但这绝对容易受到攻击:
http://guides.rubyonrails.org/security.html#sql-injection
如果您想自己测试,请使用带有conditions
GET参数的此操作的网址使用sqlmap运行完整扫描