AHU 2022 CTF新生赛web_writeup

2023-05-16

第一次当出题人,给新生做的,简简单单啦~

按不了的F12

启动靶机:

image-20221102110157275

根据题目名称可知,这题与f12按键有关,即查看网页源代码。

按下f12发现f12按键被禁用:

image-20221102110308028

尝试另一种方式:右键->查看网页源代码

image-20221102110407905

发现同样被禁用,尝试第三种方式:ctrl+u

image-20221102110453573

发现同样被禁用,于是,在chrome浏览器的选项栏中打开开发者工具或ctrl+shift+i:

image-20221102110754981

获得flag。

GET and POST

启动靶机:

image-20221102111123679

根据题目名称可知,这题考察的是http协议的请求方法,主要是get和post两种。

观察url发现:

image-20221102111221039

需要传入一个参数:what

根据网页上的提示,将flag作为payload传入:

image-20221102111335099

页面反馈:

image-20221102111357298

这里考察更改请求方式的方法。

使用burpsuite抓包:

image-20221102111614287

使用Rpeater模块更改请求参数:

image-20221102111822041

更改如下:

  1. 更改请求方式:GET更改为POST
  2. 添加请求头信息:Content-Type: application/x-www-form-urlencoded
  3. 添加数据:what=flag

image-20221102111912883

发送数据包,获得flag:

image-20221102111941737

世界上最好的语言

启动靶机:

image-20221102112228168

发现php源码,分析源码可知:

程序从get请求的参数中获取变量flag,然后将flag的值进行md5加密,并将加密后的数据与字符串"s155964671a"进行md5加密后的数据进行比较,若相等且flag的值不与给定字符串相同,则输出flag。

编写脚本,获取字符串"s155964671a"的md5值:

image-20221102112806795

发现结果以0e开头,由此可知存在md5碰撞漏洞,使用md5值同样以0e开头的其它字符串作为payload传入(网上有很多,也可以自己写脚本跑出来,这里不赘述)

image-20221102113137171

获得flag:

image-20221102113159456

补充知识:

MD5是一种哈希算法,任意长度的输入经过处理后输出为128位的信息,且尽量使结果不冲突和信息不可逆。

php是一门弱类型语言,脚本中进行两个值的比较时,使用的是 == ,这是一种弱类型比较运算,之比较值,不比较类型。

PHP规定当进行字符串与数字的弱比较时,会进行如下步骤:

先看字符串开头是否为数字,如果为数字,则截止到连续数字的最后一个数字,即"123abc456"=>123

如果开头不为数字,则判断为false,即0。因此

(“aaa123”==0) =>true

(“123a”==123) =>true

由于两个md5值字符串都以0e开头且0e后不含有字母,所以在使用 == 进行比较时,都被当作用科学计数法表示的数字,因为0的n次幂仍为0,所以这条语句恒为真。

爱冒险的朵拉

启动靶机:

image-20221102114212248

非常可爱的画面hhh~

点击页面上的几个按钮,发现除了页面上的提示变化,url也有相应的变化:

image-20221102114313457

image-20221102114322110

image-20221102114335398

由此可知,页面显示不同的信息是通过读取服务器上的不同文件实现的,由此推测存在目录穿越(任意文件读取)漏洞,即通过更改url,可以读取服务器上的任意文件。

根据题目的提示信息:

image-20221102114530239

尝试构造payload,读取服务器根目录下的flag.txt

http://172.23.12.119:10869/index.php?place=../../../../flag.txt

这里的…/代表的是linux文件系统中的上层目录,通过叠加可以逐层返回到上一层目录,直至根目录(层数不一定,可以根据需要尝试)

传入参数,获得flag:

image-20221102114751240

小心捣蛋鬼

启动靶机:

image-20221102114920157

发现两个base64字符串:

572R56uZ6KaB6K6w5b6X5aSH5Lu95ZOm
5pivdGFyLnh65LiN5pivdGFyLmd4fg==

分别解密后得到:

网站要记得备份哦
是tar.xz不是tar.gx~

由此推测服务器上存在网站的备份文件泄漏漏洞

获取泄露文件的方法一般就是先寻找备份目录以及备份文件名然后下载

常见的备份文件所在目录

/
/admin 
/data
/default
/index
/login
/manage
/cmseditor
/db
/bbs
/phpadmin

常见的备份文件的文件名

web
website
backup
back
www
wwwroot
temp
db
data
code
test
admin
user
sql

常见的备份文件后缀名

