渗透测试之git信息收集 (git介绍+github使用技巧)

本文介绍了git作为去中心化版本控制工具的工作原理及其可能导致的信息泄漏风险。通过目录扫描、robots.txt检查及搜索引擎,可以发现公开的git资源。一旦找到,可以使用各种工具下载并分析git内容,如gitlog、gitreset等命令。同时,文章提到了GitHub上的搜索技巧,帮助用户更高效地查找代码。为了防止信息泄漏,必须谨慎管理git仓库,避免敏感信息暴露。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是git:

git,我们叫做去中心化的版本控制软件。
大型的代码程序软件我们都是很多成员同步合作完成,但是这样就会导致出现代码被覆盖的情况,或者想要找过去版本比较困难的情况。于是就出现了版本控制系统来自动化的帮我们记录。

而去中心化的版本控制系统就是如今最常用,最成熟的代码管理方式,比如github就是去中心化的一个代码控制平台。

为什么git会导致信息泄漏

1、因为git的工作方式是把代码从本地保存后把私有仓库或者隐私文件上传到了github

2、部署项目的时候,不小心把 .git 文件一起打包进 去,放到web网站的目录下

git中有很多有用的内容:

1、.git/logs/HEAD
存储了git的log信息,可以找到历史的commit项

2、.git/index 缓存git add的文件,暂存区

3、.git/refs/stash git stash 把代码存入缓存区

4、.git/refs/heads/master 记录了master的commit的hash。在拿到这个hash之后我们就能把最后一个版本的所有代码全部还原出来!

5、.git/objects/pack/.pack
这个packs也能让我们获得源码

github中有用的搜索技巧:

kali in:file 搜索文件中包含kali的代码

kali in:path 搜索路径中包含kali的代码

kali in:path,file 搜索路径、文件中包含kali的代码

shodan language:python 搜索关键字shodan,语言为python的代码

filename:config.php language:php 搜索文件名为config.php,且语言为php

kali topics:>=5 标签数量大于等于5的

kali size:<1000 文件小于1KB的 kali

stars:10..50 star大于10小于50的

kali pushed:>2021-08-15 搜索在2021年8月15日之后提交的

kali pushed:2021-07-01..2021-08-01
搜索在此区间

kali created:>=2021-06-01创建时间

kali pushed:<2021-08-01 -language:java
搜索在2020年8月1日前push代码且排除java语言

git信息泄漏利用

1、找到git:
找到肯定是我们进行利用的第一步

a、我们可以通过目录扫描的方式去进行扫描

b、robots.txt
反扒机器人中如果存在git,那么说明存在该文件

c、可以通过搜索引擎去发现 intitle:"Index of /.git"
如果发现,那么就是存在隐藏的git文件可以让我们进行查看

2、把git下载到本地:
已经有很多工具存在来下载git到本地

https://github.com/BugScanTeam/GitHack https://github.com/lijiejie/GitHack https://github.com/wangyihang/githacker https://github.com/WangWen-Albert/ JGitHack

这边说一下如何把文件下载到kali中
用wget+网址 命令来进行下载。
也可以用git clone +url来获取

3、用git的命令获取获取内容
git log 查看历史信息
git reset --hard [log hash] 恢复版本
git diff 比较不同版本的区别

也可以用一些工具来进行分析:https://github.com/gakki429/Git_Extract

### 配置 IntelliJ IDEA 使用 Git 为了使 IntelliJ IDEA 能够识别本地安装的 Git,在设置中指定 Git 可执行文件路径至关重要。这可以通过导航至 `File -> Settings -> Version Control -> Git` 并输入 Git 的具体路径来完成,例如 `D:\Program Files\Git\bin\git.exe`[^2]。 一旦完成了上述配置,建议通过点击 "Test" 来验证 Git 是否被正确配置以及其功能是否正常工作[^1]。 对于那些希望简化此流程的人而言,当 Git 安装于默认目录时,较新的 IntelliJ IDEA 版本能够自动检测到它而无需额外的手动干预;然而,如果选择了自定义安装路径,则仍然需要按照前述方法手动设定 Git 的位置[^4]。 ### 创建新仓库并与远程 GitHub 仓库关联 要开始使用 GitHub 进行协作开发,首先应当克隆现有的 GitHub 项目或初始化一个新的本地仓库并将其推送到 GitHub 上: #### 方法一:从现有 GitHub 仓库克隆 利用内置的功能可以直接从菜单栏选择 `VCS -> Get from Version Control...`, 接着提供 GitHub 存储库 URL 即可轻松获取整个项目的副本。 #### 方法二:推送本地项目到 GitHub 如果是首次创建的新项目,可以在 IDE 内部右击工程根目录选择 `Add to VCS -> Git` 初始化本地版本控制系统。随后前往 GitHub 创建空白存储库,并依照提示将本地代码提交上去[^3]。 ### 日常操作指南 - **查看历史记录**:借助左侧边栏中的 “Log” 功能可以方便地浏览不同时间点上的变更情况,帮助理解代码演进的过程[^5]。 - **分支管理**:支持直观地切换、创建和删除分支,从而更好地组织团队成员间的工作流。 ```bash # 添加所有更改后的文件到暂存区 git add . # 提交当前修改 git commit -m "描述性的消息" # 更新远端服务器上的最新改动 git push origin main ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值