参考文章:
网鼎杯第四场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恢复源码来获取敏感数据
&spm=1001.2101.3001.5002&articleId=161726110&d=1&t=3&u=9ce1f0b697f54a028fe83fc9a68bbcba)
3555

被折叠的 条评论
为什么被折叠?



