一般技术大神可能都有点神经质,总是让人迅雷不及掩耳,无法理解一些事情。
这不前两天,就是是1月25号, Linux之父 Linus Torvalds 好像又有点情绪失控。
不过这次他没有骂人,他悄悄地向GitHub仓库提交了一个README文件,地址为:https://github.com/torvalds/linux/tree/8bcab0346d4fcf21b97046eb44db8cf37ddd6da0,备注名为《delete linux because it sucks》,主要是说 Linux 系统太烂,并且要扬言删了它。
全文是这样的:
大家好,我是 linus torvalds,当红系统 Linux 作者。你可以查看 repo 的 url 和文件顶部的名字,它们足可以证明是我本人在提交。
我删了 Linux,因为我讨厌它,我认为它很烂。你应该去用这个很棒的操作系统,它叫做 Windows XP,我刚刚发现它做的真的很棒!
结果,Linux系统并没有删除,而这个文件底部一个链接被细心的人发现了:
该链接指向 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 是无法处理,或是认为没必要处理,反正直到现在它们仍能被人利用。
事实上,这并不是 Linus 第一次抱怨 Linux 系统。他早年看到了 Linux 桌面版的混乱。桌面Linux发行版的应用程序兼容性问题非常严重,人们随意修改内核,向后兼容性也很差,应用分发体验远不如Windows系统。
作者:场长
来源:https://www.sobyte.net/post/2022-01/linus-play-a-trick-of-github-vulnerability/