文 | 罗奇奇

出品 | OSC开源社区(ID:oschina2013)

1月 25日, Linus Torvalds 在 Linux 的 GitHub 仓库中提交了一个恶作剧 README 页面:https://github.com/torvalds/linux/tree/8bcab0346d4fcf21b97046eb44db8cf37ddd6da0,其备注名为《delete linux because it sucks》—— 我删除了 Linux ,因为它就是个垃圾。

大家好,我是 linus torvalds,红极一时的 linux 的作者。你可以查看 repo 的 url 和文件顶部的名字,它们可以证明是我本人在提交。

我删除了 linux,因为我讨厌它,我认为它很烂。你应该去用这个很棒的操作系统,它叫做 windows xp,我刚刚发现它真的很棒。

为什么说这是一场恶作剧呢?因为 Linux 的源代码并没有被删除,而且有细心的网友发现:该 README 最底部还有一个链接:

这个链接指向 Hacker News 黑客论坛的一个帖子,帖子详细介绍了 GitHub 现存的“虚假提交”漏洞:可以在 https://github.com/my/project 的 URL下发布任意提交。

比如用 https://github.com/my/project/blob/<faked_commit>/README.md 这种 URL ,就可以发布虚假的 README 页面,这种虚假提交不会出现在项目的提交记录里面,也不属于任何一个分支,只能通过访问特定的 URL 看到。而 Linus 这个恶作剧 README 文件正是利用了这个虚假提交漏洞,看一下这个 README 的 URL :

如果是正常的提交,URL 应该带有 commit 字眼,比如:

除了 URL 不对外,该 README 文件也未出现在提交记录中:

由此可见,Linus 只是开了个玩笑,并非真的删库跑路。

对此漏洞感兴趣的可以去看看 Hacker News 的原帖,这个虚假提交漏洞结合 GitHub 另一个“通过 git 电子邮件地址冒充用户”漏洞:https://bounty.github.com/ineligible.html#impersonating_a_user_through_git_email_address,能创造出以假乱真的钓鱼页面。

比如

https://github.com/slimsag/linux/tree/5895e21f3c744ed9829e3afe9691e3eb1b1932ae#linux-kernel 这个仓库,看起来似乎 Linus 本人参与了这个仓库的建设:

然而这只是通过替换电子邮件地址漏洞,把 slimsag 换成了 torvalds 而已。

左边是通过漏洞替换邮件地址的 torvalds ,右边是正常的,仔细观察对比可以发现,障眼法换出来的 torvalds 是不显示活动记录的。

这些 GitHub 漏洞都是 2020 年公开的,然而漏洞作者称“GitHub 完全不把这些问题当作漏洞”,不知道 GitHub 是无法处理,或是认为没必要处理,反正直到现在它们仍能被利用。

各位伙伴们好,詹帅本帅搭建了一个个人博客和小程序,汇集各种干货和资源,也方便大家阅读,感兴趣的小伙伴请移步小程序体验一下哦!(欢迎提建议)
推荐阅读牛逼!Python常用数据类型的基本操作(长文系列第①篇)
牛逼!Python的判断、循环和各种表达式(长文系列第②篇)牛逼!Python函数和文件操作(长文系列第③篇)牛逼!Python错误、异常和模块(长文系列第④篇)

