当前位置: 首页 > news >正文

CTFHub—Web题目解题合集1(超详细)

目录

  • 一. HTTP协议(web前置技能)
    • 1. 请求方式
      • 题解
      • 小知识
    • 2. 302跳转
    • 3. Cookie
      • 题目
      • 解法
  • 二. 信息泄露
    • 2.1 备份文件下载
      • 1. 网站源码
      • 2. bak文件
        • 题目
        • 题解
        • 小知识
      • 3. vim缓存
        • 题目
        • 小知识
        • 题解
      • 4. DS_Store
        • 题目
        • 小知识
        • 题解
    • 2.2 Git泄露
      • 1. Log
        • 题目
        • 小知识(GitHack与dirsearch)
        • 题解
      • 2. Stash
        • 题目
        • 小知识
        • 题解
      • 3. Index
        • 题目
        • 小知识
        • 题解
  • 三. 密码口令
    • 默认口令
      • 题目
      • 解题思路
      • 小知识

一. HTTP协议(web前置技能)

1. 请求方式

题解

使用windows自带的curl命令查看服务器的返回信息,在html里就可以找到flag了

curl -v -X CTFHUB 网址

小知识

  • curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。

    它的功能非常强大,命令行参数多达几十种。如果熟练的话,完全可以取代 Postman 这一类的图形界面工具。

    参数描述举例补充
    -A参数指定客户端的用户代理标头,即User-Agent。curl 的默认用户代理字符串是curl/[version]curl -A ‘’ https://google.com上面命令会移除User-Agent标头。
    -b参数用来向服务器发送 Cookie。curl -b ‘foo1=bar;foo2=bar2’ https://google.com上面命令发送两个 Cookie。
    -c参数将服务器设置的 Cookie 写入一个文件。curl -c cookies.txt https://www.google.com上面命令将服务器的 HTTP 回应所设置 Cookie 写入文本文件cookies.txt
    -d参数用于发送 POST 请求的数据体。curl -d’login=emma&password=123’-X POST https://google.com/login
    # 或者
    curl -d ‘login=emma’ -d ‘password=123’ -X POST https://google.com/login
    使用-d参数以后,HTTP 请求会自动加上标头Content-Type : application/x-www-form-urlencoded。并且会自动将请求转为 POST 方法,因此可以省略-X POST。(-d 参数可以读取本地文本文件的数据,向服务器发送。) curl -d ‘@data.txt’ https://google.com/login
    –data-urlencode参数等同于-d,发送 POST 请求的数据体,区别在于会自动将发送的数据进行 URL 编码。curl --data-urlencode ‘comment=hello world’ https://google.com/login上面代码中,发送的数据hello world之间有一个空格,需要进行 URL 编码。
    -e参数用来设置 HTTP 的标头Referer,表示请求的来源。curl -e ‘https://google.com?q=example’ https://www.example.com-H参数可以通过直接添加标头Referer,达到同样效果。 curl -H ‘Referer: https://google.com?q=example’ https://www.example.com
    -F①参数用来向服务器上传二进制文件。②参数可以指定 MIME 类型。①curl -F ‘file=@photo.png’ https://google.com/profile ②curl -F ‘file=@photo.png;type=image/png’ https://google.com/profile①命令会给 HTTP 请求加上标头Content-Type: multipart/form-data,然后将文件photo.png作为file字段上传。②上面命令指定 MIME 类型为image/png,否则 curl 会把 MIME 类型设为application/octet-stream。
    -H参数添加 HTTP 请求的标头。curl -H ‘Accept-Language: en-US’ -H ‘Secret-Message: xyzzy’ https://google.com上面命令添加两个 HTTP 标头。
    -k参数指定跳过 SSL 检测。curl -k https://www.example.com上面命令不会检查服务器的 SSL 证书是否正确。
    -L参数会让 HTTP 请求跟随服务器的重定向。curl 默认不跟随重定向。curl -L -d ‘tweet=hi’ https://api.twitter.com/tweet
    -u参数用来设置服务器认证的用户名和密码。curl -u ‘bob:12345’ https://google.com/login上面命令设置用户名为bob,密码为12345,然后将其转为 HTTP 标头Authorization: Basic Ym9iOjEyMzQ1
    -v参数输出通信的整个过程,用于调试。curl -v https://www.example.com
    -x参数指定 HTTP 请求的代理。curl -x socks5://james:cats@myproxy.com:8080 https://www.example.com如果没有指定代理协议,默认为 HTTP。
    -X参数指定 HTTP 请求的方法。curl -X POST https://www.example.com上面命令对https://www.example.com发出 POST 请求。

