摸不了鱼了

2019 年 11 月 26 日,本来应该是无比平静的一天,开开会,改改bug,摸摸鱼之后等着下班。刷着新闻的间隙,手机的消息提示音响了起来,收到了一条邮件,平时收到邮件我都会选择稍后处理模式继续摸鱼,但是看到邮件标题后,我感觉摸鱼是摸不得了,怕不是捅了什么篓子,邮件的标题是这样的:

什么东西?怎么了?我一看到“国家信息安全”几个大字,手里摸的鱼都抓不牢了,我当时真的被唬住了,赶紧点开邮件查看一下我到底做了什么,我真的不知道我干了什么,瞬间进入巨怂模式,屏气凝神不敢说话。

国家信息安全漏洞共享平台的邮件

点开邮件之后,内容如下:

主要文案为:

近日,国家信息安全漏洞共享平台(即中国国家漏洞库,CNVD)接收到报告,获知如下漏洞信息,CNVD-C-2019-195336 Newbee-mall v1.0.0存在SQL注入漏洞。该漏洞经测试,情况属实。现将漏洞情况通报,请贵单位协助做好漏洞分析和处置工作。

国家信息安全漏洞共享平台发现了一处程序漏洞,通知我赶紧处理。

看了邮件内容之后,心情缓和了很多,哎呀,我还以为你要抢我鸡蛋呢,原来是这个 bug,这个问题其实我早就知道了。虽然现在不是巨怂模式,但是依然有点怂,我很纳闷儿,当时主要有如下几个疑问:

  • 这个 bug 并不严重,而且已经修复了,现在这个邮件是什么意思?
  • 就是这么一个问题怎么就会被“国家信息安全漏洞共享平台”给捅出来了?
  • 这个“国家信息安全漏洞共享平台”是真的吗?怕不是要被骗了吧?

好的,带着这几个问题,摸鱼是摸不下去了,赶紧查一下吧,顺便也问问大家到底是怎么回事。

来龙去脉

很多朋友看到这里应该会很好奇,狗十三你到底写了一个什么 bug,还被国家信息安全漏洞共享平台给发现了?

莫慌莫慌,我们从头讲起,十三带着大家来捋一捋这之中的来龙去脉。

几个月之前,也就是 2019 年 9 月份的时候,我在 GitHub 开源平台上发布了一个开源项目 newbee-mallnewbee-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 大型线上商城项目实战教程》

小册将围绕 Spring Boot 技术栈,使用的其它技术框架也会兼顾最新技术动向,对知识进行拓展,由浅入深,步步为营,在学习基础的同时也能够掌握一定的开发技巧,不仅仅只是学习 Spring Boot 的皮毛,也知晓它的源码设计和内部原理,不仅仅只是学习 Spring Boot 的相关技术栈整合,也能够使用 Spring Boot 技术栈搭建一个大型的商城系统,从而让你拥有一个高质量的学习进阶体验。远离 Hello World 项目,让你既能够得到一份完整的实操项目,也能够帮你点满目前炽手可热的 Spring Boot 技术栈,为你的技术深度和薪水职位的提升提供充足的保障。

这是一个商城的实战项目,部分页面预览图如下:

  • 首页

  • 订单列表

感兴趣的朋友可以关注一下。

感谢大家的观看,我是十三,文章首发于我的公众号“程序员的小故事”。

