CTFhub信息泄露漏洞实验指导手册

实验准备

环境:Windows2008、Kali Linux

靶场:CTFhub-信息泄露

工具:

  • 浏览器:火狐浏览器

  • 抓包改包工具:burpsuite

  • 信息泄露漏洞利用工具:dirsearch、GitHack、dvcs-ripper、Nmap

目录遍历

是什么?

目录遍历攻击(也称为路径遍历、点-点斜线、目录爬升、回溯)

就是访问存储在Web根目录之外的文件和目录。通过操纵带有“点-斜线(…)”序列及其变化的文件或使用绝对文件路径来引用文件的变量,可以访问存储在文件系统上的任意文件和目录,包括应用程序源代码、配置和关键系统文件。需要注意的是,系统操作访问控制(如在微软Windows操作系统上锁定或使用文件)限制了对文件的访问权限。

怎么利用?
方法1:bp遍历

1、进入靶场

2、浏览器和bp配置代理。构造URL:靶场路径/1/1,尝试访问。bp抓包,发给intruder。

3、清空选中项,设置payload,开始攻击。

4、对length进行排序,访问对应网页找到flag

方法2:Nmap扫描

phpinfo

是什么?

phpinfo是个很有价值的、包含所有 EGPCS(Environment, GET, POST, Cookie, Server) 数据的调试工具。

输出 PHP 当前状态的大量信息,包含了 PHP 编译选项、启用的扩展、PHP 版本、服务器信息和环境变量(如果编译为一个模块的话)、PHP环境变量、操作系统版本信息、path 变量、配置选项的本地值和主值、HTTP 头和PHP授权信息(License)。

怎么利用?

1、进入靶场

2、查看phpinfo,搜索flag

备份文件下载

为什么会产生漏洞?

当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露。

网站源码泄露

方法1:bp遍历

0、bp和浏览器设置代理

1、构造字典

2、访问靶场,尝试访问文件,bp抓包,发给intruder

3、清空选中项,设置payload,导入字典

4、开始攻击,找到状态码为200的返回包

5、下载资源,拿到flag

方法2:dirsearch扫描

1、切换到脚本所在目录下,运行脚本,python3 dirsearch.py -u URL -e *

2、扫到之后的操作与方法1相同

bak文件泄露

是什么?

备份文件

为什么产生漏洞?

有些时候网站管理员可能为了方便,会在修改某个文件的时候先复制一份,将其命名为xxx.bak。而大部分Web Server对bak文件并不做任何处理,导致可以直接下载,从而获取到网站某个文件的源代码。

怎么利用?

1、进入靶场

2、切换到dirsearch目录下,使用dirsearch进行目录扫描

python dirsearch.py -u URL -e *

3、在结果文件中发现.bak的源码文件,访问目的地址http://challenge-55a6fea429bb5f86.sandbox.ctfhub.com:10800/index.php.bak,下载源码包

4、在源码中找到flag

vim缓存文件泄露

是什么?

vim:一款功能强大、高度可定制的文本编辑器

为什么存在漏洞?

当开发人员在线上环境中使用 vim 编辑器,在使用过程中会创建临时缓存文件,关闭vim时缓存文件则会被删除;

而如果是异常退出时,因为未处理缓存文件,缓存文件会一直留在服务器上,可以通过缓存文件恢复原始文件内容,引起网站源码泄露。

以 index.php 为例:第一次产生的交换文件名为 .index.php.swp,再次意外退出后,将会产生名为 .index.php.swo 的交换文件,第三次产生的交换文件则为 .index.php.swn

怎么利用?

1、进入靶场

2、切换到dirsearch目录下,使用dirsearch进行目录扫描

python dirsearch.py -u URL -e *

3、扫描后发现状态码为200的结果,扫到目标文件

4、访问URL地址,下载.swp文件,使用记事本打开,得到flag

注:如果使用kali做实验,会发现文件是乱码的。

就需要使用vim -r 文件名的方式进行恢复,再次打开后得到flag。

.DS_Store文件泄露

是什么?

是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单。

怎么利用?

1、进入靶场

2、切换到dirsearch目录下,使用目录扫描工具dirsearch

扫描后发现状态码为200的结果,扫到目标文件

3、访问URL地址,下载.DS_Store文件,发现flag所在位置

访问URL地址,得到flag

Git泄露

为什么会产生漏洞?

当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。

怎么利用?

使用GitHack——一个.git泄露利用脚本,通过泄露的.git文件夹下的文件,重建还原工程源代码。渗透测试人员、攻击者,可以进一步审计代码,挖掘文件上传,SQL注入等web安全漏洞。

