CTFHUB-web-信息泄露wp总结

信息泄露技能树

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

目录遍历

访问,进入发现都是目录,对各个文件访问 发现在 /1/1 目录下发现flag.txt 打开获得flag
在这里插入图片描述
我们利用脚本去遍历一遍文件

import requests

url="http://challenge-dec394c8f6115d11.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)

在这里插入图片描述
这里我们做题不仅仅是为了获得flag,更重要的系统的掌握知识体系

考点:目录遍历漏洞(由于配置错误导致网站的目录可被遍历,一般该类漏洞可以为后续利用提供一些信息上的帮助)
存在问题:
(1)操作系统没有限制对文件的访问权限。导致任何人都可访问文件目录,并且利用 …/…/ 可以实现文件回溯,访问父文件
(2)www目录下的文件结构被暴露
利用Google hacking语法 intitle:index of intext:Parent Directory
会很容易就被找到该url链接

PHPINFO

访问网页,显示了php以及该环境下的信息
查看信息,可以直接获得flag

补:
phpinfor():PHP函数,函数返回 PHP 的所有信息,包括了 PHP 的编译选项及扩充配置、PHP 版本、服务器信息及环境变量、PHP 环境变量、操作系统版本信息、路径及环境变量配置、HTTP 标头、及版权宣告等信息。

该函数主要用于网站建设过程中测试搭建的PHP环境是否正确,但phpinfo文件泄露一直被大家所忽视,很多网站在测试完毕后并没有及时删除,因此当访问这些测试页面时,会输出服务器的关键信息,这些信息的泄露将导致服务器被渗透的风险。

泄露的主要敏感信息:
1.system : 提供服务器所在的操作系统的信息。
在这里插入图片描述
2.$_SERVER[‘SERVER_ADDR’]: 公网IP地址
在这里插入图片描述
获取真实Ip的我们防止cdn的影响。同时也可以尝试端口扫描

3. $_SERVER[‘CONTEXT_DOCUMENT_ROOT’]: web根目录
在这里插入图片描述
获得网站绝对路径的危害是巨大的,特别是进行渗透测试,当存在SQL注入点时,要上传木马的时需要,知道网站的绝对路径才可以获取webshell。假设网站的搭建是某些网上的模板,就可以知道网站文件的基本框架,就可以寻找软件对应的漏洞去尝试攻击目标网站。

4.disable_functions: 网站禁用函数
在这里插入图片描述
disable_functions标识该网站禁用的函数,防止在代码执行和编写webshell时产生问题

5 . _FILES[“file1”]: 临时缓存文件信息
可以在_FILES[“file1”]中看到上传的临时文件

6.一些其他信息:

php等各种版本信息path、log等,allow_url_include(远程文件包含)、allow_url_fopen、disable_functions(函数禁用)、open_basedir()、short_open_tag等等

先写这些了继续做题了,后期补充,

备份文件下载

网站源码

提示:当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露。
(在真实环境,我们今天用工具扫出来)
在这里插入图片描述
根据提示对文件一个个访问,这里我自己用的脚本跑 ,发现www.zip可以下载

import requests
url = "http://challenge-d43c376975fe79c9.sandbox.ctfhub.com:10080/"
a = ['web','website','backup','back','www','wwwroot','temp']
b = ['tar','tar.gz','zip','rar']

for i in a:
	for j in b:
		pos = url + i + '.' + j
		r = requests.get(pos)
		print(i)
		print(j)
		print(r)

在这里插入图片描述
文件下载下载解压,发现一共三个文件,打开flag的文件,没内容,尝试在网页中访问该文件,返回flag值
在这里插入图片描述

ps:也可以利用dissearch工具爆破路径目录

bak文件

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

访问页面提示 ,flag在index.php源码中,根据提示是存在bak备份文件
访问url/index.php.bak 下载index的源码 打开获得flag
在这里插入图片描述
Ps:也用dissearch工具扫描发现index.php.bak路径

vim缓存

提示:当开发人员在线上环境中使用 vim 编辑器,在使用过程中会留下 vim 编辑器缓存,当vim异常退出时,缓存会一直留在服务器上,引起网站源码泄露。