捅娄子了,写个bug被国家信息安全漏洞共享平台抓到了?的更多相关文章

  1. 没错,老板让我写个 BUG!

    前言 标题没有看错,真的是让我写个 bug! 刚接到这个需求时我内心没有丝毫波澜,甚至还有点激动.这可是我特长啊:终于可以光明正大的写 bug 了

  2. 架构师写的BUG,非比寻常

    部门新来了个架构师,BAT背景,住在三环,开宝马上班,有车位. 小伙话不多,但一旦说话斩钉截铁,带着无法撼动的自信.原因就是,有他着数亿高并发经验,每一秒钟的请求,都是其他企业运行一年也无法企及的.这 ...

  3. 写英文bug的经验总结

    本文链接: https://www.cnblogs.com/hchengmx/p/10800855.html 由于工作原因,开bug的时候需要由英文开,刚开的时候比较痛苦,因为有些词汇老师用的不太准确 ...

  4. 脚本写一行echo也能写出bug ? glob了解一下

    背景 最近处理一个 bug 很有意思,有客户反馈某个配置文件解析失败了,出错的那行的内容就只有一个字母 a. 最开始以为是谁改动了处理的脚本,但要到了问题代码中的脚本,比较发现跟库上是一样的. 又经过 ...

  5. 写了Bug,误执行 rm -fr /*,我删删删删库了,要跑路吗?

    每日英语,每天进步一点点(偷笑): 前言 临近五一节,想到有 5 天假期,小林开始飘了. 写个简单的 Bash 脚本都不上心了,写完连检查都不检查,直接拖到到实体服务器跑. 结果一跑起来,发生不对劲, ...

  6. 糟糕,你写的 BUG 要被存1000年了!

    摘要:代码冰封,祖传千年! 把大象放在冰箱需要几步? 三步!把代码放在北极需要几步?纳尼? GitHub刚刚公布了一组照片,你写的代码(BUG)上周已经被打包运往北极保存. 只要你2月2日以前贡献过的 ...

  7. Doug Lea在J.U.C包里面写的BUG又被网友发现了

    这是why的第 69 篇原创文章 BUG描述 一个编号为 8073704 的 JDK BUG,将串联起我的这篇文章. 也就是下面的这个链接. https://bugs.openjdk.java.net ...

  8. 犹记当年写出bug睡不着,回想今天只求睡好渡余生……

    不想面对已经在博客园注册了3年多的时间 了,就是这么快的就已经过去了近3年的工作时间,从最开始的对编程的困惑到慢慢有一点的认识,好像哦就这样没有什么啊,也没有涉及到一些比较难的东西. 但是当初第一份工 ...

  9. #033 信安培训基础题Python解决网络安全实验室|网络信息安全攻防学习平台

    第三题猜猜这是经过了多少次加密?分值: 200 加密后的字符串为:一大串 字符串最后面是= 所以是base64.b64decode编码究竟为啥有=就是base64咱也不知道 咱也不敢问咋解密也是从网上 ...

随机推荐

  1. (二十一)golang--字符串中的函数

    golang中ascii对应的字符占一个字节,而汉字占三个字节. (1)统计字符串的长度len (2)字符串遍历,同时处理有中文的问题r:=[]rune(str) (3)字符串转整数:n,err:= ...

  2. 爬虫多线程模板,xpath,etree

    class QuiShi: def __init__(self): self.temp_url = "http://www.lovehhy.net/Joke/Detail/QSBK/{0}& ...

  3. 力扣(LeetCode)二进制间距 个人题解

    输入:6 输出:1 解释: 6 的二进制是 0b110 . 示例 4: 输入:8 输出:0 解释: 8 的二进制是 0b1000 . 在 8 的二进制表示中没有连续的 1,所以返回 0 . 提示: 1 ...

  4. 【译】利用Lombok消除重复代码

    当你在写Getter和Setter时,一定无数次的想过,为什么会有POJO这么烂的东西.你不是一个人!(不是骂人-)无数的开发人员花费了大量的时间来写这种样板代码,而他们本来可以利用这些时间做出更有价 ...

  5. Android DecorView 与 Activity 绑定原理分析

    一年多以前,曾经以为自己对 View 的绘制已经有了解了,事后发现也只是懂了些皮毛而已.经过一年多的实战,Android 和 Java 基础都有了提升,时机成熟了,是时候该去总结 View 的绘制流程 ...

  6. Redshitf Install

    创建VPC 和 子网和internet网关(子网需开启自动分配公网IP,VPN 需添加到internet网关的路由) 创建安全组: 创建cluster subnet Group; 创建redshift ...

  7. mybatis精讲(四)--ObjectFactory

    目录 前言 mybatis的ObjectFactory 源码 setProperties create instantiateClass 使用场景 # 加入战队 微信公众号 前言 ObjectFact ...

  8. scrapy抓取国家社科基金项目数据库

    1.明确任务 目标网站:http://fz.people.com.cn/skygb/sk/index.php/Index/seach 抓取任务:抓取近五年某关键词(例如"能源".” ...

  9. Spring(Bean)2

    <!-- util:list封装的心 --> <bean id="personList2" class="spring.beans.di.collect ...

  10. .Net Core3.1下使用Swagger搭建web api项目

    前言:微软于前天发布.net core 3.1正式版,并将长期支持3.1.所以我听到这个消息后就急忙下载.net core 3.1的SDK和Runtime,应该是公司最先用3.1的攻城狮了