铁佛 发表于 2024-8-22 08:49:06

git泄漏弊端总结

一.git泄漏弊端原理

Git泄漏是指在使用Git版本控制系统时,由于配置不当或者利用失误,导致敏感信息(如密码、密钥、源代码等)被意外地上传到公开的代码仓库或者其他公开可访问的地方,从而被未授权的人获取到。
二.造成原因

   Git泄漏的原理主要有以下几个方面:

[*] 配置错误:在使用Git时,如果配置不当,比如将敏感信息直接写入配置文件或者未正确设置访问权限,就会导致这些敏感信息被提交到代码仓库中。
[*] 利用失误:在进行Git利用时,比如误将敏感文件添加到暂存区或者提交到代码仓库中,或者误将敏感信息包罗在提交的日记中,都可能导致敏感信息泄漏。
[*] 公开仓库:如果将代码仓库设置为公开可访问的状态,任何人都可以检察和下载其中的内容,包罗敏感信息。
[*] 其他公开可访问的地方:除了代码仓库,另有一些其他公开可访问的地方,比如代码托管平台的问题追踪系统、Wiki页面、邮件列表等,如果在这些地方发布了敏感信息,也可能导致泄漏。
 三.git库的布局

https://i-blog.csdnimg.cn/blog_migrate/3cae869c9e4692cbdfedb4627527c6e9.png

四. git泄漏ctf题型

题目泉源ctfhub--git泄漏
一.log

如题目所述:我们需要使用工具githack来完成。
https://i-blog.csdnimg.cn/blog_migrate/aff8e1ff593eddbb74fc3b79843ebb45.png
首先要使用dirsearch 扫描网站目次和文件,看是否存在git泄漏弊端。
增补一下知识点:
   选项含义
-u    指定url
-e 语言    指定网站语言,一般用-e*即所有语言
-i    保存响应状态码(不同状态码用逗号分隔,可指定范围,如-i 200,300-400)
-x    扫除响应状态码(不同状态码用逗号分隔,可指定范围,如-x 400,400-500)
-w    指定字典
-r    递归目次(即可扫描新扫描出的目次下的目次)
-random-agents    使用随机User-Agent
 
    基础下令:dirsearch -u “靶场链接”
https://i-blog.csdnimg.cn/blog_migrate/d528772a9159eac0fbe9ea9209f1a879.png
 扫描后发现存在git目次。
打开githack(python2),在这里要声明两个工具都要在python环境下运行。
在文件系统中找到存放githack的文件夹,在该文件夹下运行终端。
   执行下令:python2 Githack.py -u  靶场网址.git
 目的通过git泄漏的文件夹还原并保存还原重建工程源代码。
https://i-blog.csdnimg.cn/blog_migrate/1ac7e721a376c0342ca1570536f192b6.png
 ,打开文件存储的路径,运行终端并使用git log检察汗青记录。发现下列信息:
    remove flag 表现当前版本
        add flag 表现这次提交的版本
        init 表现初始的版本
 使用git diff下令可以对比提交版本,对比这三个版本发如今add flag中获得此题flag 
二.stash

与上一题差不多,首先先扫描网站是否存在git泄漏。 https://i-blog.csdnimg.cn/blog_migrate/403b2d77ee763f3b999bd201ef3b743d.png
用githack 检察网页的目次文件.
https://i-blog.csdnimg.cn/blog_migrate/b7067a8905a507720c7ce31e92cc133f.png
 进入保存该文件夹的路经下打开终端,用下令git log检察汗青记录。发现
    remove flag 表现当前版本
        add flag 表现这次提交的版本
        init 表现初始的版本
https://i-blog.csdnimg.cn/blog_migrate/a7d214c9ba8fcfc081ba956efcf39097.png
 输入git diff 比对版本,发现第一个下面存在一个txt文本文档,打开却没有flag。题目中提示用stash,因为不清出这个的用法,找来学了一下
https://i-blog.csdnimg.cn/blog_migrate/e8fe21e1345b61a906e9a0393bd77927.png

   git stash 的作用
git stash用于想要保存当前的修改,但是想回到之前末了一次提交的干净的工作仓库时进行的利用.git stash将当地的修改保存起来,并且将当前代码切换到HEAD提交上.
通过git stash存储的修改列表,可以通过git stash list检察.git stash show用于校验,git stash apply用于重新存储.直接执行git stash等同于git stash save.
最新的存储保存在refs/stash中.老的存储可以通过相关的参数获得,比方stash@{0}获取最新的存储,stash@{1}获取次新.stash@{2.hour.ago}获取两小时之前的.存储可以直接通过索引的位置来获得stash@{n}.
git stash的概念明白
git stash的每个存储单元在工作仓库中是通过commit的情势由树布局展示的.它的根节点是HEAD所在的提交。
执行 git stash pop 规复文件,在检察发现另有一个txt文件,cat这个文件,发现flag。
https://i-blog.csdnimg.cn/blog_migrate/df0e3b549608baa40358dd95cc4094d9.png
 下列是git常用的一些下令:
https://i-blog.csdnimg.cn/blog_migrate/81a732745bd16169691806f1584e8244.png
https://i-blog.csdnimg.cn/blog_migrate/d211216b1079c77421fe68202a3a3a5e.png
 三.index

本题与上两题差不多,用githack扫描的时间发现文件夹中多了一个txt文件,尝试打开辟现flag就在其中。https://i-blog.csdnimg.cn/blog_migrate/d9086061da5f3815e02d0d6688b13348.png 
 由于直接就出flag了,就觉得挺希奇的。厥后去找了资料
题目中的index并不是我们明白的web网页,而是一个暂存区,默认存储在.git/index。
关于index的详细知识点大家可以阅读一下这个大佬的文章:(Git当地库中的索引(Index)及文件状态概述_易生一世的博客-CSDN博客
有的时间会出现cat 乱码的环境,用git checkou下令解决问题。
但实际上的git弊端并不是这么简单,直接给我们方法和提示信息这是不可能的。目前对git泄漏只能说是了解一点皮毛,入门都说不上。自己去挖掘git弊端更加困难。

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