2014-08-27 82 views
3

以下是某种SQL注入攻击吗?今天检查的日志文件,我注意到许多条目,如这些:这是SQL注入攻击+和+(5 = 5 + xor + 2 = 9) - + a

 
lat=52.350&lon=4.917"+and+(5=5+xor+2=9)--+a 
lat=52.350&lon=4.917"+and+(1=1+xor+2=2)--+a 
lat=52.350&lon=4.917"+and+not+1=7--+a 

还有更多,但我已经加入以上只是那些。我不确定他们在做什么。

任何洞察将有所帮助。

一个完整的URL的一个例子是

 
http://www.example.com/5-Day-Weather-Forcast-For-Amsterdam?lat=52.350&lon=4.917"+and+(5=5+xor+2=9)--+a 

这是他们收到错误:

值52.350或4.917 "和(5 = 5 XOR 2 = 9) - 一对于您的纬度,经度的格式不正确

+0

使用谷歌搜索显示其热门搜索结果中包含类似字符串的网站。即“好姐姐”和(4 = 4 xor 9 = 15) - a' – 2014-08-27 22:29:00

+0

看起来像是一些随机生成的攻击。为什么其他人会写2 = 9而不是0 = 1?也许这应该是为了避免自动SQL攻击检测启发式。 – usr 2014-08-27 22:29:01

+0

不可以。这可能是一个粗俗猜测,网站所有者正在对任何和所有参数进行评估(“”)或系统(“bc%1”)。 – 2014-08-27 22:29:02

回答

3

可能是的。

测试boolean-based blind SQL injection的标准方法是尝试确定一个参数,该参数将接受附加的子句并在子句评估为真或假时产生可靠的不同响应。

如果将“and 1=1”添加到查询中会得到相同的结果,但“and 1=2”会给出错误或不同结果,则可以推断出正在解析附加SQL是合理的。

SQL注入和Web应用程序扫描工具通常会尝试使用不同组合圆括号和引号来尝试适应易受攻击查询语法的多个变体布尔测试有效负载。如果您对此感兴趣,请使用SQLmap这样的工具来运行代理,并观察它尝试查找容易受到攻击的参数,就像SQLi中的主类。