CTHHub Web技能树-信息泄露-Git泄露-log

哇哇哇,初学者必看,小白开始接触这个,一步一步的摸索dirsearch、GitHack怎么回事,终于终于终于做出来了。(感动自己了,哈哈哈哈)

1、这次我们先说说各个操作、工具的用法吧

因为很多操作我都不会,所以工具使用的顺序是按我自己学的顺序来的,会了的同学可以直接跳过。(找不到下载地方的可以私信找我要呀,我还没有学会用GitHub=。=)

1、从cmd中,跳转到指定目录

(1)、从搜索目录中打开cmd
(2)、首先要先选择你要跳转的盘,因为是不允许跨盘的,例如去D盘,输入D:即可
(3)、要跳到指定目录 cd \d ***(这里按照你要进入的目录一个一个的输入就行了)
最后看到你的输入框之前变成你想要的目录,就成功了

2、dirsearch的使用(用来扫描网站,查看是否有漏洞)

哈哈哈哈,不得不说我打开后以为是个应用程序,自己捣鼓了半天结果啥也不是,不过强调一下这个的使用一定要是python3的版本一定要是python3的版本一定要是python3的版本(直接在cmd中输入python,他就会返回你的版本号)
(1)按照我刚刚说的方法跳转到dirsearch的目录后,按这个格式输出
py dirsearch.py -u 网址 -e 语言(我用的*,在Windows下跑不用py)
-u 后面接上你要扫描的网址,-e选择语言,如php之类的。

3、GitHack的使用(将对应的位置的网站文件拷贝下来)

这个下载下来和dirsearch相同,啥也不是。但是这个也要强调一下一定要是python2一定要是python2一定要是python2(惊不惊喜意不意外,用虚拟机吧,我的客户机装的3,虚拟机装的2,当然也有混合的,这个我觉得麻烦没研究)。
(1)、同样的需要跳转到对应的目录,跳转后按这个格式输入
python2 GitHack.py http://challenge-4543836de9346253.sandbox.ctfhub.com:10080/.git
一部分python版本,为2,;第二个调用Githack.py程序;第三个你需要还原的网址。

2、解题

我解除一下你的担心,因为看着很多,输入的命令我都会告诉你的

(1)、首先使用dirsearch扫描一下,发现对应的存在.git敏感文件py

输入dirsearch.py -u 网址 -e
CTHHub Web技能树-信息泄露-Git泄露-log
输入对应的命令后,他可能会反应一阵子,耐心等一下就好。仔细查看一下,发现存在.git敏感文件(它会为你改变颜色)
CTHHub Web技能树-信息泄露-Git泄露-log

(2)、发现存在敏感文件后,使用GItHack对对应文件恢复

输入python2 GitHack.py http://challenge-4543836de9346253.sandbox.ctfhub.com:10080/.git
CTHHub Web技能树-信息泄露-Git泄露-log完成后你可以在Githack文件的dist下检查一下,会出现和你刚刚扫描相同的文件
CTHHub Web技能树-信息泄露-Git泄露-log

(3)、扫描完成后,打开对应的日志,并对其进行恢复,首先要跳转到对应的文件夹

跳转
CTHHub Web技能树-信息泄露-Git泄露-log

输入Git log即可查看日志
CTHHub Web技能树-信息泄露-Git泄露-log

可以看到有2个版本,add flag和remove flag,我们要找flag,肯定要查看add flag

(4)、跳转到对应版本,查看其中的内容

以此使用以下命令
Git reset --hard HEAD^:Git reset 跳转版本;–hard ,谨慎使用,跳转到指定的版本,并改变现在的版本;HEAD,跳转到最顶端的版本
ls:列出当前目录下的所有文件
cat:打开对应文件并显示
即可得到flag
CTHHub Web技能树-信息泄露-Git泄露-log

3、Git漏洞原理

3.1、产生原因

一个网站存在git泄漏,git可以还原代码,这样进而导致的代码泄漏的问题。过程即类似于你看到的。

3.2、防范方式

(1)、使用Git忽略
.gitignore 是一个 Git 配置文件,它列出了不会被存入 Git 仓库的文件或目录。
(2)、使用 Git 钩子(Git hooks)和 CI 检查提交。
每次都会在提交之前对更改的内容进行检查,如果钩子检测到预期的提交内容可能包含敏感信息,那它们将会拒绝提交。
(3)、代码审计。(我还没学)
(4)、及时的对已有的漏洞修复。
(5)、在提交前对文件进行检查,确定不会有.git 文件泄露时在发布。