犯懒一时爽,整库火葬场(PostgreSQL数据库被勒索实录)

前言

作为一个兴趣发电的非职业码农,在自己的windows云服务器建了PostgreSQL(以下简称pg)数据库,主要作用是为方便开发调试,同时支持的几个前端小项目(一个博客,一个爬虫,还有个小网站)。

埋下隐患

默认用户密码端口:

最早安装pg时由于插件和一些其他原因来回装了几遍,结果为省事,最后一次成功的时候端口和密码都是默认的,没有进行更改。

开放ip访问:

为了方便家里和公司多处开发调试,把pg的ip白名单拿掉了,允许所有ip访问

没有自动备份

由于数据不重要,也没做任何定时备份脚本。

过程

昨天在测试一个刚发现的pREST开源项目,可将数据库直接发布为RESTful API。
玩的不亦乐乎的时候脑中闪过一个念头:我的数据库用户、密码、端口全为默认,只要知道IP地址,数据库分分钟被端。
转念又一想,谁关心你这小破库,这个位数的访问量IP估计都暴露不出去。
而且改一下密码简单,但之前挂在这上面的几个node.js, python, .net core的小后台程序,都要重新找源码,改连接字符串再编译,懒得弄呀。结果FLAG就这么立下了。

今天上午9点多发现网站出问题,一检查后台程序报错:一个表没找到。到服务器上查看结果PgAdmin连不上。由于对pg的只了解个皮毛,就开始慌了,重启服务,清PgAdmin缓冲等操作了一组。好不容易登录上去。结果我原有的两个库其中之一,表都不见了。但多了一个叫please_read_me_xmg的库


有一条记录,同时还留了比特币地址和邮箱[email protected]

To recover your lost Database and avoid leaking it: Send us 0.06 Bitcoin (BTC) to our Bitcoin address 1GH42zWNAoFWVC6UyNut9aJDi2u83sqSeu and contact us by Email with your Server IP or Domain name and a Proof of Payment. If you are unsure if we have your data, contact us and we will send you a proof. Your Database is downloaded and backed up on our servers. Backups that we have right now: postgis_24_sample . If we dont receive your payment in the next 10 Days, we will make your database public or use them otherwise.

庆幸的这个库里的数据都是抓取来的,还能再恢复过来,另一个作用更大点的库没有被干掉。

结果

支付是肯定不会支付的啦,邮箱骂一下还是可以的。然后迅速备份数据,修改密码,下一步还得修改端口。
给大家借鉴一下,作为一个数据库小白,几乎犯了一切不该犯的错误。

幸好最损失一点时间,没有切实的数据损失,算是最大的欣慰了

你可能感兴趣的:(犯懒一时爽,整库火葬场(PostgreSQL数据库被勒索实录))