目录遍历
解题方法
第一种:一个一个点
第二种:python脚本
import requests
url = "URL"
for i in range(1,5):
for j in range(1,5):
req = url + "/" + str(i) + "/" + str(j)
r = requests.get(req)
r.encoding = 'utf-8'
get_html = r.text
if "flag.txt" in get_html:
print(req)
PHPINFO
解题步骤
网站源码
解题步骤
使用dirsearch进行扫描
脚本使用示例:python3 dirsearch.py -e * -u http://www.example.com --random-agents
bak文件
解题步骤
vim缓存
解题步骤
使用vim时会创建临时缓存文件,关闭vim时缓存文件则会被删除,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容
第一次使用vim打开文件会产生一个以swp为后缀的隐藏文件(这时候使用另一个会话端口会查看到);假如这个时候有第二个窗口同时打开同一个文件,这个时候会产生第二个临时文件swo为后缀的隐藏文件;依次类推,第三个临时隐藏文件为swn;即文件名的规律为:swp为首,以字母逆时针依次出现,即:swp,swo,swn,swm…
.DS_Store
解题步骤
记事本打开该文件,找到该txt文件
Git泄露-Log
Git泄露-Log
GitHack下载的文件是.git隐藏文件
python2 GitHack.py http://challenge-c135e3a733eabddb.sandbox.ctfhub.com:10800/.git
进入dist目录,找到所做题目的域名
git log 命令 查看历史记录
我们要的flag在add flag中
我们可以看到有三次操作,第一次是init初始化现有仓库,经过这次命令就会产生.log文件,第二次执行了add flag,第三次执行了remove flag,当前版本是remove flag,可以判断,flag应该在add flag的那个版本
两种解法
第一种是用git diff查看add flag和remove flag这两个版本的不同
git diff xxxx
第二种是用git reset回退到之前的版本
git reset --hard xxxx
Git泄露-Stash
Stash介绍:
git stash会把所有未提交的修改(包括暂存的和非暂存的)都保存起来,用于后续恢复当前工作目录。
这里使用Githack工具处理git泄露情况
方法一:
进入.git/refs目录
发现stash文件,打开文件,使用git diff xxxx命令进行比对
方法二:
查看现有stash,可以使用git stash list
git stash pop命令恢复之前缓存的工作目录,找到flag
Git泄露-Index
解题步骤
方法一:
Githack查看.git信息
git show
查看最新的内容
方法二:
SVN泄露
解题步骤
工具下载:https://github.com/kost/dvcs-ripper
工具使用示例:rip-svn.pl -v -u http://www.example.com/.svn/
HG泄露
解题步骤
工具使用示例:rip-hg.pl -v -u http://www.example.com/.hg/
没有获取到data/flag_2201711005.txt.i文件,那么我们就人工访问,注意访问文件名