type
Post
status
Published
date
Nov 27, 2025 20:00
slug
summary
tags
CTF
推荐
category
CTF-WP
category (1)
icon
password
comment
阿基里斯追乌龟
打开环境

点击追赶后抓包

对data解码,得到

直接将乌龟的距离清0构造data

进行发包

将返回数据解码得到flag

Vibe SEO
根据题目描述存在站点地图,去访问/sitemap.xml路由,得到如下结果

得到新的路由/aa__^^.php去访问得到如下报错

根据报错提示猜测是文件读取,参数是filename,先使用get传参读取自身文件(主要是为了看具体文件源码),然后查看源码得到

得知filename长度不能超过11,但是flag所在的文件文件名很长,所以直接读取肯定不行
看到有被打开的文件描述符$flag,想到伪协议php://fd/[文件描述符编号],但是试过长度太长不行,找了一个替代的文件目录/dev/fd/[文件描述符编号]
其中文件描述符编号需要自己爆破,最后爆破出来是13,得到flag

Xross The Finish Line
打开一看界面就知道肯定是xss然后外带

经过测试发现过滤了
构造相应的payload
输入到留言框提交
在公网服务器上开启一个php的网站服务

点击报告给管理员,就能外带管理员的cookie,就得到flag了

Expression
由题目意思知道这题应该是jwt伪造,先随便注册一个账号然后登陆抓包看jwt

得到了jwt去在线网站解密(https://www.jwt.io/),因为说密钥没有改,所以大概率猜是secret,结果发现验证通过了
其实也可以去爆破(爆破工具:c-jwt-cracker)


试一下伪造admin看看

将伪造后的值替换原来的token出发包

看到前端也显示admin了
去查看一下网站用什么写的

猜测可能是ejs模板注入,构造payload

进行jwt伪造发包,得到flag

popself
exp
得到flag

这题涉及到双md5还是0e开头的问题,下面贴一些符合要求的字符串
$md5 md5(md5($md5))
0e1138100474 0e779212254407018184727546255414
0e1576609003 0e783827937870189505146310298941
0e1576882155 0e063554437755195035165445789139
0e1687027651 0e824361684489256492954843919134
0e1808236718 0e935567136545220553710393252752
0e1883153115 0e215043081382353607609756824848
0e2010692162 0e514898998879174336203746127058
0e2191017163 0e990693510804099511097744934423
0e2263940937 0e468303117297464441647744757721
0e2268790262 00e73242608486551620036091555760
0e2366549572 0e691884388380428395250404229605
0e2815644399 0e662052678416572768754614486758
one last image
一句话木马,可以直接上传php但是<?php标签被过滤了,我们使用短标签构造木马
上传后得到地址

去访问木马所在的地址进行命令执行

得到了flag
Sequal No Uta
一题常规的sql注入,但是要注意这个不是mysql是SQLite,语法稍微有点不一样,思路都一样
直接上exp
爆出表和字段

去查看secret这个字段
得到flag

ez read
注册一个账户然后登陆进入读取故事界面,发现有任意文件读写

这种题目一般要先读取源码,然后进行代码审计利用漏洞获取flag,不然你flag文件的名字都不知道就很难搞,所以要rce
先去看看虚拟目录中的项目启动命令

看见启动看app.py文件所以猜测是flask,但是app.py的所在目录不知道无法读出这个文件的代码
再去看一下当前进程的虚拟目录的环境变量

得到了home目录,再去访问这个目录下的app.py文件
然后就看到了debug设置成了false

所以不能进入调试得换一个方法
然后开启了漫长的代码审计过程..........
源码
这边教一个技巧,一般代码中都会有waf,看看哪边调用了waf就去那边找漏洞..…

发现要先用session伪造user(其实直接注册也可以不伪造)然后去进行模板注入
session的key就是代码中的app_key
- 作者:qetx
- 链接:http://qetx.top/article/2b3b233d-8731-8079-b116-d1f02c4eca7e
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。