临时文件是在vim编辑文本时就会创建的文件,如果程序正常退出,临时文件自动删除,如果意外退出就会保留,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容

以 index.php 为例
第一次产生的缓存文件名为 .index.php.swp
第二次意外退出后,文件名为 .index.php.swo
第三次产生的缓存文件则为 .index.php.swn
PS:注意index前有 " . "

访问页面,提示了flag在index.php源码内,访问.index.php.swp
下载文件,notepad++查看源码获得flag
在这里插入图片描述

.DS_Store

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

根据提示 访问url/.DS_Store 下载下来文件,利用notepad++打开是一堆乱码,这个是linux文件,使用linux环境 cat /DS_Store获得flag
第二种方法使用工具Python-dsstore
.DS_Store 文件泄漏利用脚本,获得DS_Store内目录信息
执行命令,发现一个txt文件

python main.py DS_Store文件路径

url访问txt文件,获得flag

工具下载地址:https://github.com/gehaxelt/Python-dsstore

Git泄露

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

注意:Githack脚本的运行的使用,本地要有git工具

git常用命令

git reflog  查看历史命令
git log     查看提交历史记录
git reset   切换版本
git diff    对比两次提交
git reflog  查看历史命令
git stash  保存所有未提交的修改
git stash list 查看当前存储在栈中的内容
git stash pop 弹出当前存储在栈中的内容
git status   查看当前仓库的状态
Log

这是一个源码泄露的例子,使用diesearch工具扫描,发现存在git源码泄露,利用githack工具获取仓库信息。

在这里插入图片描述

使用GitHack工具进行 执行命令,可以看到有文件输出(文件保存在dist文件夹内)

python2 GitHack.py  url地址/.git

在这里插入图片描述
查看文件夹可以看到如下目录,在该目录下打开cmd执行git命令
在这里插入图片描述
git常用命令

git log     查看历史记录
git reset   切换版本
git dirr    对比两次提交

git log 查看历史记录 发现 当前为remove flag,而flag在add flag中有
在这里插入图片描述
两种解题思路
(1)将版本信息切换为add flag,然后查看文件 发现多了个txt文件,fl打开txt文件获取flag

git reset --hard ee61d (这个值具体看commit,不唯一)

在这里插入图片描述
在这里插入图片描述
(2) 使用diff命令,进行对比add flag和 remove flag文件的区别
表示当前版本与add flag版本比较

git diff  ee61d(add flag 的commit值 )

在这里插入图片描述

Stash

跟上面的题目一样,使用githack获取.git文件,进入文件保存的目录。

git命令

git stash list 查看当前存储在栈中的内容
git stash pop 弹出当前存储在栈中的内容

打开cmd,执行git命令,根据题目名可以猜测执行语句,弹出的内容信息保存在本地txt文件,打开可获得flag。
在这里插入图片描述

Index

跟上面的题目一样,使用githack获取.git文件,进入文件保存的目录。emmm 有一个txt文件 打开就是flag

SVN泄露

提示:当开发人员使用 SVN 进行版本控制, svn checkout 功能来更新代码,对站点自动部署。如果配置不当,可能会将.svn文件夹直接部署到线上环境。这就引起了 SVN 泄露漏洞。

进入页面,显示
根据题目提示是SVN泄露,使用dvcs-ripper工具进行处理
执行命令

./rip-svn.pl -v -u url/.svn

获得svn目录文件信息
在这里插入图片描述
进入.svn/pristine/ 中的文件,找到 flag
在这里插入图片描述

hg泄露

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

进入页面,显示
根据题目提示是hg泄露,使用dvcs-ripper工具进行处理
执行命令

./rip-hg.pl -v -u url/.hg

在这里插入图片描述
执行过程中发现有大量文件未成功拿到,查看已拿到文件信息
在这里插入图片描述
进入store/目录,查看fncache文件信息可以看到flag文件名和存放位置,进入data/目录,查看文件信息,但无flag信息
在这里插入图片描述
应该是服务端删除了 flag 文件,在url中 访问flag_128430294.txt.文件 注意下划线是两个,获得flag。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值