我的网站似乎受到了攻击。我在其中一个日志中找到了这个:
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中使用时如何阻止这种攻击。我四处搜索但找不到任何阻止这种特殊类型尝试的东西 谢谢你的时间
答案 0 :(得分:1)
你得到的是一个SQL注入攻击。
在下载整个数据库之前关闭您的网站。
找到缺陷(这里是fieldname
查询参数的handlind)并修复它们。
然后把你的网站备份。也关闭PHP的详细错误消息
去大众。
圣诞快乐!