ctfshow——红包题第七弹(git泄露)

参考文章:

git泄露(一篇文章就够了)-CSDN博客

网鼎杯第四场Some Web Writeup - l3m0n - 博客园

红包题第七弹 wp

一、信息收集

进入页面,php版本信息,接着收集信息

dirsearch目录扫描,疑似存在git泄露

直接访问/.git/,403拒绝,说明对方服务器屏蔽了目录访问

这时候可以用githack或者Git_Extract爬取当前的历史版本

二、githack和Git_Extract下载连接:

GitHack:https://github.com/BugScanTeam/GitHack

Git_Extract:https://github.com/gakki429/Git_Extract

切换python2,运行python git_extract http://..../.git/,得到最近的历史版本

确定backdoor.php文件有一个后门

蚁剑连接,在/var/www/目录下发现flag.txt文件,但是限制读取数据

那就直接访问/backdoor.php页面,用后门回显flag

payload:页面post传参:Letmein=show_source("../flag.txt");

flag:ctfshow{e39cf9af-527b-4e7a-a489-2588c992a012}

Git泄露相关知识

git:本地的分布式版本控制系统,主要分为三个部分

工作区是本地电脑,git是本地工具管理文件的历史版本和相关配置

stage是暂存区,临时保存当前的文件夹

master是版本库,保存历史版本信息

云端(github等):远程虚拟仓库

web服务器

一、工作过程(git——云端——web服务器)

1、本地开发

1.本地创建一个文件夹,终端运行git init,Git 会自动创建一个名为 .git 的隐藏文件夹在项目文件夹里,用来存储所有的版本历史、配置信息和对象数据。

2.运行git add,临时保存修改的文件夹

3.运行git commit,打包当前文件夹记录为一次历史版本,保存在本地

简而言之,本地开发——临时保存(git add)——确认无误(git commit)后上传到云端

2、云端上传

运行 git push -u origin master ,把本地的项目文件夹上传到远程的虚拟仓库

3、服务器部署

把云端的项目文件夹拉到服务器根目录上

操作方式

方式一:服务器手动ssh连接云端,然后进入网站根目录(/var/www/html),运行git pull,服务器会连接云端,把最近一次的文件夹下载下来

方式二:Webhooks自动部署

二:git泄露原因

开发者环境配置或者没有限制访问.git目录的情况下,攻击者可以在公网上直接访问git源码,或者用工具Githack恢复源码来获取敏感数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值