# WEB 学习 2023.10.23

# 信息泄露

# 备份文件下载

# PHPINFO

打开环境直接浏览器搜索 ctf 即可找到对应的 flag:

image-20231023102957376

ctfhub{5deb0c24242cf420fed9cfa1}

# 网站源码

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

# 0x01 提示

常见的网站源码备份文件后缀


  • tar
  • tar.gz
  • zip
  • rar

常见的网站源码备份文件名


  • web
  • website
  • backup
  • back
  • www
  • wwwroot
  • temp

# 0x02 使用 dirsearch 查找

使用以下命令:

dirsearch -u http://challenge-c3d0a76d9273c7c1.sandbox.ctfhub.com:10800/

可得:

image-20231023103710014

直接下载文件 www.zip 并进行解压:

image-20231023104034805

# 0x03 二次隐藏

得到一个名为 flag_33496031.txt 的文件,打开之后并没有 flag,重新在网站中查找相关信息:

http://challenge-c3d0a76d9273c7c1.sandbox.ctfhub.com:10800/flag_33496031.txt

image-20231023104442099

得到 flag: ctfhub{77f725d5968d87ba19a72640}

# bak 文件

# 0x01 提示

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

# 0x02 题目

image-20231023105433198

# 0x03 使用 dirsearch 进行查找:

image-20231023105420938

找到了一个 bak 文件,进行下载,使用记事本打开,即可获得 flag

image-20231023105614392

ctfhub{93f00169cf75b69bd006441b}

# vim 缓存

# 0x01 提示

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

# 0x02 题目

image-20231023105952658

# 0x03 方法一 :使用 dirsearch 延时查找

dirsearch -u http://challenge-f8ac603be2129fb8.sandbox.ctfhub.com:10800 -s 1    # 延时1秒

image-20231023111535783

# 0x04 方法二:了解相关文件名

vim 在运行过程中会产生 swp 文件,如果程序异常退出 swp 文件可能被保留,第二次异常就变成 swo,第三次变成 swn。按照上题的思路,在原题 url 中加入 .index.php.swp ,文件名的最前面要有一个 “.”。

下载文件 .index.php.swp ,打开进行查找:

image-20231023110947994

flag 为 : ctfhub{70e0afb290e77337cb06d325}

# .DS_Store

# 0x01 提示

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

# 0x02 题目

image-20231023112241272

# 0x03 解

直接访问:

http://challenge-24627cb979c9f911.sandbox.ctfhub.com:10800/.DS_Store

或者使用 dirsearch 可以得知,网站可访问 .DS_Store

dirsearch -u http://challenge-24627cb979c9f911.sandbox.ctfhub.com:10800/ -s 1

image-20231023112400093

下载该文件,并使用记事本打开:

image-20231023112455877

得到 6453df75efb4542d8ba3dc7d4ab53fc2.txt 就是我们需要二次访问的文件地址

访问得到 flag

http://challenge-24627cb979c9f911.sandbox.ctfhub.com:10800/6453df75efb4542d8ba3dc7d4ab53fc2.txt

image-20231023112201977

ctfhub{83d1b8a015ecfa71c468b5e3}

# Git 泄露

# Log

# 0x01 提示

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

# 0x02 题目

image-20231023145909878

# 0x03 解答

根据提示使用 GitHack 工具对网站的 .git 文件进行处理

python2 GitHack.py http://challenge-87d743a3ff8b665c.sandbox.ctfhub.com:10800/.git

image-20231023150501551

image-20231023150549583

之后我们 cd 进入到克隆的文件夹中,使用 git log 查看 git 的历史记录:

git log

image-20231023151232167

可以看到,最近的一次操作是将 flag 移除了,为了得到 flag 我们需要回退到 add flag 那个分支上。

git reset --hard HEAD^

image-20231023151533695


也可以使用

git diff HEAD^

通过比较两个版本的不同,也可以得到正确答案。


此时就可以查看到 flag 文件了

image-20231023151607766

ctfhub{003a15e85e08f988da3d91b7}

# Stash

# 0x01 提示

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

# 0x02 题目

image-20231023153203629

# 0x03 解答

git stash 用法

git stash (git 储藏)会把所有未提交的修改(包括暂存的和非暂存的)都保存起来,用于后续恢复当前工作目录。

git stash list		//查看现有stash
git stash pop		//恢复之前缓存的工作目录

首先使用 GitHack 得到 git 文件夹

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

进入文件夹,使用 git stash list 查看现有的 stash

image-20231023154642571

再使用 git stash pop 恢复之前缓存的工作目录

image-20231023154822527

得到我们需要的 flag 所在的文件,获取即可

image-20231023154849548

ctfhub{5bf4e75c6fa8396319a1a39a}

# Index

# 0x01 提示

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

# 0x02 题目

image-20231023155043808

# 0x03 解答

本题感觉没什么特别的,使用 GitHack 直接对 git 文件进行提取,在文件夹中直接查看 log 就可以得知当前状态就是含有 flag 的状态,直接获取 flag 文件即可

image-20231023155719415

ctfhub{8197e9362ebfd50e1be1e9bf}

# SVN 泄露

# 0x01 提示

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

# 0x02 题目

image-20231023160418343

