SYCTF官方WP

文章发布时间:

最后更新时间:

页面浏览:加载中...

SYCTF 官方WP

MISC

图片

#W1ndys#

暴力破解压缩包密码得到

丢进winhex看一下

看可以看到IHDR判断为png文件,先把png文件后缀补全,发现缺少了文件头

补全文件头即可,可以手搓,也可以工具梭哈

联系题目得知盲水印拿到flag

MISC签到

下载附件得到一个exe文件

双击打开弹出一个框,

输入1返回1 ,尝试输入flag得到flag{acnbjksbjkvbujsewbuo}

小鲨鱼

下载附件得到一个名为shark.pcapng的流量包,放进wireshark中打开

通过搜索字符串得到flag:CTF{Liu_Ye_De_Kui_Zeng}

Steg

下载附件得到一个名字为steg的文件,没有后缀名,将其拖入kali中用file命令查询其文件属性

可以看到是一个zip文件

将其改为zip文件后打开发现一张图片和一个密钥

对key进行解密得到key=123456

根据题目名以及有key判断为steghide加密

得到flag:SYCTF{steg_hide_!!!}

Oursercet

下载附件里卖弄有一张图片和一个txt文件

文本文件中的密文为莫斯电码,对其解密

由题目名联想到可能为oursercet加密,将其放入软件中,输入123456得到flag.txt

flag:flag{2cf95c04-fa7f-4014-8de7-9f331352696d}

CRYPTO

Rot

W1ndys✌

70 76 80 71 83 123 108 97 82 113 73 57 45 84 101 73 70 113 72 45 65 108 71 68 48 115 45 97 57 83 120 97 75 45 90 125

十进制ASCII码转字符串

FLPGS{laRqI9-TeIFqH-AlGD0s-a9SxaK-Z}

rot13解密

SYCTF{ynEdV9-GrVSdU-NyTQ0f-n9FknX-M}

凯撒大帝又爱又恨的培根

W1ndys✌

BABAB AAAAB AABAB BABBA ABAAA AABBB AABBB BABAB AABBA AABAB BBAAA ABBAA BBAAA AAAAB AAAAB

培根解密

vbfwihhvgfymybb

凯撒解密

key1 #3: syctfeesdcvjvyy

flag提交格式为SYCTF{小写字符串}

SYCTF{eesdcvjvyy}

CRYPTO签到

W1ndys✌

熊出没,就是熊菲特密码咯(埃特巴什码)

SYCTF{CRYPTO_IS_SO_EASY}

你知道异或吗

根据题目提示再结合题目名称,得到可能为xor50加密

下载附件

可以看到有乱码

直接用脚本读取文件内容进行解密

SYCTF{vl2pre-KYDkvs-UPc6L0-tfwVlr-9}

exp:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

# 打开文件
with open('xor.txt', 'r') as f:


# 读取文件内容


content = f.read()

# 将字符串转换为字节数组
byte\_array = bytearray(content, 'utf-8')

# 逐个字节进行xor50解密
for i in range(len(byte\_array)):


byte\_array[i] ^= 50

# 将解密后的字节数组转换为字符串
decrypted\_content = str(byte\_array, 'utf-8')

# 打印解密后的内容
print(decrypted\_content)

md5

下载附件得到

判断为md5爆破

将所给数据放入脚本中

得到原始md5值

将原始md5值用SYCTF{}包裹起来得到flag:SYCTF{F0AF1443B1F463EAFFF7AEBB8B2AC4E6}

WEB

签到

打开url,页面只有一串字符

查看源代码发现flag:SYCTF{d94e9772-a3fb-4e6e-90be-d907c3a7c142}

宝宝巴士

打开发现如上代码,可以看到cat/tac,flag和空格被过滤了,用uniq,fla?,%09尝试绕过

payload:

1
2
3
4

?rce=ls%09/

?rce=uniq%09/fla?

拼接url得到flag:SYCTF{01b5542f-8c68-41b5-9038-3a2dc1663886}

登录

打开可以看到需要登录

点击登录跳转到登录框页面

尝试弱口令:admin,password登录,得到flag: SYCTF{98972343-7e94-4a04-ade4-28a446a2f996}

Rce

打开地址得到

可以看到过滤了flag,php,file这几个字符,尝试绕过

payload:

1
2

?c=system("cat fl\#");

url拼接上payload得到flag:SYCTF{Web_1_0Wo_Bu_Hui}

PWN

NC

使用nc工具连接服务器之后 ls查看文件列表 cat flag 查看flag

REVERSE

RE签到

下载附件得到一个exe文件

