CTF信息搜集——敏感目录泄露
文章参考:Nu1L战队所著《从0到1:CTFer成长之路》
目录
1 git泄露
1.1 常规git泄露
1.1.1 git介绍
1.1.2 git使用
1.1.3 泄露利用
1.2 git回滚
1.2.1 回滚演示
1.2.2 回滚利用
1.3 git分支
1.3.1 创建git分支
1.3.2 创建利用
1 git泄露
1.1 常规git泄露
1.1.1 git介绍
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
1.1.2 git使用
git工作流程:
git使用方法
1)初始化git仓库
git init
该命令执行完后会在当前目录生成一个 .git 目录。
或者使用指定目录作为git仓库
git init newrepo
初始化后,会在 newrepo 目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。
2)git提交
如果当前目录下有几个文件想要纳入版本控制,需要先用 git add 命令告诉 Git 开始对这些文件进行跟踪,然后提交
git add *.c
git add README
git commit -m '初始化项目版本'
1.1.3 泄露利用
创建git环境
通过使用现成工具或者自己编写脚本
工具链接:https://github.com/denny0223/scrabble
成功获取flag
1.2 git回滚
1.2.1 回滚演示
git作为版本控制工具,会保存每次提交的修改,当存在git泄露时,可以通过回滚git reset恢复到以前的版本
相关命令如下所示
cat flag.php
sudo vi flag.php
cat flag.php
sudo git add flag.php
sudo git commit -m "old"
演示如下
1.2.2 回滚利用
利用scrabble获取源码,而后使用git reset --hard HEAD^ 跳到上一版本
代码如下
./scrabble http://127.0.0.1/
ls
cat flag.php
git reset --hard HEAD^
cat flag.php
演示如下
成功获取原有版本flag
1.3 git分支
git允许使用多个分支,从而让用户可以把工作从开发主线上分离出来,以免影响开发主线。使用git log只能找到在当前分支上的修改,因此有时需要切换分支。此处我们使用功能较强的GitHacker工具
1.3.1 创建git分支
创建分支和切换分支命令如下
git branch (branchname)
git checkout (branchname)
首先,创建测试环境
sudo git init
sudo git add flag.php
sudo git commit -m "第一次版本提交"
git branch
结果如下
其次创建分支
sudo git checkout -b newtest
git branch
sudo vi flag.php
cat flag.php
sudo git add flag.php
git commit -am "branch version"
结果如下
最后,测试分支内容
sudo git checkout master
cat flag.php
sudo git checkout newtest
cat flag.php
可知分支内容发生改变
1.3.2 创建利用
使用工具链接:https://github.com/WangYihang/GitHacker
工具下载
# Install requests
pip install requests
# Download source
# Notice: NO NOT DOWNLOAD ZIP FROM GITHUB
git clone https://github.com/wangyihang/GitHacker.git
工具使用
python GitHacker.py http://127.0.0.1/.git/
如下查看相关内容,为master分支内容
如果要还原分支内容,需要手动下载分支的head信息,并复用GitHacker代码
Githacker代码,先下载object文件,而后使用git fsck检测,并继续下载缺失文件,可以复用
baseurl = complete_url('http://127.0.0.1/.git/')
temppath = replace_bad_chars(get_prefix(baseurl))
fixmisssing(baseurl,temppath)
执行如下代码
python GitHacker.py
ls
cat newtest
cd 127_0_0_1_/
git diff HEAD 70e0
结果如下所示
成功获取flag
2 SVN泄露
SVN(subversion)是源代码版本管理软件,造成SVN源代码漏洞的主要原因是管理员操作不规范。“在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。但一些网站管理员在发布代码时,不愿意使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,黑客可以借助其中包含的用于版本信息追踪的‘entries’文件,逐步摸清站点结构。”
3 HG泄露
g init的时候会生成.hg
e.g.http://www.example.com/.hg/
漏洞利用:
rip-hg.pl -v -u http://www.example.com/.hg/
CTF信息搜集——敏感目录泄露相关推荐
- CTF信息搜集/泄露
文章目录 注释未删除 js前台拦截绕过 响应头 robots.txt泄露 phps源码泄露 www.zip源码泄露 .git泄露 .svn泄露 vim泄露 cookie泄露 域名信息 网页特殊信息 观 ...
- 信息搜集-敏感信息收集
敏感信息收集 针对某些安全做的很好的目标,直接通过技术层面是无法完成渗透测试的.在这种情况下,可以利用搜索引擎搜索目标暴露在互联网上的关联信息.例如:数据库文件.SQL注入.服务器配置信息.甚至是通过 ...
- WEB安全知识学习 - day01 --信息搜集
一.信息搜集–IP 内容分发网络(content delivery network或content distribution network,缩写作CDN)指一种通过互联网互相连接的电脑网络系统,利用 ...
- 网络安全实验1 敏感信息搜集与密码心理分析
赞赏码 & 联系方式 & 个人闲话 [实验名称]敏感信息搜集与密码心理分析 [实验目的] 1.理解社会工程学的概念,掌握获取敏感信息的方法 2.提高自我信息保护的意识和方法 3.理解密 ...
- Cracer渗透视频课程学习笔记——信息搜集
信息搜集 渗透一个网站收集这部分信息基本就够用了. 常用渗透测试系统:Back track5 ,parrot ...
- WEB中的敏感文件泄露
文件泄露,根据泄露的信息敏感程度,在WEB漏洞中可以算是中危甚至高危的漏洞,本篇文章就来 介绍下一些常见的泄漏, 主要分为由版本管理软件导致的泄露, 文件包含导致的泄露和配置错误导致的泄露. 版本管理 ...
- 第一章:渗透测试之信息搜集
1.收集域名信息 (1)Whois查询 (2)备案信息查询 2.收集敏感信息 3.收集子域名信息 4.收集常用端口信息 5.指纹识别 6.查找真实IP 7.收集敏感目录文件 8.社会工程学 1.收集域 ...
- 渗透测试之信息搜集总结
在渗透测试的第一步,就是进行信息搜集,在做渗透测试时我们越了解目标,测试的工作就越容易.只要是与网站相关的的信息,都要竟可能多的去搜集. 目录 收集域名信息 whois查询 备案信息查询 收集敏感信息 ...
- 信息搜集学习--在线工具学习
这件事就要从查我信息的表哥说起了 刚到实验室的时候没几天,无聊扫实验室的ip,本来是想找摄像头端口的,然是让我发现了一个ip开放着8000,饶有兴致的打开了他,发现是一个网站目录,我就下了些里面的文件 ...
最新文章
- 在EXCEL中怎么将多个CSV文件合并成一个文件
- JS编程建议——37:推荐使用replace(1)
- 前端学习(1806):前端调试之列表伪类练习二
- 使用 ServiceStack 构建跨平台 Web 服务(转)
- Jeecg-Uniapp 移动框架开发环境搭建—— APP解决方案
- (42)css特异性
- 《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)--宋宝华...
- 转 基于.NET平台的分层架构实战
- Qtum量子链周报(7月29日-8月4日)
- DDR 6 内存已经投入研发
- 神经网络模型的基本原理,如何建立神经网络模型
- OE分布式智能云生态助力全民挖矿
- 水仙花数的判断(JAVA)
- 【渝粤题库】广东开放大学 文化创意学 形成性考核
- STM32 无刷电机BLDC 1KW带刹开发板 PDF原理图 源代码 MDK源码
- linux vim插件
- 关于python卸载遇到 No python 版本号 installation was detected的问题
- 调用腾讯地图API、高德地图API 获取当前地理位置、经纬度
- 学校里计算机挂科要重修吗,大学期间挂科有什么后果?重修是否会被记入档案?学生要提前了解...
- 深度学习中的batch和epoch