mysql数据库遭勒索。。。
背景
2021-11-25
1、访问网站发现,提示数据库不存在
2、到数据库里一看,数据库不存在
以下数据库已被删除:。 我们有完整的备份。 要恢复它,您必须向我们的比特币地址bc1qmnzkd4y5u5eanj87h2phlhwap4hzl6au7990ge支付0.006比特币(BTC)。 如果您需要证明,请通过以下电子邮件与我们联系。 wong49@tutanota.com 。 任何与付款无关的邮件都将被忽略!
造成原因
1、登陆服务器发现只有数据库被删除,网站文件没有变化,扫描也未发现后门,猜测对方通过数据库爆破进来的
为了能远程调试,把监听地址改成了0.0.0.0,造成了这个问题,修改为本地监听
查找日志
1、查看是否打开musql的binlog,log_bin是ON说明mysql开启了binlog,下面是binlog路径
SHOW VARIABLES LIKE 'log_bin%';
2、binlog是Mysql sever层维护的一种二进制日志,与innodb引擎中的redo/undo log是完全不同的日志;其主要是用来记录对mysql数据更新或潜在发生更新的SQL语句,并以"事务"的形式保存在磁盘中;
cd /var/lib/mysql
其中mysql-bin.000*就是binlog文件
3、使用命令打开最新的binlog文件,文件内容一般都很多,可以输出到文本查看,发现对方是直接把数据库drop掉了
mysqlbinlog mysql-bin.000732 > 1.txt
mysql恢复
使用binlog恢复文件(以下步骤未尝试,需要自行尝试)
原理就是binlog保存了你所有的数据库操作,相当于你重新执行了在执行drop之前所有的增删改查。
mysqlbinlog --start-datetime='20xx-01-01 00:00:00' --stop-datetime='20xx-06-24 10:30:00' mysql-bin.000001 | mysql -h x.x.x.x -u root -p -P 3306
其中
start-datetime=为你想恢复的起始位置,一般为刚创建数据库的时候
stop-datetime=为被删库之前的时间,只要是被删库之前就可以
mysql-bin.000001为要恢复的binlog文件,将所有相关的mysql-bin都写上,以逗号隔开
mysql -h x.x.x.x -u root -p -P 3306 为你的远程数据库地址
x.x.x.x为远程ip
root为用户名
3306为端口号
版权声明:
本站所有文章除特别声明外,均採用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
weehhd!
喜欢就支持一下吧
打赏
微信
支付宝