双击无法打开,尝试命令行./打开,得到flag:ISCTF{873c-298c-2948-23bh-291h-kt30}

01

程序逻辑:将flag异或“随机数”后得到正确flag,再直接与输入比较。

只要srand的参数确定了,一系列rand()返回值都能确定。其中flag原值可通过IDA Pro的LazyIDA一键导出(需要另行安装)。

exp:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <cstdlib>
#include <cstdio>
using namespace std;
char flag[]={0xa1,0x7c,0x7a,0xb2,0x13,0x68,0x28,0xe5,0x25,0x5,0xca,0x8c,0xce,0x7f,0xf3,0xaa,0x50,0x5a,0x50,0x63,0x17,0x5b,0x18,0xd7,0x51,0xae,0x14,0x87,0x7f,0x7f,0x79,0xa4,0xc4,0x24,0xa7,0x89,0xa4,0xab,0x4b,0xae,0xb8,0x06,0xdf};
int main(void){


srand(0xDEADC0DE);


for(int i=0;i<43;i++)


printf("%c",flag[i]^(rand()&0xFF));


return 0;
};

02

Go语言代码阅读题,加密逻辑:flag先异或0x9C,再经过换表Base64后转十六进制。

异或解密:

1
2
3
4
5
6
7
8
9

enc=[0xf7,0xce,0xde,0xaf,0xf0,0xa8,0xec,0xc4,0xf4,0xa8,0xf3,0xce,0xff,0xe6,0xf3,0xd2,0xf9,0xaf,0xff,0xd6,0xfb,0xcc,0xeb,0xc8,0xfb,0xe5,0xcd,0xcd,0xf8,0xe6,0xef,0xd3,0xfe,0xf6,0xff,0xcc,0xfb,0xcd,0xa8,0xd6,0xf8,0xcc,0xf7,0xd3,0xf8,0xcd,0xff,0xcc,0xf4,0xaf,0xf8,0xaa,0xf8,0xdd,0xf7,0xce,0xea,0xfb,0xa1,0xa1]
for i in range(len(enc)):


enc[i]^=0x9c


print(chr(enc[i]),end='')

CyberChef脚本

1
2
3

From\_Hex('Auto')
From\_Base64('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+/=',true,false)

03

用jadx打开,发现为AES加密,其中密钥为“SYCTF2023yyds666”,密文在flag数组中。解密exp:

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

import java.security.\#;
import javax.crypto.\#;
import javax.crypto.spec.SecretKeySpec;
import java.math.BigInteger;
public class exp{


public static void main(String[]args){


byte[] flag=new byte[]{0x4, (byte) 0xe0, (byte) 0xc7,0x4c,
(byte) 0x92, (byte) 0x89,0x60,0x18, (byte) 0xe3,0x3c, (byte) 0xa0,0x75,
(byte) 0xa2,0x13,0x51,0x68, (byte) 0x93, (byte) 0xd4, (byte) 0xda,0x3b,
0x47,0x3e,0x0, (byte) 0x94,0x59, (byte) 0x9f, (byte) 0xd4,0x41,0xa, (byte) 0xf7,
(byte) 0xdd, (byte) 0xe8, (byte) 0x80,0x37,0x3c,0x6d, (byte) 0xd9, (byte) 0xee,
(byte) 0xb8, (byte) 0x80,0x6e, (byte) 0xcd,0x0, (byte) 0xbc,0x1b,0x1c,0x35,0x76};


String key="SYCTF2023yyds666";


byte[] decryptData=DecryptAES(key,flag);


System.out.println(new String(decryptData));


};


private static byte[] DecryptAES(String key,byte[] data){


try{


SecretKey secretKey=new SecretKeySpec(key.getBytes(),"AES");


Cipher cipher=Cipher.getInstance("AES/ECB/PKCS5Padding");


cipher.init(Cipher.DECRYPT\_MODE,secretKey);


return cipher.doFinal(data);


}


catch(Exception e){


e.printStackTrace();


};


return new byte[]{0};


};
};

也可以用赛博厨子做:

1
2
3
Input:04e0c74c92896018e33ca075a213516893d4da3b473e0094599fd4410af7dde880373c6dd9eeb8806ecd00bc1b1c3576
AES\_Decrypt({'option':'UTF8','string':'SYCTF2023yyds666'},{'option':'Hex','string':''},'ECB/NoPadding','Hex','Raw',{'option':'Hex','string':''},{'option':'Hex','string':''})
Output:SYCTF{CE07DDE4-A771-8499-56A8-49AC9D04817F}.....