CTF国赛-L3tS4fe战队WRITEUP

L3tS4fe战队WRITEUP

一、 战队信息

战队名称:L3tS4fe

战队排名:700

二、 解题情况

三、解题过程

unzip

linux下建立一个软连接文件指向/var/www/html,这作为第一个zip文件压缩。

第二个压缩包,先创建一个test目录,在test目录下写一个shell文件cmd.php,此时压缩包目录架构是:test/cmd.php

访问cmd.php,输入执行的指令,获得flag

签到卡

输入指令print(open(‘/flag’).read())

flag{06c7b3f2-5ba7-4c40-a161-13348cc57223}

babyRE

在文件中找到网站,打开网站解析文件。

然后发现一个加密的流程,打开加密流程,分析过程。

在secret模块中,添加一个打印模块,记录下所有数据。

根据后续的代码,编写一个解密异或代码如下:

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
int main() {
char a[] = {102,10,13,6,28,74,3,1,3,7,85,0,4,75,20,92,92,8,28,25,81,83,7,28,76,88,9,0,29,73,0,86,4,87,87,82,84,85,4,85,87,30};
printf("%c",a[0]);
for (int i = 1; i < 42; i++) {
a[i] = a[i] ^ a[i-1];
printf("%c",a[i]);
}
return 0;
}

成功获得flag

flag{12307bbf-9e91-4e61-a900-dd26a6d0ea4c}

被加密的生产流量

在流量中找到一串前面相同,最后2位不同的字符,发现最后以=结束,将其全部连接起来,用base16解析,成功获得flag

dumpit


看到ctf数据库和flag1表,查查看

fake_flag

不在mysql里

于是看打印出来的日志


没发现什么有用的信息
但题目是dumpit,应该就在里面找
试了半天想到docker的env可能有没删除的flag,于是

找到flag(这应该是非预期解,预期解是命令执行吧。。。)

Sign_in_passwd

首先打开文件得到

猜测第一行是base64加密,但解出来不对,所以猜测是换表加密,第二行是url加密,解密第二行得到

GHI3KLMNJOPQRSTUb=cdefghijklmnopWXYZ/12+406789VaqrstuvwxyzABCDEF5

换表解密得到flag


CTF国赛-L3tS4fe战队WRITEUP
https://davidpenn888.github.io/2023/05/28/CTF_competition_1/
作者
David Penn
发布于
2023年5月28日
许可协议