我为一位客户开发了一个网站,他们将在网上发布他们的商品图片。网址是www.domiainname.com/item-details.cfm?sku=125
。有人试图浏览到产生的www.domiainname.com/item-details.cfm?sku=125%20and%203=3
以及我收到通知的错误。这是一个SQL注入攻击的例子吗?
我也收到错误报告:
[email protected]@version--
item-details.cfm?sku=1291'[email protected]@version
[email protected]@version
最后三个例子肯定是有人试图进入系统,正确的?
如果我们将这个转换为存储过程,是否会减少或消除插入攻击的风险?
是的,查询被包裹在cfqueryparam标签(例如'' –
HPWD
2012-03-12 13:41:02
我明白他们想用@@版本做什么,但是3 = 3会告诉他们什么?我的错误捕获器也会报告IP地址。我想过要添加一个db表格和添加的IP,我从这样的情况中获得,然后将这些用户重新发布到谷歌或其他东西。这是有效的还是只是一个练习? – HPWD 2012-03-12 13:43:38
通过添加重言式(例如3 = 3),他们试图从数据库中获取所有结果。但是,也许他们不像所有那样聪明,因为他们需要在这种情况下使用OR而不是AND!只要你使用''''''''''''''''''''''''''''''''''''''''''您应该可以安全地使用SQL注入攻击(至少在SELECT上,您可能仍然容易受到对INSERT和UPDATE的XSS攻击)。尽管如此,验证你的参数是一个好主意,所以你可以在错误发生之前捕获错误 - 尝试执行''来捕获这个错误,或者使用'isNumeric()得到通知。 –
2012-03-12 13:53:15