.rar
.zip
.7z
.tar.gz
.bak
index.php.bak
.txt
.old
.temp
_index.html
.swp
.sql
.tgz
tar

可以手工逐个尝试,也可以写脚本跑出来

根据页面上两个提示,直接访问 url/www.tar.xz 下载备份文件

image-20221102115613107

获取下载文件后解压,进入备份文件夹:

image-20221102115914503

发现一个备份文件和一个.git文件夹,首先查看index.php.bak

image-20221102120007571

发现flag不在这里面,于是想到.git文件,可能需要git回滚

使用git log命令查看commit信息

image-20221102120138856

使用git reset xxx --hard命令进行回滚(xxx表示commit编号)

回滚至323e1cc649260beea8af3b2ea6bfe9b6ebbe02e7版本时,发现index.php.bak.swp文件,推测还需要还原vim编辑器的备份文件

image-20221102120327513

使用命令 vim -r index.php.bak.swp 或 nvim -r index.php.bak.swp打开备份文件:

image-20221102120608041

获得flag。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AHU 2022 CTF新生赛web_writeup 的相关文章

  • Ruby On Rails - 在控制器中使用关注点

    可能的菜鸟警告 刚接触 RoR 我正在尝试在 RoR 中使用关注点 现在我只写了一个非常简单的问题 app controllers concerns foo rb module Foo extend ActiveSupport Concer
  • 如何在odoo中重写js函数

    我想加载 shop checkout url 函数是 odoo define change info order website sale change info order function require use strict oe w
  • 如何保护我的网站免遭 HTTrack 或其他软件的翻录?

    我最近获得了批准的网站模板主题森林 http themeforest net 我的网站流量过多 并注意到我在 Themeforest 上的演示被 HTTrack 等某些软件破坏 如果这种情况持续下去 该产品的销量最终可能会下降 那么 有什么
  • Netty Nio java 中的通信

    我想在 Netty nio 中创建一个具有两个客户端和一个服务器的通信系统 更具体地说 首先 我希望当两个客户端与服务器连接时从服务器发送消息 然后能够在两个客户端之间交换数据 我正在使用本示例提供的代码 https github com
  • 在脚本标签内工作的角度表达式

    如何在脚本标签内使用角度表达式 我对此很陌生并且需要帮助 这是我的 java 脚本代码的示例
  • Chrome:网络元素自动移动

    我正在开发一个网络项目 在过去的两周里 我正在进行学期考试 所以我要休息一下 现在 既然他们已经结束了 我又继续我的工作了 但我发现我的一些Web 元素 如按钮 span 在 Chrome 上移动了一些像素 在 IE 和 Mozilla 上
  • 尝试使用 php 发送 POST 请求,无论我做什么,我都会收到“HTTP ERROR 500”

    为了发出 HTTP 请求 有人建议我尝试使用 PHP 并给了我一段代码 url https example com dashboard api data array to gt PHONE NUMBER from gt SENDER ID
  • 给定数十亿个 URL,如何确定重复内容 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我在一次编程面试中被问到这个问题 我在下面详细描述了这个问题 这是一个开放式问题 给定数十亿个 URL 深层链接 我如何对哪些 URL
  • CSS3 与 JavaScript

    所以我试图在网页上创建一个动画 并试图找到一种使用 CSS3 来实现它的方法 但我对如何做到这一点感到非常困惑 我需要发生的是 当用户单击链接元素时 我希望 div 展开并填充特定于所单击的链接元素的内容 例如 当用户单击标题为 About
  • 如何用 C 语言通过 HTTP 协议发送图像?

    我是一名正在做网络服务器练习的学生 我需要一些帮助 我的网络服务器在文本页面上运行良好 但是每当浏览器发送一个 GET img jpg HTTP 1 1请求 我不知道如何处理 我听说 HTTP 协议是基于文本的 那么如何在 HTTP 响应中
  • ASP.net获取硬件信息

    如果我创建一个 ASP net 页面 我是否能够获取当前用户的 CPUID 和 BIOS 序列号 还是出于安全原因不允许这样做 我目前有一个获取这些值的 Visual Basic net 应用程序 我只是想知道是否可以在网页上执行相同的操作
  • Tomcat:源服务器没有找到目标资源的当前表示,或者不愿意透露该表示的存在[重复]

    这个问题在这里已经有答案了 我知道以前有类似的问题 但我仍然找不到正确的解决方案 我得到 源服务器没有找到目标资源的当前表示 或者不愿意透露该表示的存在 我正在使用 Tomcat 服务器 有人可以帮助我吗 以下是我的项目结构 我被这个问题困
  • 允许匿名用户浏览样式和图像文件夹

    我正在编写一个 ASP NET Web 应用程序 我有一个登录屏幕 上面有一些 CSS 样式和图像 我遇到了样式和图像未显示的问题 我在网上阅读 它说我需要在 Content 文件夹中放置一个 web config 我将以下内容添加到 we
  • 向下滚动时如何使图像移动?

    这是我想要实现的目标的示例 https www flambette com en https www flambette com en 我尝试过更改图像的 css 属性 但效果不能满足我的需求 我尝试过以下代码 mydocument on
  • 使用 MediaWiki API 下载图像?

    是否可以使用 MediaWiki API 从维基百科下载图像 不 无法通过 API 获取图像 MediaWiki 中的图像仅存储在文件夹中 而不是存储在数据库中 并且不会动态传递 更多信息请参见手册 图像管理 http www mediaw
  • 在 CMS(Wordpress 和 phpBB)之间共享登录信息

    假设我想开发一个嵌入一些 CMS 的网站 例如 WordPress http wordpress org 博客和phpbb http www phpbb com forum 统一网站登录和注册流程的最便捷方法是什么 让用户对网站的每个部分采
  • GWT 的 RPC 与 AJAX 不同吗?

    与 AJAX 调用相比 GWT Google Web Toolkit 的 RPC 远程过程调用 用于从浏览器 javascript 到服务器的异步操作有何不同或相似 如果它们不同 有人可以帮助我理解它们有何不同吗 我还听说这个 RPC 实现
  • 如何使我的网站兼容移动设备和平板电脑? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想让我现有的网站在手机 平板电脑上查看时自动调整 甚至在您在桌面上调整屏幕时自动调整 如果失败的话 如果太难 你有什么建议 我基本上
  • 我应该使用哪个命令来缩小和优化 Nodejs Express 应用程序?

    我已经准备好 Express generator sccafold 网站并需要发布它 我应该使用哪个命令来缩小文件并优化发布 另外 我应该上传哪些目录 express generator是一个基于express框架的服务端渲染框架 而不是像
  • 使用其他聚合中的数据检查命令的有效性

    我目前正在开发我的第一个更大的 DDD 应用程序 目前来说 它运行得很好 但我们从早期就陷入了一个让我无法停止思考的问题 在我们的一些聚合中 我们保留对另一个聚合根的引用 这对于整个应用程序非常重要 基于它们的 ID 因此不存在硬引用 删除

