摸不了鱼了

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. Redis实战--Jedis实现分布式锁

    echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 分布式 ...

  2. MySQL开发规范与使用技巧总结

    命名规范 1.库名.表名.字段名必须使用小写字母,并采用下划线分割. a)MySQL有配置参数lower_case_table_names,不可动态更改,Linux系统默认为 0,即库表名以实际情况存 ...

  3. PHP 高级面试115题汇总(含答案)

    1.给你四个坐标点,判断它们能不能组成一个矩形,如判断 ([0,0],[0,1],[1,1],[1,0]) 能组成一个矩形.勾股定理,矩形是对角线相等的四边形.只要任意三点不在一条直线上,任选一点,求 ...

  4. 后台开发小白必学服务器框架——UDPServer

    毕业后加入了一家大型的互联网公司的音视频产品部门做后台开发,其实我本身是学习自动化的,研究生的方向嵌入式系统,对互联网可是一知半解,因此能进入这样一个大公司还是很幸运的. 刚开始工作的半年应该是在上份 ...

  5. pat 1002 A+B for Polynomials (25 分)

    1002 A+B for Polynomials (25 分) This time, you are supposed to find A+B where A and B are two polyno ...

  6. hdu 2063 过山车 (二分图,最大匹配)

    过山车Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...

  7. hdu 1285 确定比赛名次 (topsort)

    确定比赛名次Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  8. 领扣(LeetCode)设计哈希映射 个人题解

    不使用任何内建的哈希表库设计一个哈希映射 具体地说,你的设计应该包含以下的功能 put(key, value):向哈希映射中插入(键,值)的数值对.如果键对应的值已经存在,更新这个值. get(key ...

  9. centos 生成网卡UUID

    在Linux或CentOS中,可以通过如下命令获取网卡的uuid信息: uuidgen 网卡名07d07031-eb0f-4691-8606-befb46645433 查看网卡UUID nmcli c ...

  10. linux 6.5操作系统建立

    VM上redhat enterprise linux6 ---> 使用仅主机模式网络连接 开始安装: ——>是否检查镜像:skip ——>选择语言: 中文/英文 ——>存储设备 ...