我刚刚注意到我的mysql_real_escape_string
函数不在我的一些 php 脚本中的 '' 内,并且它很容易受到注入和sleep(30)
在我的生产站点上执行的事情的影响。
经过大量阅读后,我将采用 PDO 路线并实施准备好的语句。但这还没有实现。
几个问题,我在我的日志中看到很多人在网上进行了注射,但我看不到任何损害。该站点运行以执行 sql 查询的用户update/select/delete/insert
只有特权。
但是我很担心sleep(30)
什么不起作用,如果他们造成了我没有看到的任何损害?
你能告诉我在哪里检查损坏情况,或者我是否可以安全地受到至少重大损坏?
他们可以更改隐藏的 mysql 设置或系统设置吗?
顺便说一句,我尝试在 centos 6+ linux 和 php 上运行最新更新。
谢谢
编辑:澄清一下,数据库几乎是空的,我不担心数据在那里,密码是 sh512 散列的。所以里面的数据并不重要,因为这是我正在编写的一个新应用程序。但我担心他们是否改变了系统或我应该担心的数据库上的任何内容。我看到的一些注入有 java 等,但日志很大,需要时间来检查它。我还在注入中看到了一些模式字符串。
现在的问题是他们可以阅读我的架构信息或修改它们吗?如果它是受限制的用户,为什么睡眠之类的功能会起作用?他们还可以运行哪些其他功能?
请注意,我在同一个 MySQL 中有其他数据库。我应该担心这些吗?
'' 我的意思是:select * from dbname where id=scaped_string 我应该把它放在引号里