mysql注入损害?

我只是注意到,我的mysql_real_escape_string函数不是在我的一些PHP脚本中的一个“”,它很容易被注入,像sleep(30)在我的生产网站上执行的东西。

我正在进行PDO路线,并在阅读了大量阅读之后执行准备好的陈述。 但是这还没有实施。

几乎没有问题,我在我的日志中看到很多在线人员进行注射,但是我看不到任何损害。 该网站运行的用户执行sql查询具有update/select/delete/insertupdate/select/delete/insert权限。

但是我担心sleep(30)事情sleep(30) ,什么不行,如果他们做了什么损害,我没有看到?
你能告诉我在哪里检查损害赔偿金还是我至less承担了重大损失?
他们可以改变隐藏的MySQL设置或系统设置?

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

谢谢

编辑:只是为了澄清,数据库几乎是空的,我并不担心数据在那里,密码散列sh512。 所以里面的数据并不重要,因为这是我写的一个新的应用程序。 但是我担心如果他们改变了系统上的任何东西,或者我应该担心的数据库。 我看到的一些注入有Java等,但日志是巨大的,它需要时间去超过它。 我也看到注射中的一些模式string。

现在的问题是他们可以读我的模式信息或修改它们? 为什么像睡眠这样的function在工作,如果它是一个受限制的用户? 他们还能运行什么其他function?

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

我的意思是:select * from dbname where id = scaped_string我应该把它放在引号中

检查数据损坏取决于数据库中的数据类型。 如果经过仔细检查,你没有看到任何错误,那么可能没有错。 如果你的数据是任何体面的大小,这将是困难的或不可能的。

有很多自动漫游者在网上漫游,寻找易受SQL注入攻击的代码。 他们的尝试可能是你在日志中看到的。 只是因为一个企图被做了并不一定意味着发生了入侵。

另外请记住,您不一定会有数据被盗的证据。 确定这一点的最好方法是将服务器日志记录下来并在当前服务器的副本上重播,检查是否收到任何数据。

没有任何进一步的信息,我们必须承担最坏的情况:攻击者能够读取,写入和删除数据库中的任意数据,甚至文件系统上的文件,这可能会导致整个服务器的损害(例如通过PHP文件执行命令,权限提升等)。


现在让我们仔细看看可能的影响:

由于PHP的MySQL扩展不允许多个语句,所以称为堆栈语句攻击是不可能的。 所以剩余的可能性取决于实际的陈述动词和上下文,即陈述内的子句:

  • SELECT语句:
    • 读取任何可访问的数据(例如,子查询,联合,基于布尔的盲等)
    • 读文件( LOAD_FILE()
    • 写入文件( … INTO OUTFILE …
  • UPDATE语句:
    • 显然更新任何可访问的数据,可能不只是在当前表中
    • 读取任何可访问的数据(例如,子查询,基于布尔的盲)
  • DELETE语句:
    • 显然删除任何可访问的数据,可能不只是从当前表中
    • 读取任何可访问的数据(例如,子查询,基于布尔的盲)
  • INSERT语句:
    • 显然插入任意数据
    • 读取任何可访问的数据(例如子查询)

其中一些可能没有直接的影响,但可能被用来利用其他漏洞。 最后,这取决于实际的脆弱声明。

据我所知,没有隐藏的MySQL设置,而不是消毒您的输入,以保护您的数据被注入。

你说过,你看到很多人进入网站注入,但是你看不到任何破坏,也许他们只是注入一个纯HTML标签,或者尝试XXS攻击,因为真正的mysql注入,可以删除你的表,更新,重置每个数据受到mysql注入,所以如果我是你,我会立即实施PDO。

如果您有任何与管理面板相似的内容,则应在服务器上检查网站安全性和其他类似后门的工具,因为攻击者可以轻松地从相应的表中读取您的凭据。 而且,当然,在你的页面中寻找任何改变(寻找内联框架和可疑的JS代码)。

最糟糕的情况是在可写目录中执行INTO OUTFILE,然后通过本地包含或直接访问它。

但是,首先,在担心你应该把它看作是最常见的自动化注入数据检测器(你可能会这么说),如果你没有看到任何破坏,那么可能没有任何入侵。 但是要小心 – 现在大多数入侵者不会看到任何可见的破坏,他们很可能会在你的页面中注入一些恶意代码(如iframes与他们的利用)。

所以,不要太偏执,但仍然谨慎:)