我只注意到我的mysql_real_escape_string
功能是不是在我的一些PHP脚本的'里面,它是脆弱的注射之类的东西sleep(30)
在我的生产现场执行。
我要去的PDO路线和实施大量的阅读这里经过预处理语句。 但是这还没有实现。
几个问题,我看到我的日志,这些日志大量注射,其中由人在网上做,但我看不到任何损害。 该网站运行做SQL查询的用户update/select/delete/insert
唯一特权。
但我喜欢的东西woried sleep(30)
什么不能工作,如果他们没有任何损失,我没有看到?
你能告诉我在哪里检查的损害或为我的安全,至少大的损害?
他们可以改变隐藏mysql的设置或系统设置?
顺便说一句,我试图运行在CentOS 6 + Linux和PHP的最新动态。
谢谢
编辑:我只想澄清,数据库是空的差不多,我并不担心数据在那里和密码散列sh512。 所以里面的数据并不重要,因为这是一个新的应用程序我写这封信。 但我还是担心,如果他们在系统上改变任何东西的分贝我应该担心。 一些注射我看到的有Java的等,但日志是巨大的,它需要时间去了吧。 我也看到了一些注射模式字符串。
现在的问题是他们能已经阅读我的架构信息或修改呢? 为什么喜欢睡觉职能工作,如果它是一个受限制的用户? 还有什么其他功能可能他们已经运行?
注意:我在同一个MySQL的其他数据块。 我应该woried那些?
通过'我的意思是:从DBNAME其中id = scaped_string我应该把它放在引号中选择*
检查做你的数据损坏是依赖于你在你的数据库中有什么样的数据。 如果经过仔细检查你没有看到任何错误,那么有可能是没有错。 如果你的数据是什么像样的规模,这将是困难或不可能。
有许多自动化的机器人漫游上网找代码容易受到SQL注入式攻击。 他们的企图可能是你在你的日志中所看到的。 仅仅因为一个尝试并不一定意味着发生了非法入侵。
同时请记住,你不一定会被窃取数据的证据。 确定这一点的最好办法是把你的服务器日志和回放他们在当前的服务器副本,检查,看看你得到任何数据备份。
没有任何进一步的信息,我们必须假设最坏的情况:一个攻击者能够读取,写入和删除你的文件系统上的数据库中的任意数据,甚至可能是文件,这可能导致你的整个服务器的损害(如通过PHP文件,权限提升等)命令执行。
现在,让我们在可能产生的影响细看:
由于PHP的MySQL扩展不允许多条语句,所谓的堆叠语句攻击是不可能的。 所以,剩下的可能性取决于实际语句动词和上下文,即在语句中的条款:
- SELECT语句:
- 读取任何数据访问(例如,子查询,工会,基于布尔失明等)
- 读取文件(
LOAD_FILE()
- 写文件(
… INTO OUTFILE …
)
- UPDATE语句:
- 显然,更新任何访问的数据,可能不只是在当前表
- 读取任何数据访问(例如,子查询,基于布尔盲)
- DELETE语句:
- 显然,删除任何访问的数据,可能不只是从当前表
- 读取任何数据访问(例如,子查询,基于布尔盲)
- INSERT语句:
- 显然,将任意数据
- 读取任何数据访问(例如,子查询)
有些可能没有直接的影响,但可能被用来利用其他漏洞。 最后,这取决于实际脆弱的声明。
据我所知,有没有隐藏mysql的设置比消毒的投入,以保护被注入您的数据等。
你说,你看到许多由人来完成进入网站打针,但你看不到任何的伤害,也许他们只是注入一个普通的HTML标签,或试图XXS攻击,因为真正的MySQL注入,可以删除你的表,更新,重新受到MySQL的注入每一个数据,所以如果我是你,我会实现PDO的时候了。
如果你有一个像管理面板任何你应该检查你的服务器上webshells和其他后门样的工具,因为攻击者可以很容易地读取相应的表您的凭据。 和着,当然,寻找在你的页面(寻找I帧和可疑JS代码)的任何变化。
最坏的情况是在可写目录INTO OUTFILE执行,然后accesing它通过本地包含或直接。
但是,首先,担心之前你应该考虑这是最常见的自动SQL注入跳棋(机器人你可能会说),如果你没有看到任何损坏 - 莫斯可能没有侵入。 但要小心 - 大多数入侵者现在不看任何明显的损坏,很可能他们会注入你的页面(与他们的漏洞如I帧)的一些恶意代码。
所以,不要太偏执,但仍需谨慎:)