web01

Hint: 开发注释未及时删除

访问靶机网站出现页面:

image-20231016201002967

右键查看源代码得到FLAG。

web02

Hint: js前台拦截 === 无效操作

访问靶机页面,提示无法查看源代码,此时可以通过对URL加入 view-source: 进行查看。

image-20231016214429616

image-20231016214531583

或者按 F12也可。

web03

Hint: 没思路的时候抓个包看看,可能会有意外收获

image-20231016215317584

web04

Hint: 总有人把后台地址写入robots,帮黑阔大佬们引路。

根据题目的提示,我们直接访问 robots.txt 文件。

robots.txt 文件是爬虫协议文件,该文件中定义了允许哪些爬虫爬取哪些目录,以及禁止爬取哪些目录。

image-20231016215450454

发现文件 flagishere.txt,直接访问:

image-20231016215531078

web05

Hint: phps源码泄露有时候能帮上忙

phps文件就是php的源代码文件,通常用于提供给用户(访问者)直接通过Web浏览器查看php代码的内容。

image-20231016215723701

由于首页文件是 index.php,这里我们直接尝试访问泄露的源码文件 index.phps

image-20231016215809781

web06

Hint: 解压源码到当前目录,测试正常,收工

根据题目的提示,这里我们可以得知,应该是网站根目录存在源码备份文件,可以使用 dirsearch 工具进行扫描。

这里盲猜是 www.zip、www.tgz。

最终尝试 www.zip 发现下载了网站的备份文件,解压之后的文件结构如下:

image-20231016220555724

很明显,这里的FLAG是假的,由于是网站备份文件,我们这里访问网站最新的 fl000g.txt文件即可。

image-20231016220647627

web07

Hint: 版本控制很重要,但不要部署到生产环境更重要。

根据题目的提示,这里可能是 git 泄露。

git 是一个版本控制工具,很多程序的开发都是多名程序员协同开发的,而 git 则是一个不错的多人协同工具+版本控制工具。

由于部署项目的方便,有很多运维人员直接在网站根目录使用 git clone 项目地址,此时网站根目录就会存在 .git 目录,通过该目录就可以回滚到某个版本或者下载最新的项目源码。

针对于 git 泄露,这里有个很不错的利用工具,名为 gitHack 下载地址:https://github.com/BugScanTeam/GitHack

访问靶场的 .git 目录,发现存在该目录,但是这里直接获得了FLAG。

image-20231016221504598

web08

HInt: 版本控制很重要,但不要部署到生产环境更重要。

SVN 也是一个版本控制软件,跟 git 基本一致。

这里直接访问 .svn 目录即可得到FLAG。(正常情况下需要使用工具进行利用)

image-20231017081902139

web09

Hint: 发现网页有个错别字?赶紧在生产环境vim改下,不好,死机了

根据题目提示这里应该考的是 vim 编辑器的备份文件。

我们使用vim编辑器编辑index.php文件时,当服务器突然死机或者导致窗口以外关闭,vim编辑器会在当前目录下生成.swp后缀的交换文件。这里为 .index.php.swp

image-20231017082419363

访问靶场,出现如下页面:

image-20231017082447956

结合题目的提示和默认首页为 index.php,猜测这里的备份文件名为 .index.php.swp 或者 index.php.swp

最终尝试访问 index.php.swp 下载了备份文件。

image-20231017082539787

web10

Hint: cookie 只是一块饼干,不能存放任何隐私数据

在服务器响应的

image-20231017082708206

web11

Hint: 域名其实也可以隐藏信息,比如flag.ctfshow.com 就隐藏了一条信息

通过dns检查查询flag https://zijian.aliyun.com/ TXT 记录,一般指为某个主机名或域名设置的说明。

查找flag.ctfshow.com域名下的txt记录

web12

Hint: 有时候网站上的公开信息,就是管理员常用密码

访问靶机出现如下页面:

在网站的底部发现了一串数字。

image-20231018134044136

当我们访问网站的 /admin 目录时,发现存在 HTTP 的 Basic认证。这里我们尝试输入用户 admin 密码为 在网站底部发现那串数字进行认证,发现认证成功。

