我只是注意到我的mysql_real_escape_string函数不在某些PHP脚本的''内,并且容易受到注入(inject)和在生产站点上执行的诸如sleep(30)之类的攻击。

经过大量阅读后,我将走PDO路线并实现准备好的语句。但这尚未实现。

很少有问题,我在日志中看到很多人在网上进行注入(inject),但看不到任何损害。该站点运行以执行sql查询的用户仅具有update/select/delete/insert特权。

但是我很担心sleep(30)之类的东西,什么不起作用,如果它们造成了我看不到的任何损失?
您能告诉我在哪里检查损坏情况吗?或者我对至少重大损坏是安全的吗?
他们可以更改隐藏的mysql设置或系统设置吗?

顺便说一句,我试图在centos 6+ linux和php上运行最新更新。

谢谢

编辑:
只是为了澄清,数据库几乎是空的,我不担心数据在那里并且密码被哈希sh512。因此内部数据并不重要,因为这是我正在编写的新应用程序。但是我担心他们是否更改了系统或数据库上的任何内容,我应该担心。我看到的一些注入(inject)有Java等,但是日志很大,要花点时间才能解决。我还在注入(inject)中看到了一些模式字符串。

现在的问题是,他们可以阅读我的架构信息还是对其进行修改?如果用户受限,为什么像睡眠这样的功能会起作用?他们还可以运行其他哪些功能?

注意我在同一个MySQL中有其他数据库。我应该为此担心吗?

我的意思是:
从dbname中选择*,其中id = scaped_string
我应该把它放在引号中

最佳答案

检查数据是否损坏取决于数据库中数据的类型。如果经过仔细检查您没有发现任何问题,那么可能没有任何问题。如果您的数据大小合适,这将是困难的或不可能的。

有许多自动漫游器在互联网上漫游,以寻找容易受到SQL注入(inject)攻击的代码。他们的尝试可能就是您在日志中看到的。仅因为进行尝试并不一定意味着发生入侵。

另外请记住,您不一定有证据证明数据被盗。确定此结果的最佳方法是获取服务器日志,并在当前服务器的副本上重播它们,检查是否可以获取任何数据。

09-10 00:09
查看更多