如果你覺得這篇沙雕文章還算有意思,可以給我一些實際點的支援哦! 求點贊? 求關注❤️ 這些對於初來掘金的我來說真的蠻重要的!創作不易,熬夜辛苦,各位的支援和認可,就是我繼續創作的最大動力。
我的 2019 年記錄: 「合抱之木,生於毫末,百丈之臺,起於壘土」記錄我的 2019
摸不了魚了
2019 年 11 月 26 日,本來應該是無比平靜的一天,開開會,改改bug,摸摸魚之後等著下班。刷著新聞的間隙,手機的訊息提示音響了起來,收到了一條郵件,平時收到郵件我都會選擇稍後處理模式繼續摸魚,但是看到郵件標題後,我感覺摸魚是摸不得了,怕不是捅了什麼簍子,郵件的標題是這樣的:
什麼東西?怎麼了?我一看到“國家資訊保安”幾個大字,手裡摸的魚都抓不牢了,我當時真的被唬住了,趕緊點開郵件檢視一下我到底做了什麼,我真的不知道我幹了什麼,瞬間進入巨慫模式,屏氣凝神不敢說話。
國家資訊保安漏洞共享平臺的郵件
點開郵件之後,內容如下:
主要文案為:
近日,國家資訊保安漏洞共享平臺(即中國國家漏洞庫,CNVD)接收到報告,獲知如下漏洞資訊,CNVD-C-2019-195336 Newbee-mall v1.0.0存在SQL隱碼攻擊漏洞。該漏洞經測試,情況屬實。現將漏洞情況通報,請貴單位協助做好漏洞分析和處置工作。
國家資訊保安漏洞共享平臺發現了一處程式漏洞,通知我趕緊處理。
看了郵件內容之後,心情緩和了很多,哎呀,我還以為你要搶我雞蛋呢,原來是這個 bug,這個問題其實我早就知道了。雖然現在不是巨慫模式,但是依然有點慫,我很納悶兒,當時主要有如下幾個疑問:
- 這個 bug 並不嚴重,而且已經修復了,現在這個郵件是什麼意思?
- 就是這麼一個問題怎麼就會被“國家資訊保安漏洞共享平臺”給捅出來了?
- 這個“國家資訊保安漏洞共享平臺”是真的嗎?怕不是要被騙了吧?
好的,帶著這幾個問題,摸魚是摸不下去了,趕緊查一下吧,順便也問問大家到底是怎麼回事。
來龍去脈
很多朋友看到這裡應該會很好奇,狗十三你到底寫了一個什麼 bug,還被國家資訊保安漏洞共享平臺給發現了?
莫慌莫慌,我們從頭講起,十三帶著大家來捋一捋這之中的來龍去脈。
幾個月之前,也就是 2019 年 9 月份的時候,我在 GitHub 開源平臺上釋出了一個開源專案 newbee-mall,newbee-mall 專案(新蜂商城)是一套電商系統,包括 newbee-mall 商城系統及 newbee-mall-admin 商城後臺管理系統,基於 Spring Boot 2.X 及相關技術棧開發,這個開源專案也開源了好幾個月,但是因為最近比較忙,我還沒有介紹給大家,後續我會整理一些文章來詳細地介紹一下這個 Spring Boot 開源商城專案。
以上是事件背景,由於是剛剛開源嘛,肯定還有很多小問題還沒來得及修復,也因此有一些朋友給我提了一些 issue,其中有一條 issue 內容如下:
這是開源專案 newbee-mall 的第一條 issue,這位朋友給我提的意見是:專案裡的部分 SQL 語句存在 SQL 注入的危險。好的,我看到這條 issue 之後就放在那裡了,準備在空的時候給修復掉,大家能夠從圖中看出,這條 issue 是在 2019 年 10 月 20 號提給我的,我也在 10 月 23 號把這個問題給修復並且關掉了這條 issue,本以為是很小的一件事情,專案有 bug,修復嘛,對吧?
但是後面又出現了一些事情,一些意料之外的事情,並不是這封郵件,在這封郵件之前還有一件事情要和大家說一說。
CVE 國際安全漏洞庫
來,繼續。
剛剛說了“國家資訊保安漏洞共享平臺”,這是我們國內的漏洞庫,在接到這封郵件之前呢,我發現 newbee-mall 專案的那個 SQL 注入問題已經出現在了 CVE 的官網,也就是國際安全漏洞庫也收錄了這條 SQL 注入漏洞。
被 CVE 收錄這件事情我是怎麼發現的呢?
做過開源專案的都知道,在倉庫裡我們是可以檢視近期專案的訪問來源的,也就是大家通過哪些渠道進入到我們的開源倉庫這些都是可以追溯的,大致的頁面如下:
分別是網站的 LOGO 以及網址,還有就是通過這個網址的訪問統計,我偶爾也會看一些這個頁面,關心一下專案的訪問情況。某一天呢,我忽然發現在這些記錄裡有一條很陌生很陌生的記錄,也就是 CVE 網站的訪問記錄,而且那幾天,天天都有好幾條統計記錄,其實一開始我也不知道 CVE 是什麼,我只是覺得這個 LOGO 和網址有些陌生,於是就點進去了。
好的,點進去就發現之前提到的那條 SQL 注入問題被收錄到這個網站裡了,阿西吧,內容如下:
很搞人心態的是什麼呢?我壓根兒沒理這個東西,因為我覺得畢竟是一個小 bug,而且我都已經修掉了,你掛著就掛著吧,老子才不理你呢。對,狗十三就是這麼傲嬌。
至於當時的心態為什麼那麼傲嬌,而收到國內漏洞庫郵件的時候差點尿褲子呢?為什麼反差如此之大?這一切的背後到底是道德的淪喪,還是人性的扭曲?
其實都不是,主要因為 CVE 是一個國外站點,我並不熟悉,我也根本沒有在意,而且我真的覺得那個 SQL 注入的小 bug 應該不至於搞多大陣仗。
只是這封郵件之後我才想到,早在收到這封郵件的一個月之前呢,國際安全漏洞庫也收錄了這個漏洞,我還真的是丟人丟到國際上了,真的是有夠好笑呢。
國家資訊保安漏洞共享平臺郵件的後續反饋
好的,我們們把視線拉回到 11 月 26 號,我在收到那封郵件之後就帶著幾個疑問,於是我就把這封郵件的一些內容發給了一些朋友,也發到了自己的 QQ 群裡,主要是想了解一下我是不是很危險,又慫了。
折騰了一個多小時吧,也收到了大家很多的資訊,最終得出結論,組織是真的,問題也不大,都已經修復了,就別再擔心了。
終於鬆了一口氣。
最終呢,我也給國家資訊保安漏洞共享平臺回了一封郵件,告訴他們問題已經修復,不用擔心,同時也感謝他們的善意提醒。
事情到了這裡,其實已經結束,整理這篇文章的目的也就是供大家摸魚的時候有點內容可以看看,同時,也瞭解一下 CVE 和 CNVD 這兩個組織,如果有什麼問題或者想要了解的事情呢,大家也可以留言給我,大家一起討論討論。
寫在最後
做個小推廣,感興趣的朋友可以看一看,最近我在掘金平臺上釋出了一本小冊《Spring Boot 大型線上商城專案實戰教程》(點選該連結或者點選下方圖片購買可以優惠 8 折哦):
小冊將圍繞 Spring Boot 技術棧,使用的其它技術框架也會兼顧最新技術動向,對知識進行擴充,由淺入深,步步為營,在學習基礎的同時也能夠掌握一定的開發技巧,不僅僅只是學習 Spring Boot 的皮毛,也知曉它的原始碼設計和內部原理,不僅僅只是學習 Spring Boot 的相關技術棧整合,也能夠使用 Spring Boot 技術棧搭建一個大型的商城系統,從而讓你擁有一個高質量的學習進階體驗。遠離 Hello World 專案,讓你既能夠得到一份完整的實操專案,也能夠幫你點滿目前熾手可熱的 Spring Boot 技術棧,為你的技術深度和薪水職位的提升提供充足的保障。
這是一個商城的實戰專案,部分頁面預覽圖如下:
感興趣的朋友可以關注一下。
除註明轉載/出處外,皆為作者原創,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連結,否則保留追究法律責任的權利。
感謝大家的觀看,我是十三,文章首發於我的公眾號“程式設計師的小故事”。