2. 302跳转

3. Cookie

题目

hello guest. only admin can get flag.

解法

打开火狐,检查,增加cookies的参数:admin=1,再发送回去即可得到flag

二. 信息泄露

2.1 备份文件下载

1. 网站源码

鼠标右击,点检查,然后就可找到flag,非常容易。

2. bak文件

题目

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

题解

在当前页面网址的index.php后面添加.bak后缀,就会下载一个bak文件,将bak文件后缀名改成 .txt,打开就可以看到flag

小知识

后缀名是.bak的文件是备份文件,把.bak改成对应的文件扩展名即可使用对应的软件打开。

3. vim缓存

题目

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

小知识
  • VIM 是 Linux 系统上一款文本编辑器,在终端上打开,它是操作 Linux 的一款利器。
  • vim 的过程有两种多余的文件

【文件名】.【后缀】~:是真正的备份文件,诞生于修改原文件之前,消失于修改成功之后;

.【文件名】.【原后缀】.swp:swap 文件,由 block 组成,里面可能由用户未保存的修改,等待:w这种调用,就会覆盖到原文件;

  • 想要了解vim缓存原理多一点,请移步:Linux 编辑器之神 vim 的 IO 存储原理
题解

在当前页面网址后面添加/.index.php.swp,会下载一个swp文件, 用能打开二进制文件的软件打开,即可看到flag(我用的是010 Editor,试了一下,IDEA也行,内容翻到最后也能看到flag)

4. DS_Store

题目

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

小知识

.DS_Store(英文全称 Desktop Services Store)是一种由苹果公司的Mac OS X操作系统所创造的隐藏文件,目的在于存贮目录的自定义属性,例如文件们的图标位置或者是背景色的选择。相当于 Windows 下的 desktop.ini。

题解

在网址后面加/.DS_Store,会下载一个DS_Store文件,将该文件用010编辑器打开,会发现有一个类似txt文件名的一串字符,将.过滤掉,就是一个txt文件名,然后就试着在网址后面加上这个文件名,最后成功拿下flag!

2.2 Git泄露

1. Log

题目

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

小白又遇到盲区了!!这题做了好久啊,查了好多资料,结合几位大神的博客,再进行了一番操作,开始时GitHack安装失败,然后开始找解决办法,几经波折,终于拿到flag了,开心~~ 记录一下解题思路。