Linus:“我删除了Linux,因为它就是个垃圾!”相关推荐

  1. linux系统log可以删吗,Linux 系统 /var/log/journal/ 垃圾日志清理

    CentOS系统中有两个日志服务,分别是传统的 rsyslog 和 systemd-journal systemd-journald是一个改进型日志管理服务,可以收集来自内核.系统早期启动阶段的日志. ...

  2. Linus:“我删除了 Linux,因为它就是个垃圾!”

    点击上方"Java精选",选择"设为星标" 别问别人为什么,多问自己凭什么! 下方有惊喜留言必回,有问必答! 每一天进步一点点,是成功的开始... 1月 25日 ...

  3. linux启动后分区数据变化,求助!我删除了Linux启动分区

    我删除了Linux系统上的分区,但我还能看见启动菜单.我该如何重新安装GRUB2且不丢失数据呢? 我们来还原下情景:你既不是故意删除Linux启动分区,也不是更新出现错误而删除了它.现在你无法访问你的 ...

  4. Linus Torvalds 通过了 Linux 中避免 master/slave 等术语的提案

    Linux 内核维护者 Dan Williams 曾于 7 月初提交一份提案,建议逐步取消 master/slave 和 blacklist/whitelist 术语.近日,Linus Torvald ...

  5. Linus怒批GitHub:制造了毫无用处的垃圾合并信息!

    作者 | 局长 来源 | OSC开源社区(ID:oschina2013) Paragon 软件公司最近将他们的 NTFS 驱动提交到了 Linux 内核,但 Linus 在把相关代码拉取到 5.15 ...

  6. Linus 又开怼:有时候标准就是个垃圾!

    在一个 Linux 内核 4.18-rc1 的 Pull Request 中,开发者 Andy Shevchenko 表示其在对设备属性框架进行更新时,移除了 union 别名,这引发了 Linus ...

  7. Linux安全应用之防垃圾邮件服务器的构建

    Linux安全应用之防垃圾邮件服务器的构建 一 .垃圾邮件产生的原因 垃圾邮件 (SPAM) 也称作UCE(Unsoticited Commercial Email.未经许可的商业电子邮件)或UBE( ...

  8. Linux 5.19 迎来首个候选版本,Linus:多平台 Linux 内核“差不多完成了”

    整理 | 彭慧中       责编 | 屠敏 出品 | CSDN(ID:CSDNnews) 2022 年 6 月 7 日,Linus Torvalds 重磅发布了 Linux 5.19 的首个候选版本 ...

  9. 林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)- Linux之父 - Linux内核的缔造者

    http://bbs.chinaunix.net/thread-4266397-1-1.html 1991年,年仅22岁的芬兰程序员Linus Torvalds发布了自己独创的操作系统-Linux.他 ...

最新文章

  1. 自学python需要买书吗-请问自学 Python 有必要买课程吗?
  2. linux的wc是什么命令,linux中的wc命令
  3. druid列存数据库简介
  4. CVPR2016:ResNet 从根本上解决深度网络退化问题
  5. shell 与 空格
  6. iis php报错无法屏蔽,php屏蔽错误消息
  7. yolov2移植到android,darknet(yolov2)移植到caffe框架
  8. JavaFX图表(五)之气泡图
  9. python 支付宝个人账单_金融支付财务融合业务-实践分享1:订单、账单、交易流水、账套知识解构、原理解析...
  10. 后端学 Angular 2 —— 组件间通信
  11. 省市区三级联动 mysql_javaweb--json--ajax--mysql实现省市区三级联动(附三级联动数据库)...
  12. PHP绿色集成环境在云服务器上的应用,PHPWAMP在服务器上搭建网站案例
  13. 大型互联网产品的全链路压测
  14. J2ME、J2SE、J2EE 小讲
  15. windows 7 专业版 64位 无法安装.Net 4.7版本解决方案
  16. 爬虫之抽屉新热榜点赞基本示例
  17. Fusion APP-检查软件更新-远程公告
  18. Lua math函数的用法
  19. 解决路由报错Uncaught (in promise) NavigationDuplicated:
  20. 教育培训行业如何做好私域运营

热门文章

  1. Struts 验证框架实现步骤
  2. java token生成和验证_SpringBoot集成JWT生成token及校验方法过程解析
  3. Mock和Java单元测试中的Mock框架Mockito介绍
  4. 批评代码而不是人!15年程序员的职场箴言
  5. laravel5.8笔记六:公共函数和常量设置
  6. php-cgi.exe系统错误 无法启动程序,因为计算机中丢失api-ms-win-crt-conio-l1-1-0.dll 尝试解决安装该程序以解决此问题
  7. Swoole实现私聊群聊
  8. 服务中添加mysql服务_Windows平台下在服务中添加MySQL
  9. arcgis for android离线编辑,操作方法:直接从 Android 或 iOS 设备访问 Collector for ArcGIS 中的离线编辑内容...
  10. 禁止网页右键、复制、另存为、查看源文件等功能