信息泄露
目录遍历
ctfhub 目录遍历,可以手动点击直接寻找
也可以写个脚本跑一下
# _*_ coding:utf-8 _*_
import requests
url = "http://challenge-4fdf5a2faa324b83.sandbox.ctfhub.com:10080/flag_in_here"
for i in range(5):
for j in range(5):
url_final = url + "/" + str(i) + "/" +str(j)
r = requests.get(url_final)
r.encoding = "utf-8"
get_file=r.text
if "flag.txt" in get_file:
print(url_final)
phpinfo
一般拿到phpinfo就能找到大量的后台信息,一般flag也藏匿在其中
git泄露
1、git泄露–log
当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。
先使用dirsearch扫描是否存在git泄露
python3 dirsearch.py -u <url> -e *
使用githack扫描
python GitHack.py <url>/.git/
扫描结束后会生成扫描后的文件,在dist里面找到对应的网页文件
使用cmd或者git
git log 查看历史记录
然后git diff 就可以查看提交后的内容,即扫描到add flag 就可找到flag
或者 git reser --hard
一些git相关命令
1.git log 显示从最近到最远的提交日志。
2.git diff 简单的来说就是查看不同,具体用法如下:
3. git diff:是查看working tree与index的差别的。
4. git diff --cached:是查看index与repository的差别的。
5. git diff HEAD:是查看working tree和repository的差别的。其中:HEAD代表的是最近的一次commit的信息。
6.git reset 可用于回退版本库
2、git泄露–Stash
同样的做法,扫一遍,用githack扫一遍,得到有一个stash文件,打开之后有一个stash 的文件,可以直接用
git diff 扫出来
或者git stash list 能找到stash,再使用git stash pop ,发现使用后多出一个txt文件,flag就在其中
3、git泄露-index
用上述方法同样可以做出来
备份文件下载
1、网站源码
可以找到www.zip文件,下载后得到一个flag.txt加到网址后缀即可
2、bak
ak文件泄露
有些时候网站管理员可能为了方便,会在修改某个文件的时候先复制一份,将其命名为xxx.bak。而大部分Web Server对bak文件并不做任何处理,导致可以直接下载,从而获取到网站某个文件的源代码。
题目提示:
可知flag应该在index.php的备份文件里面,于是访问/index.php.bak,下载文件得到flag。
3、vim缓存
当开发人员在线上环境中使用 vim 编辑器,在使用过程中会留下 vim 编辑器缓存,当vim异常退出时,缓存会一直留在服务器上,引起网站源码泄露。
非正常关闭vim编辑器时会生成一个.swp文件
在使用vim时会创建临时缓存文件,关闭vim时缓存文件则会被删除,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容。
以 index.php 为例:第一次产生的交换文件名为 .index.php.swp
再次意外退出后,将会产生名为 .index.php.swo 的交换文件
第三次产生的交换文件则为 .index.php.swn。
访问/.index.php.swp下载到vim缓存
可以使用vim -r filename 命令来恢复文件
恢复后的文件如下
4、.DS_Store
我们猜测直接访问/.DS_Store看有什么收获,发现下载了一个文件DS_Store,打开后发现乱码,因此我们使用.DS_Store 的解析工具Python-dsstore进行文件的解析。
k也可以直接用kali cat到txt文件,再在网页下搜索到即可
或者脚本跑一下,python main.py 文件位置
.DS_Store 文件利用 .DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单。
SVN泄露
当开发人员使用 SVN 进行版本控制,对站点自动部署。如果配置不当,可能会将.svn文件夹直接部署到线上环境。这就引起了 SVN 泄露漏洞。
svn漏洞利用dvcs-ripper工具进行处理,输入如下指令,Linux系统下安装好这个工具即可,安装方法:
安装:
sudo apt-get install perl libio-socket-ssl-perl libdbd-sqlite3-perl libclass-dbi-perl libio-all-lwp-perl
git clone:
git clone https://github.com/kost/dvcs-ripper
进入目录后:
./rip-svn.pl -v -u <url>/.svn/
这个文件是隐藏起来的,可以用文件管理系统ctrl +H显示,或者终端里面 ls -al查看到,找到flag即可
也可以用tree .svn 查看到文件的结构
HG泄露
当开发人员使用 Mercurial 进行版本控制,对站点自动部署。如果配置不当,可能会将.hg 文件夹直接部署到线上环境。这就引起了 hg 泄露漏洞。
同样使用dvcs-ripper工具
./rip-hg.pl -v -u /.hg/
查找之后再store里边,fncache 发现有一个txt的flag文件
加到网页的后缀可以找到
http://challenge-89f2c10655ce47e7.sandbox.ctfhub.com:10080/flag_276699691.txt