【发布时间】:2014-10-17 15:36:24
【问题描述】:
所以..有人试图进入我的服务器..
从日志中我看到他们正在尝试进行一些基于 php 的攻击,但我仍然想减轻这种情况..
他们正试图通过这个 URL 注入 SQL
/sign_in?t=login'+union+select+char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33)+--+
所以在 Rails 环境中,这在 params 哈希中作为
{"t"=>"login' union select char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33),char(38,126,33) -- "}
由于我将t 参数列入白名单,所以这里没有问题,但如果我忘记将那里列入白名单,我想确保其他网址都可以
首先,我不确定他们试图通过这种攻击达到什么目的。
第二,关于
Model.find params[:id]
Rails 在这种情况下会清理输入吗?还是我必须自己做?
【问题讨论】:
标签: sql ruby-on-rails ruby-on-rails-4 sql-injection