随机推荐

  • vscode1.70.2 添加终端 powershell7

    前提已经安装号powershell7 xff0c 并且已经添加到系统环境中 如何测试是否配置成功呢 xff0c 在运行中输入pwsh xff0c 点击确定后能打开powershell7就说明成功了 打开vscode的设置 xff0c 搜索
  • twm配置文件.twmrc

    系统的twmrc文件位于 usr X11 twm目录下 xff0c 为system twmrc xff0c 但是修改这个文件是不生效的 xff0c 必须将这个文件拷到 HOME下 xff0c 重命名为 twmrc才生效 twm有一个特别奇怪
  • Redis缓存型数据库实现秒杀库存加减

    多线程并发下商品库存递减或者抢购商品数量累加 xff0c 可以使用increment 方法 通常使用异步的方式 xff0c 前端 61 gt 用户抢购处理 61 gt 缓存 61 gt 队列 61 gt 持久化 xff0c 可以使用入队列的
  • Java项目:医院住院管理系统(java+SSM+JSP+bootstrap+mysql)

    源码获取 xff1a 俺的博客首页 34 资源 34 里下载 xff01 项目介绍 本项目有多种角色 xff0c 包含管理员 用户 护士 服务前台等角色 由于篇幅限制 xff0c 只截图了管理员角色的功能 管理员角色主要功能包括 xff1a
  • 直接使用X11输出图像的方法

    直接使用X11输出图像有两种方法 xff0c 一种是使用XImage xff0c 另一种是使用Pixmap XImage是本地对象 xff0c 而Pixmap是XServer端对象 特别要注意的是X11中Bitmap是黑白位图的意思 xff
  • python文件读写的缓冲行为

    文件的io操作的缓冲行为分为 全缓冲 xff1a 同系统及磁盘块大小有关 xff0c n个字节后执行一次写入操作 行缓冲 xff1a 遇到换行符执行一次写操作 无缓冲 xff1a 立刻执行写操作 open 函数 help open Help
  • 在Linux中使用systemctl如何管理Systemd服务和单元

    Systemctl是一个systemd工具 xff0c 它负责控制systemd系统和服务管理程序 Systemd是一个系统管理守护进程 xff0c 工具和库的集合 xff0c 它用作替换System V init守护进程 Systemd功
  • iOS中的viewpager,开源库WMPageController在storyboard中的使用

    http blog csdn net yubo 725 article details 51159633 关于WMPageController的使用以上链接写的很清楚 xff0c 在此感激博主 android 中有viewpager xff
  • 约瑟夫环问题研究(一)

    最近在看C方面的东西 xff0c 看到了李明老师讲解的约瑟夫环问题 xff0c 感觉很有意思 xff0c 于是在看了他的讲解之后 xff0c 自己又重新按照他的思路进行了编写 xff0c 整理如下 xff1a 问题描述 xff1a 约瑟夫环
  • HDOJ 题目2050 折线分割平面(递推)

    折线分割平面 Time Limit 2000 1000 MS Java Others Memory Limit 65536 32768 K Java Others Total Submission s 16441 Accepted Subm
  • HPUOJ 题目1079 假币问题(三分)

    1079 假币问题 时间限制 1 Sec 内存限制 128 MB 提交 7 解决 1 提交 状态 讨论版 题目描述 居然有假币 xff01 xff01 xff01 事情是这样的 xff0c 现在猪肉涨了 xff0c 但是农民的工资却不见涨啊
  • HPUoj 题目1019 【C语言训练】尼科彻斯定理(水题,数学)

    1019 C语言训练 尼科彻斯定理 时间限制 1 Sec 内存限制 128 MB 提交 9 解决 5 提交 状态 讨论版 题目描述 验证尼科彻斯定理 xff0c 即 xff1a 任何一个正整数的立方都可以写成一串连续奇数的和 输入 任一正整
  • POJ 题目1105 S-Trees(二叉树模拟)

    S Trees Time Limit 1000MS Memory Limit 10000KTotal Submissions 1499 Accepted 807 Description A Strange Tree S tree over
  • FOJ 题目 2075 Substring (后缀数组求出现k次的最小字典序子串)

    Problem 2075 Substring Accept 70 Submit 236 Time Limit 1000 mSec Memory Limit 65536 KB Problem Description Given a strin
  • 认识onNewIntent

    前几天面试被问到onNewIntent 我竟哑口无言 完全没听过这个东西 xff0c 所以总结经验教训 xff0c 多学习吧 一个简单的例子说明 xff1a activityA 启动activityB 并通过intent传递了一些数据 xf
  • 操作系统——作业

    写在前头 xff1a 这是小鱼上的网课整理来的笔记 xff0c 希望可以帮助大家更好的理解操作系统这门课 xff01 一 作业 这一讲 xff0c 我们来介绍作业的概念 我们需要从两个方面去理解作业 1 用户 我们可以先看看下面的图示的编译
  • 手把手教学在Springboot中搭建使用Guava cache,包教包会,不会我输一包辣条给你

    guava cache使用简介 概述 缓存是日常开发中经常应用到的一种技术手段 xff0c 合理的利用缓存可以极大的改善应用程序的性能 Guava官方对Cache的描述连接 缓存在各种各样的用例中非常有用 例如 xff0c 当计算或检索值很
  • Ubuntu使用Glmark2进行跑分

    Ubuntu使用Glmark2进行跑分 Glmark2 是一个基于 OpenGL 2 0 和 OpenGL ES 2 0 开发的benchmark程序 xff0c 主要用于对GPU的基准测试 安装和运行 Glmark2 安装依赖的开发工具
  • Ubuntu 22.04 安装Fcitx5中文输入法

    Ubuntu 22 04 安装Fcitx5中文输入法 一 检查系统中文环境 在 Ubuntu 设置中打开 区域与语言 管理已安装的语言 xff0c 然后会自动检查已安装语言是否完整 若不完整 xff0c 根据提示安装即可 二 安装Fcitx
  • AHU 2022 CTF新生赛web_writeup

    第一次当出题人 xff0c 给新生做的 xff0c 简简单单啦 按不了的F12 启动靶机 xff1a 根据题目名称可知 xff0c 这题与f12按键有关 xff0c 即查看网页源代码 按下f12发现f12按键被禁用 xff1a 尝试另一种方