# 0x03 解答

首先使用 dirsearch 进行一下内容查看

dirsearch -u http://challenge-a61e31b7c2e824c9.sandbox.ctfhub.com:10800/ -s 1

发现了 svn 文件

image-20231023160624976

我们在 kali 中,使用 dvcs-ripper 中的 rip-svn.pl 脚本进行 clone:

perl rip-svn.pl -u http://challenge-5849ad3280c96ef4.sandbox.ctfhub.com:10800/.svn

image-20231023172757585

使用 ls -al 查看新增加的文件

image-20231023172917893

前往 .svn 文件夹内

image-20231023173024409

可以发现 wc.db 文件在其中,使用如下命令,查找有关 flag 的内容

cat wc.db | grep -a flag

发现 flag 但是如果直接访问会发现不存在

image-20231023173557538

image-20231023173133950

转而寻找 .svn/pristine/ 中的文件

image-20231023173251159

可以发现有两个字典 bf64

使用 cat bf/bf45c36a4dfb73378247a6311eac4f80f48fcb92.svn-base 得到:

image-20231023173328598

我们在数据库中可以找到对应关系:

image-20231023173355946

image-20231023173404918

可以发现,第一个开头是 bf 的,对应的正是 index.html,那么我们只要使用 下方 64 开头的进行字典对应,就可以获得 flag:

image-20231023173521812

ctfhub{9120bf8882d07e7ccafa434f}

# 0x04 备注

可以直接使用 tree .svn 查看其中的关系

image-20231023173816807

# HG 泄露

# 0x01 提示

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

# 0x02 题目

image-20231028093921547

# 0x03 解答

首先使用 dirsearch 进行文件检索

dirsearch -u http://challenge-1bc16caa950039f9.sandbox.ctfhub.com:10800/ -s 0.5

image-20231028094148045

发现了 .hg 文件,尝试访问 dirstate 文件,下载下来,打开后发现:

image-20231028094534632

flag_2785532634.txt 文件,对其进行访问就可以拿到 flag 了:

image-20231028094609448

ctfhub{ec974c7b92f1ba4fceb75f44}

# 密码口令

# 弱口令

# 0x01 提示

通常认为容易被别人(他们有可能对你很了解)猜测到或被破解工具破解的口令均为弱口令。

# 0x02 题目

image-20231028100334921

# 0x03 Burp Suite Intruder 的 4 种攻击类型

# ** Sniper(狙击手模式)**

狙击手模式使用一组 payload 集合,它一次只使用一个 payload 位置,假设你标记了两个位置 “A” 和 “B”,payload 值为 “1” 和 “2”,那么它攻击会形成以下组合(除原始数据外):

attack NO. location A location B
1 1 no replace
2 2 no replace
3 no replace 1
4 no replace 2

# Battering ram(攻城锤模式)

攻城锤模式与狙击手模式类似的地方是,同样只使用一个 payload 集合,不同的地方在于每次攻击都是替换所有 payload 标记位置,而狙击手模式每次只能替换一个 payload 标记位置。

attack NO. location A location B
1 1 1
2 2 2

# Pitchfork(草叉模式)

草叉模式允许使用多组 payload 组合,在每个标记位置上遍历所有 payload 组合,假设有两个位置 “A” 和 “B”,payload 组合 1 的值为 “1” 和 “2”,payload 组合 2 的值为 “3” 和 “4”,则攻击模式如下:

attack NO. location A location B
1 1 3
2 2 4

# Cluster bomb(集束炸弹模式)

集束炸弹模式跟草叉模式不同的地方在于,集束炸弹模式会对 payload 组进行笛卡尔积,还是上面的例子,如果用集束炸弹模式进行攻击,则除 baseline 请求外,会有四次请求:

attack NO. location A location B
1 1 3
2 1 4
3 2 3
4 2 4

# 0x04 解题

解决本题需要使用 Burp 的暴力破解功能,首先随意输入一些内容,进行登录,在 Burp 中可以看到 request 请求:

image-20231028100709112

右键 send to intruder / 快捷键 CTRL+I 发送到 intruder 中

在 Intruder 中在密码部分设置为 payload 添加 符号,作为注入点

image-20231029151352738

选择密码本进行攻击,多尝试几个密码本就可以找到密码,可以看到,正确登录后的返回长度 2658 和其他长度不一样

image-20231029151325266

双击查看 response:

image-20231029151619413

得到 flag: ctfhub{4fbf4b5cf53ff19625acad4f}

# 默认口令

# 0x01 提示

# 0x02 题目

image-20231029153534085

# 0x03 解答

题目提示默认口令说明此题的账户密码是网关默认密码,最后通过以前收集到的常用默认弱口令发现账户密码,获得此题 flag 。

浏览器搜索 eyou网关默认密码 ,检索可用信息发现使用说明手册,可能含有默认密码

image-20231029154402660

输入默认用户和密码即可进入,取得 flag

image-20231029154627031

ctfhub{9a144963febd150940d7e538}

更新于

请我喝[茶]~( ̄▽ ̄)~*

Yanagi-Kon 微信支付

微信支付

Yanagi-Kon 支付宝

支付宝

Yanagi-Kon 贝宝

贝宝