小知识(GitHack与dirsearch)
  1. GitHack是一个.git泄露利用脚本,通过泄露的.git文件夹下的文件,重建还原工程源代码。
  2. GitHack在kali上安装及使用:
    1. 在kali控制台执行以下命令,下载GitHack

      (1)如果出现

      fatal: unable to access 'https://github.comxxxxxx': Failed to connect to xxxxxxxx

      那么可以将命令行里的 http 改成 git 重新执行

      还可以输入命令 git config --global url.“https://”.insteadOf git://

      (2)如果实在不行,可以直接访问下载zip后解压,然后拖动到虚拟机里面:githack下载链接地址

    2. 进入GitHack目录

    3. 使用GitHack扫描网站
      python GitHack.py 【网址】/.git

      如:python2 GitHack.py http://challenge-44e129ddc83312d0.sandbox.ctfhub.com:10800/.git

      当出现GitHack图标时,才表示成功

  3. git常用的命令
    • git log 查看日志记录
    • git reset 回退指定版本
    • git dirr 对比两次提交
  4. 对于Git泄露可以用dirsearch扫描。
  • dirsearch是一个基于python的命令行工具,用于暴力扫描页面结构,包括网页中的目录和文件。
  • git下载命令:git clone https://github.com/maurosoria/dirsearch.git
  • 使用:进入dirsearch安装目录**(注:dirsearch程序必须使用python3以上才能运行)**
    命令: python3 dirsearch.py -u 目标网址
  1. 多学一点:(https://www.runoob.com/git/git-basic-operations.html)
题解

本题需要用到GitHack工具 ,上面详细介绍了安装过程,这里就不过多写了,开始正题!

  1. 在控制台执行命令安装GitHack
  2. 进入GitHack安装目录,对目标网址进行扫描
    会增加一个dist文件夹,里面生成了一个以网址命名的文件夹
  3. 进入GitHack目录
  4. 查看日志信息,寻找flag足迹
  5. 发现中间那个版本相比于上一版本add flag了,所以,需要回退到增加了flag的那个文件版本
  6. 回到目录下查看,发现多了个txt文件
  7. 打开txt文件,里面就是心心念念的flag!

2. Stash

题目

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

小知识
  • stash是git的一个操作命令
  • git stash list 查看隐藏的记录
  • git stash pop 恢复隐藏的内容,同时删除隐藏记录
  • git stash apply 恢复隐藏的内容,但不会删除隐藏记录
  • 使用stash pop/apply可以选择恢复哪条记录,如恢复stash@{1}记录,则使用git stash pop stash@{1}或者git stash apply stash@{1}
  • 详细了解更多,请看:stash----bug分支-廖雪峰的官方网站
题解

这一次学聪明了,不懂会先去查本题的题目类型了,哈哈哈!先去查一波stash,因为此题很可能需要用到git操作的stash工具。

  1. 下载GitHack,进入GitHack目录,扫描该网址,出现一个网址名命名的文件夹(上一题4.1 Log中的小知识中有下载过程)
  2. 进入该文件夹
  3. 使用stash命令寻找stash:git stash list
  4. 发现有stash,再使用命令:git stash pop

    发现该文件夹多了一个txt文件,打开就找到了flag.

3. Index

题目

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

小知识
  • Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区
题解

对于这题,和上面两题常规流程,打开GitHack,扫描该网址,就出现一个txt文件,打开就是flag。



三. 密码口令

默认口令

题目


解题思路

拿到题目,是一个eyou邮件网关的登录页面,这是要查查eyou邮件网关的默认口令呀。找了找,找到了常见网络安全设备默认口令。

点进去找找看有没eyou邮件网关的,真就找到了。

然后一个个试,当试到第二个时,成功拿到flag.

小知识

常见网络安全设备默认口令:

https://www.cnblogs.com/R3col/p/12452571.html

http://www.jsqmd.com/news/544277/

相关文章:

  • 树莓派4B+CSI摄像头实战:5分钟搞定mjpg-streamer监控系统(含避坑指南)
  • 2026年热镀锌/防火/模压增强底节能桥架厂家推荐:廊坊新万金属制品有限公司全系供应 - 品牌推荐官
  • n8n本地部署后,你的第一个自动化工作流:5分钟连接飞书与数据库(实战案例)
  • Nightingale 开源监控系统教程
  • 告别RSA!在嵌入式Linux上用openHiTLS库5分钟搞定国密SM2签名验签
  • 最大数(信息学奥赛一本通- P1549)(洛谷-P1198)
  • WPF动态图表避坑指南:从Series到DataPoints,让你的实时曲线流畅不卡顿
  • 全网最详细的AI产品经理学习路线,非常详细收藏这一篇就够了
  • LIO-SAM环境配置避坑指南:从ROS Kinetic到GTSAM 4.0.2的完整安装流程
  • AcousticSense AI科研落地:基于梅尔频谱的民族音乐学定量研究支持
  • SAP PP模块实战:如何追踪生产订单TECO状态变更后的报工与收货记录?
  • Elsevier Tracker终极指南:3个智能功能彻底解放科研投稿管理
  • 避坑指南:修改Tina Linux调试串口后Uboot没日志?一次搞懂T113-S3全链路串口配置(附引脚冲突解决)
  • Horizon虚拟桌面安全加固指南:从禁用U盘到配置水印的10个关键GPO设置
  • VFIO的使用及原理
  • Unity AssetBundle内存管理指南:如何避免资源泄漏和性能问题
  • 绝区零一条龙:3步快速配置的智能自动化助手完整指南
  • 重构黑苹果配置体验:OpCore-Simplify自动化工具如何让复杂适配变简单
  • 提升代码可读性实战:coze-loop优化Python循环与函数调用案例分享
  • composer/semver 快速入门:10分钟学会版本比较与约束解析
  • 开源精品:夜莺Nightingale,企业级观测平台新选择
  • Claude Code Channels 取代 OpenClaw 的真相:15 分钟让 Mac Mini 变成 24/7 手机遥控 Agent
  • GLM-4-9B-Chat-1M实战案例:新闻媒体长篇调查报道事实核查与信源标注辅助
  • OpenClaw环境隔离:GLM-4.7-Flash多项目配置方案
  • 从Log4Shell漏洞看Java安全:为什么一个日志框架能“引爆”互联网?给开发者的深度复盘与防护清单
  • 【计算机网络】网络层次划分
  • DZ-FaceDetailer终极指南:如何在ComfyUI中免费实现专业级人脸修复增强
  • 2025年全国青少年信息素养大赛初赛真题(算法创意实践挑战赛C++初中组:文末附答案)
  • 能够将随意一张图,转换成Landing Page背景图的实战Prompt,亲测有效,屡试不爽
  • 3个维度掌控微信聊天记录:WeChatMsg数据管理全攻略