image-20231018134230107

image-20231018134304237

web13

Hint: 技术文档里面不要出现敏感信息,部署到生产环境后及时修改默认密码

访问靶机网站,出现如下页面:

image-20231018134429512

发现网站存在 Document ,点击该页面,即可发现网站的文档(使用手册)。

image-20231018134500366

在文档中发现了后台地址以及默认的用户名和密码。

image-20231018134559347

尝试使用默认用户名和密码进行登陆,得到FLAG。

image-20231018134640291

image-20231018134707745

web14

Hint: 有时候源码里面就能不经意间泄露重要(editor)的信息,默认配置害死人

根据提示查看网页的源码,搜索关键字 editor 发现存在该目录。

image-20231018135050002

这里我们直接访问 editor 目录,发现进入到了 KindEditor PHP 页面,进入到了编辑器的页面。

image-20231018135200886

点击插入文件,发现存在文件空间选项,点击进入到 文件空间,发现可以直接查看目录内容。

image-20231018135338367

image-20231018135416806

最终在 /var/www/html/nothinghere 目录中发现了 fl000g.txt

image-20231018135446825

由于是在网站根目录,我们直接访问 nothinghere/fl000g.txt 查看即可。

image-20231018135655979

web15

公开的信息比如邮箱,可能造成信息泄露,产生严重后果

访问网站,在网站的底部信息中发现了邮箱信息:

image-20231018140038946

接着访问 admin 目录发现存在后台。

image-20231018140114224

根据页面的内容,我们发现这里是可以使用 忘记密码 功能的。

image-20231018140202331

忘记密码的问题是 “我的所在地是哪个城市”, 由于是QQ邮箱,我们可以查询其 qq号设置的所在地。

image-20231018140351938

由于某种原因,现在QQ是查找不到了,但是我依稀记得是 陕西-西安。 因此我们输入 西安 即可。

image-20231018140456203

这里提示密码重置为 admin7789,我们使用用户名 admin 密码 admin7789 登陆即可。

image-20231018140541773

web16

Hint: 对于测试用的探针,使用完毕后要及时删除,可能会造成信息泄露

这里使用 dirsearch 目录扫描工具,扫描发现存在 tz.php 文件,访问该文件页面如下:

image-20231018141459335

在该页面中发现存在 PHPINFO 页面,点击即可访问该文件:

image-20231018141535411

在 PHPINFO 页面得到了FLAG。

web17

备份的sql文件会泄露敏感信息

通过目录扫描发现存在 backup.sql 文件,直接访问该文件即可下载。

image-20231018144934408

web18

Hint: 不要着急,休息,休息一会儿,玩101分给你flag

访问页面是个游戏页面,在URL前面加入 view-source: 即可查看页面的源代码。查看游戏源码:

image-20231018141814699

通过审计JS代码发现,只要结果大于100,则会输出以下选中的内容

image-20231018141852389

我们将其复制,在浏览器控制台中直接执行(按住 F12 或者 CTRL + SHIFT + I)。

image-20231018142622562

页面提示我们去 110.php 去看看,我们去访问 110.php

image-20231018142708859

web19

Hint: 密钥什么的,就不要放在前端了

访问网站,右键查看源代码:

image-20231018143117159

通过代码我们可以知道,当我们在浏览器传入 pazzword 的时候,会经过前端JS的加密。

而后端的逻辑很简单,只需要 usernameadmin

pazzword 值为 a599ac85a73384ee3219fa684296eaa62667238d608efa81837030bd1ce1bf04 即可。

因此这里使用 BP 进行抓包为 pazzword 参数的值设置为 a599ac85a73384ee3219fa684296eaa62667238d608efa81837030bd1ce1bf04 即可。

image-20231018143731865

web20

Hint: mdb文件是早期asp+access构架的数据库文件,文件泄露相当于数据库被脱裤了。

通过目录发现存在 db 目录,接着沿着该目录继续扫描发现存在 db.mdb 文件,访问直接下载该文件。

image-20231018143924073

使用 vscode 工具打开即可得到 FLAG。

image-20231018144017368

当然这里也可以通过 EasyAccess 程序进行打开。