万有斥力 发表于 2024-8-3 08:32:49

简朴认识Git(dirsearch、githack下载),git走漏(ctfhub)

目录
dirsearch下载地址:
githack下载(一次不乐成可多试几次)
一、什么是Git
1.git布局
2.git常用下令及示例
3.Git走漏原理
二、Git走漏
1.Log
2.Stash
3.Index
工具准备:dirsearch、githack
   dirsearch下载地址:

GitHub - maurosoria/dirsearch: Web path scanner
githack下载(一次不乐成可多试几次)

进入root用户,下载克隆GitHack库
git clone https://github.com/BugScanTeam/GitHack kali下载使用GitHack_kali安装gitclone-CSDN博客https://i-blog.csdnimg.cn/blog_migrate/3de772d88aaa64b309cb250b85c97b94.png
https://i-blog.csdnimg.cn/blog_migrate/5092e94422277ce984504b18e294f5f8.png
如许就是安装乐成了
https://i-blog.csdnimg.cn/blog_migrate/ac02128cdb3f91fd7f4e80b544fbc2c0.png
使用GitHack
使用到工具 GitHack 来完成,而 CTFHub 上提供的工具需要在 python2 情况中执行
python2 GitHack.py 链接/.git/ 一、什么是Git

1.git布局

Git的布局和使用_git布局-CSDN博客
   (1)工作区:.git 所在文件夹    (2)暂存区(stage 或 index):一般存放在.git 目录下的index 文件(.git/index)中,所以把暂存区有时也叫作索引(index)    (3))本地堆栈(版本库):用于存储各种版本(分支)的信息。.git 文件就是版本库,此中的.git/HEAD 文件,它存储着当前分支的名字    (4)长途堆栈:服务器存贮着各种项目,比方国内的gitee ,国外的github ,gitlab 等等运作过程:(图片来自水印)
创建一个版本库,通过下令git add添加到暂存区,然后通过下令 git commit -m"备注" 添加到版本库,最后通过下令 git push 推送到长途堆栈 。
https://i-blog.csdnimg.cn/blog_migrate/2cc022a321a6b4f77f4f0020489f3445.png
description:堆栈的形貌信息,主要给gitweb等git托管系统使用
HEAD:即.git/HEAD文件,它存储着当前分支的名字
config:Git堆栈的设置文件
index:这个文件就是暂存区(stage),是一个二进制文件
info:包含堆栈的一些信息
logs:生存全部更新的引用记录
COMMIT_EDITMSG:生存最新的commit message,Git系统不会用到这个文件,是用户一个参考文件
hooks:这个目录存放一些shell脚本,可以设置特定的git下令后触发相应的脚本
refs:这个目录一般包括三个子文件夹,heads、remotes和tags,heads中的文件标识了项目中的各个分支指向的当前commit
objects:全部的Git对象都会存放在这个目录中,对象的SHA1哈希值的前两位是文件夹名称,后38位作为对象文件名
2.git常用下令及示例

GIT常用下令大全——赶紧收藏_git下令大全-CSDN博客
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
//git安装后-指定名称和邮箱 https://i-blog.csdnimg.cn/blog_migrate/9ce75d47ba367cb7b7a4527e1f16c10d.png
pwd        //查看当前目录 https://i-blog.csdnimg.cn/blog_migrate/fb269c6084313962227d982035d86ef0.png
git init        //初始化,生成.git文件(若该文件隐藏,则使用ls -ah) https://i-blog.csdnimg.cn/blog_migrate/7887bbb54c036a1ae144c92d21207292.png
git log        //查看提交历史记录,从最近到最远,可以看到3次
git log --pretty=oneline        //加参,简洁查看
git reflog        //查看每一次修改历史 https://i-blog.csdnimg.cn/blog_migrate/19e74b41298adafce8645287719469e8.png
https://i-blog.csdnimg.cn/blog_migrate/85b186c153ef4c99e2826928cbe8a4fa.png
https://i-blog.csdnimg.cn/blog_migrate/a737c697e97f68623d7c7b7a42c039f2.png
git add 1.txt//添加文件
git commit -m "wrote a test file"        //提交文件
git rm 1.txt   //删除文件
git commit -m "remove 1.txt"    //删错了,恢复 git status        //查看工作区中文件当前状态 https://i-blog.csdnimg.cn/blog_migrate/47bb09c26d068195b994ffd0cf4a9ddf.png
git remote        //查看远程库的信息
git remote -v        //查看远程库的详细信息
git remote rm origin        //删除远程仓库(解绑) https://i-blog.csdnimg.cn/blog_migrate/053c50763cca506fbfb6744133b0a1e9.png https://i-blog.csdnimg.cn/blog_migrate/70ce7e8442b2017464112ac24b8f8755.png
git diff <commit>//比较现版本与上一版本的区别

git reset <commit> //回滚到上一版本
# 什么都不写 默认 --mixed
git reset --hard <commit>   //回滚到上一版本(并丢弃修改的内容)
# --hard 丢弃修改的内容 3.Git走漏原理

Git走漏相关知识点_.git走漏-CSDN博客
   Git是一个可以实现有效控制应用版本的系统,在设置不妥的情况下,大概会将“.git”文件直接摆设到线上情况,就很大概将源代码走漏出去。
一旦攻击者或者黑客发现这个问题之后,就大概利用其获取网站的源码、数据库等重要资源信息,进而造成严重的危害。
所以发攻击者只要发现有git走漏,就可以通过相关工具来得到它所走漏的代码,此中会有一些关键信息。
二、Git走漏

   标题形貌:
