早前搭过一个wiki (可点击wiki.dashen.tech 查看),用于”团队协作与知识分享”.把游客账号给一位前同事,其告知登录出错.

我用笔记里记录的账号密码登录,同样报错; 打开数据库一看,疑惑全消.

To recover your lost Database and avoid leaking it: Send us 0.05 Bitcoin (BTC) to our Bitcoin address 3F4hqV3BRYf9JkPasL8yUPSQ5ks3FF3tS1 and contact us by Email with your Server IP or Domain name and a Proof of Payment. Your Database is downloaded and backed up on our servers. Backups that we have right now: mm_wiki, shuang. If we dont receive your payment in the next 10 Days, we will make your database public or use them otherwise.

(按照今日比特币价格,0.05比特币折合人民币4 248.05元..)

大多时候不使用该服务器上安装的mysql,因而账号和端口皆为默认,密码较简单且常见,为在任何地方navicat也可连接,去掉了ip限制…对方写一个脚本,扫描各段ip地址,用常见的几个账号和密码去”撞库”,几千几万个里面,总有一两个能得手.

被窃取备份而后删除的两个库,一个是来搭建该wiki系统,另一个是用来亲测mysql主从同步,详见此篇,价值都不大


实践告诉我们,不要用默认账号,不要用简单密码,要做ip限制。…

  • 登录服务器,登录到mysql:

mysql -u root -p

  • 修改密码:

尝试使用如下语句来修改

set password for 用户名@yourhost = password(‘新密码’);

结果报错;查询得知是最新版本更改了语法,需用

alter user ‘root‘@’localhost’ identified by ‘yourpassword’;

成功~

但在navicat里,原连接依然有效,而输入最新的密码,反倒是失败

打码部分为本机ip

在服务器执行

– 查询所有用户

select user from mysql.user;

再执行

select host,user,authentication_string from mysql.user;

user及其后的host组合在一起,才构成一个唯一标识;故而在user表中,可以存在同名的root

使用

1
alter user 'root'@'%' identified by 'xxxxxx';

注意主机此处应为%

再使用

1
select host,user,authentication_string from mysql.user;

发现 “root@%” 对应的authentication_string已发生改变;

在navicat中旧密码已失效,需用最新密码才可登录

参考:

mysql 5.7 修改用户密码


关于修改账号,可参考此


这不是第一次遭遇”比特币勒索”,在四月份,收到了这么一封邮件:

后来证明这是唬人的假消息,但还是让我学小扎,把Mac的摄像头覆盖了起来..

关于此次事件,更多信息记录参考私人笔记