GitHack将自动下载并提取Git存储库的完整历史记录和配置信息,保存在当前目录下的.git目录中,进入该目录查看即可

Log

1、访问靶场

2、切换到dirsearch目录下,使用dirsearch进行目录扫描,发现可访问地址

sudo python3 dirsearch.py -u http://challenge-fbb8a575495633b0.sandbox.ctfhub.com:10800/ -e *

3、根据结果,推测是Git泄露,故下载GitHack,切换到GitHack目录下;运行程序,相关文件被存入指定目录下

sudo python2 GitHack.py http://challenge-fbb8a575495633b0.sandbox.ctfhub.com:10800/.git

4、切换到该目录下,输入git log查看历史提交记录

5、发现add flag的commit操作日志,输入git diff进行对比,得到flag

git diff commit号

Stash

是什么?

在使用 Git 进行版本控制时,“stash” 是一个用于临时保存工作目录中未提交的修改的功能。当您正在进行一项任务,但突然需要切换到其他分支或者处理其他工作时,您可能无法立即提交当前的修改。这时,您可以使用 git stash 命令将这些修改暂存起来,以便稍后再取回并继续工作。

怎么利用?

1、在dirsearch目录下进行目录扫描,发现可访问地址

sudo python dirsearch.py -u http://challenge-0dab140f17fdc4bb.sandbox.ctfhub.com:10800

2、根据地址推测是Git泄露,故进入GitHack目录下使用GitHack恢复工程文件。运行程序,相关文件被存入指定目录下

sudo python2 GitHack.py http://challenge-0dab140f17fdc4bb.sandbox.ctfhub.com:10800/.git

3、切换到该目录下,输入git log查看历史提交记录

cd /home/kali/ljn/GitHack/dist/challenge-0dab140f17fdc4bb.sandbox.ctfhub.com_10800

4、输入sudo git stash pop还原最近的stash

注:git stash pop 命令会将最近的 stash 还原到工作目录,并从 stash 列表中移除该 stash。换句话说,它会应用最近的 stash 并删除它。这样,您可以回到之前保存的修改,并继续进行后续的工作。

5、ls发现被还原的文件;cat查看文件,得到flag

Index

怎么利用?

1、切换到dirsearch目录下,使用dirsearch进行目录扫描,发现可访问地址

sudo python dirsearch.py -u http://challenge-6d042cd3be93264f.sandbox.ctfhub.com:10800

2、根据地址,推测是Git泄露,故使用GitHack恢复工程文件,切换到GitHack目录下,运行程序,相关文件被存入指定目录下

3、切换到该目录下,输入git log查看历史提交记录

4、输入git diff进行对比,得到flag

SVN泄露

是什么?

Subversion,简称SVN,是一个开放源代码的版本控制系统,相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上越来越多的控制服务从CVS转移到Subversion。

注:svn1.6及以前版本会在项目的每个文件夹下都生成一个.svn文件夹,里面包含了所有文件的备份,文件名为 .svn/text-base/文件名.svn-base。 svn1.7及以后版本则只在项目根目录生成一个.svn文件夹,里面的pristine文件夹里包含了整个项目的所有文件备份

为什么存在漏洞?

当开发人员使用SVN 进行版本控制、对站点自动部署时,如果配置、权限或操作失误,可能会导致敏感的代码、文件或其他项目信息无意中被泄露出去,直接将.svn文件夹部署到线上环境,引起SVN泄露漏洞。

怎么利用?

1、根据提示,使用(版本控制软件信息泄露漏洞利用工具)dvcs-ripper。切换到工具目录下,获取SVN库中的内容,存储到/.svn下

sudo perl rip-git.pl -v -u http://www.example.com/.svn

2、输入ls -al查看(因为.svn是隐藏文件夹),进入文件夹,切换目录,找到flag

HG泄露

是什么?

Mercurial:一个轻量级版本控制软件

为什么会产生漏洞?

当开发人员使用 Mercurial 进行版本控制,对站点自动部署。如果配置不当,可能会将.hg 文件夹直接部署到线上环境。这就引起了 hg 泄露漏洞。

怎么利用?

1、切换到dirsearch目录下,进行目录扫描,发现可访问地址

sudo python dirsearch.py -u http://challenge-e028f4c7bc0fef4d.sandbox.ctfhub.com:10800

2、根据地址,推测是HG泄露,故使用dvcs-ripper。切换到工具目录下,获取HG库中的内容,存储到/.hg下

sudo perl rip-hg.pl -v -u http://challenge-5e8292bf8a7e5669.sandbox.ctfhub.com:10080/.hg

3、输入tree .hg查看,寻找疑似flag的文件

4、输入curl命令访问文件,得到flag

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值