我的网站遭到攻击,如何阻止这一点

时间:2014-12-26 07:05:51

标签: sql-server security

我的网站似乎受到了攻击。我在其中一个日志中找到了这个:

  

2014-12-23 01:37:35 46.148.31.54 - x.x.x.x 80 GET   /pagename.asp?fieldname=558211'+declare+@s+varchar(8000)+set+@s=cast(0x73657420616e73695f7761726e696e6773206f6666204445434c4152452040(...long   十六进制   代码...)6f72 +为+ VARCHAR(8000))+ EXEC(@s) - | 44 | 80040e07 | Syntax_error_converting_the_varchar_value_'558211_declare_ @ s_varchar(8000)的设置 @scast(0x73657420616e73695f7761(.. 。长   十六进制代码...)e636f ... 500   的Mozilla / 5.0 +(Macintosh上; +英特尔+的Mac + OS + X + 10_8_5)+为AppleWebKit / 537.36 +(KHTML,+等+壁虎)+镀铬/ 38.0.2125.104 + Safari浏览器/ 537.36

我尝试了一些在线十六进制到字符串转换器,它显示所有十六进制实际上是一个sql语句,意味着在所有表列中放置一个网站链接。它使用information_schema的东西 现在我非常缺乏经验,但这看起来像是一些sql注入攻击。我使用过滤字符等简单的东西。 但是我希望知道当sql语句转换为十六进制然后在url中使用时如何阻止这种攻击。我四处搜索但找不到任何阻止这种特殊类型尝试的东西 谢谢你的时间

1 个答案:

答案 0 :(得分:1)

你得到的是一个SQL注入攻击。 在下载整个数据库之前关闭您的网站。 找到缺陷(这里是fieldname查询参数的handlind)并修复它们。 然后把你的网站备份。也关闭PHP的详细错误消息 去大众。

圣诞快乐!