当前大量开发人员使用git举行版本控制,对站点自动摆设。假如设置不妥,大概会将.git文件夹直接摆设到线上情况。这就引起了git走漏漏洞。请尝试使用BugScanTeam的GitHack完成本题。
1.Log

https://i-blog.csdnimg.cn/blog_migrate/1ed8e8e549ae232f91aa439effdeecc5.png
查察源代码,提示有git走漏(.git leakage)
https://i-blog.csdnimg.cn/blog_migrate/6198b5551daffb7d4b6ae71aca68a1d3.png
使用dirsearch扫描,也可发现有git走漏
https://i-blog.csdnimg.cn/blog_migrate/a0a94b41f1d397b3b69f3946bb2d7c24.png
使用GitHack克隆目录
https://i-blog.csdnimg.cn/blog_migrate/b89a91d1fcb983278c57bfd044b36a3f.png
 扫描乐成后githack会天生一个文件夹dist,里面存放着重新天生的文件
https://i-blog.csdnimg.cn/blog_migrate/11ecf43d037a87d3242ab04bb02758b5.png
进入新文件,标题提示log,就用git log查察提交历史记录
https://i-blog.csdnimg.cn/blog_migrate/dcf6ff0ac67751654f44065e82b151a3.png
发现添加了flag(add flag)
法一:git reset回退文件版本
git reset --hard 4ef99b0bb42e1d518d8fd93ab2e41093cb82e7c3 https://i-blog.csdnimg.cn/blog_migrate/3d868f474425e101ac562620d0e44f89.png
提示游标HEAD位于add flag中,去文件夹中打开文件发现flag 
https://i-blog.csdnimg.cn/blog_migrate/a24a53a8c8b5cc2c6498fb6dbddcc04f.png
法二:使用git diff文件对比 
git diff 93f0a5663e1393ba385c26bf597296f9bb437a63 4ef99b0bb42e1d518d8fd93ab2e41093cb82e7c3 https://i-blog.csdnimg.cn/blog_migrate/9ccad75f76f501d8a7a100c623fb3f6e.png
2.Stash

   stash可以理解为git的暂存文件
源代码提示有git走漏(.git leakage )
https://i-blog.csdnimg.cn/blog_migrate/dd6ce3c4e6c6f8859980d3bedc94b6c5.png
  使用dirsearch扫描,也可发现有git走漏
https://i-blog.csdnimg.cn/blog_migrate/3ab418d9eaf44282fa6f87fda03fe556.png
使用GitHack克隆目录
https://i-blog.csdnimg.cn/blog_migrate/ec8e611b53f1e7124783e691c046833b.png
扫描乐成后githack天生一个文件夹dist,里面存放着重新天生的文件
https://i-blog.csdnimg.cn/blog_migrate/03f3f5f1addbcc21bce2ecbfb3a918d3.png
 进入新文件后,与上题一样,先用git log查察提交历史记录发现了add flag的历史,但是发现使用git reset回退文件版本与git diff举行文件对比均无法得到flag。
https://i-blog.csdnimg.cn/blog_migrate/d960ff8e48b83f33002026e7d26cc596.png
原因是存放flag的文件仅存在于stash暂存区里面,没有被提交到本地库。一般来说,不能直接在本地库查察或操纵暂存区中的文件。
于是可使用git stash pop提取git的暂存文件
git stash       //备份当前工作区的内容,保存到git栈中,从最近的一次commit中读取相关内容

git stash pop   //从git栈中获取到最近一次stash进去的内容,恢复工作区的内容。获取之后,会删除栈中对应的stash   原历史记录
https://i-blog.csdnimg.cn/blog_migrate/6f1bb4d2ca8cd9e7f99586e53a6abbf8.png
 使用git stash pop提取后 (删除了最近的一次remove flag记录)
https://i-blog.csdnimg.cn/blog_migrate/f7a466fc85679fa59cfc4354b99e5488.png
可以用ls、cat下令查察,也可直接打开文件 获得flag。 
https://i-blog.csdnimg.cn/blog_migrate/ed217840531491566589e2cf469a8c24.png
https://i-blog.csdnimg.cn/blog_migrate/c59aa163ef738120ac15771583826459.png
3.Index

   index可以理解为git的暂存文件
查察源代码,提示git走漏
https://i-blog.csdnimg.cn/blog_migrate/e4bb6e0987bd6e847cf3a48ddfe6a80c.png
步调如上, 使用dirsearch扫描,也可发现有git走漏
https://i-blog.csdnimg.cn/blog_migrate/3c9e50a66ba6e1dfb4c4d439839310ee.png
使用GitHack克隆目录
https://i-blog.csdnimg.cn/blog_migrate/9d0857ffdf2f0a5222f31f1dbd45a4f9.png
扫描乐成后githack天生一个文件夹dist,里面直接存放有重新天生的flag文件
https://i-blog.csdnimg.cn/blog_migrate/fe165b5c577509f3cd2579935842c90a.png
index是暂存区,为什么直接就有flag?
使用git log查察提交历史记录,发现指针直接指向add flag的分支,故查察目录文件直接有flag。
https://i-blog.csdnimg.cn/blog_migrate/2e37fda95d9981831a006e20fe2f7dff.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 简朴认识Git(dirsearch、githack下载),git走漏(ctfhub)