MYSQL数据库被入侵篡改了数据 该如何解决?
接触mysql数据库已经很多年了,经常碰到mysql数据库被攻击,导致用户的数据库
丢失,数据库被删除,花钱找人恢复出来少则几万,多则几十万的花费,在防止数
据库被攻击的同时,也要做好数据库的实时备份,如果使用了阿里云的服务器,可
以使用阿里云的快照备份,可以及时的备份一份数据在自己手里。

这么多年了摸索下来,给自己总结了一些安全经验、从数据库安全类型的角度来看
,数据库分Mysql、Mssql、Oracle、PostgreSQL,用的最多的是mysql数据库,如
果再算上web前端架构,Apache、IIS、nginx都是与数据库相关的。
数据库攻击产生是因为前端程序代码没有对用户的输入,进行详细的安全过滤,导
致黑客可以篡改输入值,来进行代码的攻击,比如一些数据库的操作查询代码都可
以传入到后端数据库里去。
最常见就是是数据库的UNION查询,也是mysql中用的最多的一种获取数据库里的数
据,首先是UNION带回显查询常规流程。随后是mysql报错函数的原理、与注入,黑
客通过一些特殊的注入语句就可以轻松的查询到想要的信息。Sine安全公司是一家
专注于:服务器安全、网站安全、网站安全检测、网站漏洞修复,渗透测试,安全服
务于一体的网络安全服务提供商。
OOB注入攻击数据库
OOB注入,就是通过非常规的方式将数据传输出去。同样需要secure_file_priv权
限,对于Mysql有DNS(域名漏洞)和SMB两种主要带外传输方式。这种技术在概念
上比较难理解,但掌握之后是非常强大的技术,除了能绕过WAF向外带出数据之外
,还可以结合XSS漏洞进行危害性更大的黑客攻击。
宽字节注入攻击
宽字节注入可以在web应用转义单引号的情况下,利用宽字节的特性,吃掉转义反
斜杠。然后传入带有攻击性的代码,进而攻击数据库。
以上种种都是黑客攻击数据库的方式,那么如何防止数据库被攻击?最重要的还是
要在网站前端做好防护,在程序代码里尽可能的去过滤非法参数,避免恶意代码传
入到数据库中去,再一个就是开始PHP的报错模式,以及mysql默认3306端口的关闭
,只允许本地调用数据库。
把mysql运行账户的权限,限制到最小,千万不要用root以及管理员权限去运行。
mysql的自身的4个库安全权限限制:
user、db、TABLES_PRTV、Columns_prtv
mysql密码安全策略,数字+子母+字符 最起码十位以上
mysql安全日志开启,包括错误日志,查询日志记录所有的sql语句。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端