ctf web方向与php学习记录13之信息泄露

git泄露
.git文件夹分析

在这里插入图片描述
hook:存放一些sheel的地方。
info:存放仓库的信息
object:存放所有git对象的地方
refs:存放提交hash的地方
config:github的配置信息
description:仓库的描述信息,主要给gitweb等git托管系统使用
HEAD:映射到ref引用,能够找到下一次commit的前一次哈希值

资料
git是一套内容寻址文件系统。
1.寻址方式

git采用HashTable的方式进行寻找。
这里使用的key就是文件(头+内容)的哈希值,value就是经过压缩后的文件内容

2.git对象的类型
Blob
tree
commit

3.Blob
blob对象可以存储所有的文件类型。

4.tree
tree对象是用来组织Blob对象的一种数据类型。树节点

5.commit
父节点

6.Git对象的存储方式
Key = sha1(file_header + file_content)
Value = zlib(file_content)
40位的sha-1校验和,将该校验和的前2位作为object目录中的子目录的名称,后38位作为子目录中的文件名
首先,是ctfhub中的信息泄露的log一题:
在git泄露中常用的脚本工具是githcak
脚本的工作原理:
1解析.git/index文件,找到工程中所有的: ( 文件名,文件sha
2去.git/objects/ 文件夹下下载对应的文件
3zlib解压文件,按原始的目录结构写入源代码
获取代码:https://github.com/lijiejie/GitHack

在使用githack前还需要安装git
https://github.com/git-for-windows/git/releases/latest
一,log
这道题首先用
SourceLeakHacker扫描发现是git泄露。
在这里插入图片描述然后用githack还原,在还原后的文件里,输入git log,git show找到flag。

在这里插入图片描述
二,stash
stash 用于保存 git 工作状态到 git 栈,在需要的时候再恢复。
有关git的指令,可以参照下面一个大佬的write up。
https://www.pianshen.com/article/23081853202/
在这里插入图片描述
三,index
至于这道题到底想考什么,我不清楚,但是按照之前的git log,git init(因为我在git log显示的目录中看见了flag和init所以就输着尝试了一下),git show——然后就发现flag了。

在这里插入图片描述
index在git中作为一个存储空间存在,具体的相关内容有待进一步学习。这里推荐两本书《Git版本控制管理(第2版)》《Git权威指南》,大家可以去看看。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这周末在做梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值