发现flag在2/3文件夹里,打开即可获得flag
别人博客里的代码:使用了requests库。运行后即可得到flag.txt所在路径
https://www.cnblogs.com/anweilx/p/12420060.html
#! /usr/bin/env python
# _*_ coding:utf-8 _*_
import requests
url = "http://challenge-a2aa3d58b775fdfd.sandbox.ctfhub.com:10080/flag_in_here"
for i in range(5):
for j in range(5):
url_test =url+"/"+str(i)+"/"+str(j)
r = requests.get(url_test)
r.encoding = 'utf-8'
get_file=r.text
if "flag.txt" in get_file:
print(url_test)
使用burp suit抓包,在HTTP请求方式GET/后添加两个负载,一个用于爆破文件名,一个用于爆破后缀名
既然是备份文件,那这个文件在网站上是存在的,那就访问就可以了。下载打开有3个文件
打开flag_*文件里面并没有flag。另外两个文件直接打开也没有flag
换个方式,在网页上直接用文件路径访问这几个文件,就得到了flag
在kali中安装使用(在网上下载好包之后直接解压,复制整个包到kali中)
查看dirsearch.py的权限(我这里权限是够的,不用修改权限)
dirsearch需要python3,kail中是自带的
进入dirsearch目录后
执行./dirsearch.py -u 网址 -e php
-u 指定url
-e 指定网站语言
-w 可以加上自己的字典(带上路径)
-r 递归跑(查到一个目录后,在目录后在重复跑,很慢,不建议用)
--random-agents 使用代理(使用的代理目录在uesr-agents.txt中,可以自己添加)
本题使用工具目录遍历如下:
命令:python3 dirsearch.py -u http://challenge-91f1f5e6a791ab02.sandbox.ctfhub.com:10080/ -e *
遍历完成后,目标路径状态码和其它的不一样,为200.得到相应的路径后就可以访问备份文件了。其它步骤跟上面相同。
根据提示,flag目录在index.php文件下,在路径后输入index.php后没有反应
想到题目提示是bak文件,在index.php后再加上后缀.bak
或者:
使用dirsearch工具,进行目录遍历扫描,得到有用的文件路径,进行访问下载
使用dirsearch工具,进行目录遍历,得到vim缓存的路径
在使用vim时会创建临时缓存文件,关闭vim时缓存文件则会被删除,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容
以 index.php 为例:第一次产生的交换文件名为 .index.php.swp
再次意外退出后,将会产生名为 .index.php.swo
的交换文件
第三次产生的交换文件则为 .index.php.swn
在页面后输入index.php.swp显示无效链接
需要在前面多加一个点. index.php.swp
。swp这类隐藏文件在调用时前面要加一个.
访问即可下载该文件。
因为是vim文件,所以把该文件复制到kali中
使用vim –r命令可以查看当前目录下的所有swp文件
使用vim –r index.php.swp
就可恢复出原文件,这样上次意外退出没有保存的修改,就会覆盖文件。
或者,直接使用curl命令查看页面信息,也可以得到flag
curl http://challenge-c11057ca9f308893.sandbox.ctfhub.com:10080/.index.php.swp
原因:利用curl访问即可直接看到flag,因为vim使用的缓存存储为一种固定格式的二进制文件。而我们一般编辑的是明文可见字符,在vim的缓存中这些可见字符会原样保留
使用浏览器访问该文件,下载。使用notepad++打开后发现是乱码
将文件复制到kali中,使用linux打开文件
Cat .DS_Store
发现文件中有一串字符,神似文件名。使用浏览器打开试试,发现flag就在里面
当开发人员使用 SVN 进行版本控制,对站点自动部署。如果配置不当,可能会将.svn文件夹直接部署到线上环境。这就引起了 SVN 泄露漏洞。
一款perl的版本控制软件信息泄露利用工具,支持SVN, GIT, Mercurial/hg, bzr…
工具链接:https://github.com/kost/dvcs-ripper
下载好解压,复制到kali中。
命令./rip-svn.pl -v -u http://challenge-57d43bbc3b3c2347.sandbox.ctfhub.com:10080/.svn/
恢复SVN文件
然后进入.svn文件夹下,一步步查看文件,找到我们想要的文件夹
当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。
在kali中,使用dirsearch工具扫描url,发现url低下存在敏感文件.git
使用GitHack进行文件恢复【这里需要将扫描到的.git加在url后面】,然后在GitHack所在目录下的dist目录下得到恢复的文件
python2 GitHack.py <url> (url格式:http(s)://xxx/.git)
进入dist目录中的刚恢复的文件内打开git,读取git日志,发现:
git log //查看日志
dirsearch扫描发现.git文件(找到思路),GitHack恢复到本地dist目录下,进入恢复的目录下打开git操作
如法炮制,dirsearch目录扫描,GitHack恢复到本地,git读取flag
当开发人员使用 Mercurial 进行版本控制,对站点自动部署。如果配置不当,可能会将.hg 文件夹直接部署到线上环境。这就引起了 hg 泄露漏洞。
靶机环境:
使用dvcs-ripper工具进行处理:
./rip-hg.pl -v -u http://challenge-cf630b528f6f25e2.sandbox.ctfhub.com:10080/.hg/
进入.hg文件夹,查看文件,一步步找flag文件
查看fncache文件信息,出现文件目录信息。查看data文件,没有发现flag
根据页面提示,可以尝试手工查看。得到flag