我被“拖庫”了!黑客刪庫後留下這段話

之前企業微信更新版本,新增了一項“機器人”功能,它允許開發者可以通過http請求向機器人所在群組群發消息。很多同事把它用來發送應用告警。不過小編感覺用來划水好像也蠻不錯。


目標是:把平時比較常看的科技媒體寫個爬蟲抓下來,實時推送到企業微信。首先找個快速開發框架節省點開發時間。github上看了下,發現jeecg-boot還不錯,star數9300多個,springboot項目,支持前後端分離,而且還集成了定時任務,滿足要求。

我被“拖庫”了!黑客刪庫後留下這段話

直接clone下來,這個部署也很簡單,按照要求配置好數據庫直接啟動就跑起來了,再啟動前端,如圖:

我被“拖庫”了!黑客刪庫後留下這段話

框架有了,現在分析下需要爬取的網站,打開目標網站:36氪,按F12,發現接口直接就返回json格式,而且沒有校驗,嗯,這種接口簡直就是白送的資源,開發難度為0。


我被“拖庫”了!黑客刪庫後留下這段話

設計好數據庫表結構:

我被“拖庫”了!黑客刪庫後留下這段話

可以開始寫代碼了!邏輯也很簡單:解析json數據到對應表字段內存儲,使用網站接口返回的id可以直接用於去重,每次只取最新的id推送即可。代碼如下:

我被“拖庫”了!黑客刪庫後留下這段話

啟動程序,差最後一步,把爬蟲類添加到定時任務上去:

我被“拖庫”了!黑客刪庫後留下這段話

搞定!程序跑起來了。

我被“拖庫”了!黑客刪庫後留下這段話

小編把這個機器人命名為 “新聞直播喵”,拉進只有我一個人的群組裡面,從此便可以光明正大划水!

我被“拖庫”了!黑客刪庫後留下這段話

剛好騰訊雲雙十一的時候搞活動買了臺服務器,於是便把這隻喵發到了騰訊雲上去。不過部署數據庫的時候,賬號密碼還是沿用本地環境的弱口令賬號密碼,並且為了方便導入數據還開啟了外網訪問權限,嗯。。

有了這隻喵實時推送科技新聞,划水的生活美滋滋。就這樣跑了2個月後,突然在前兩天這隻喵沒動靜了。。剛開始沒多想,以為可能是ip被封了,忙著寫代碼也沒空去看它。直到昨天有點空閒時間後上去看了下應用日誌,結果發現應用報了個找不到數據庫表的錯誤

我被“拖庫”了!黑客刪庫後留下這段話

不不, 這不可能,於是登陸數據庫看了下,發現之前創建的表真的全沒了。。只留下了一張我沒見過的表

我被“拖庫”了!黑客刪庫後留下這段話

warning字段裡面留下了這段話:

To recover your lost Database and avoid leaking it: Send us 0.06 Bitcoin (BTC) to our Bitcoin address 1BLYhUDmnmVPVjcTWgc6gFT6DCYwbVieUD 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: jeecg . If we dont receive your payment in the next 10 Days, we will make your database public or use them otherwise.

要恢復丟失的數據庫並避免洩漏,請執行以下操作:向我們的比特幣地址1BLYhUDmnmVPVjcTWgc6gFT6DCYwbVieUD發送0.06比特幣(BTC),並通過電子郵件與我們聯繫,並提供服務器IP或域名以及付款證明。如果您不確定我們是否有您的數據,請與我們聯繫,我們將向您發送證明。 您的數據庫已下載並備份到我們的服務器上。 我們現在擁有的備份:jeecg。 如果我們在接下來的10天之內未收到您的付款,我們將使您的數據庫公開或以其他方式使用它們。

我擦。。這就是傳說中的“拖庫”“刪庫”嗎。。。還想勒索小編比特幣。

我被“拖庫”了!黑客刪庫後留下這段話

這時小編立馬想到之前設置的數據庫弱口令+外網權限,對方只需要簡單的端口掃描,然後使用大量賬號密碼去撞庫,才導致這次被拖庫刪庫的悲劇。

只是這些數據並不值錢,而且我本地還有一份數據庫腳本的備份,所以沒啥損失,只需要改掉之前的賬戶密碼,並且關閉外網端口權限即可。

不過小編還想知道,像小編這麼麻痺大意的人是不是隻有我自己,於是繼續動手,寫個簡單的端口掃描+幾個常見的弱口令嘗試撞庫一下

首先是端口掃描。小編這裡使用c#代碼來寫(本來想做成客戶端),原理是先隨機生成的IP,用socket連接下對方的mysql端口3306,能通的話代表端口打開,然後把ip放入到需要撞庫的隊列:

我被“拖庫”了!黑客刪庫後留下這段話


網上下載了1000多個常見的弱口令賬戶密碼,然後嘗試登陸需要撞庫的ip數據庫,結果還真找到一個:

我被“拖庫”了!黑客刪庫後留下這段話


登陸進這個悲劇數據庫後,發現裡面也沒什麼東西,估計這個網友也小編一樣,只是用來寫個demo玩玩之類的。


我被“拖庫”了!黑客刪庫後留下這段話


這次刪庫事件也第一次讓小編親身感受到了:網絡上時時刻刻都有一批蠢蠢欲動的人,正在利用安全漏洞進行非法的數據破壞和敲詐勒索。所以各位it從業人員應該時刻警惕自己管理應用系統,防範這類安全漏洞給自己和公司帶來損失,切莫像小編這樣麻痺大意。


分享到:


相關文章: