第七届浙江省大学生网络与信息安全竞赛决赛-WP
总榜Rank1,在毕业前拿到榜一也是圆满了 :)
web
wucanrce
1 |
|
无参rce
1 |
|
unserialize
1 |
|
反序列化
调用路径:AAA::__destruct-->AAA::__toString-->GGG::__invoke-->EEE::__get
其中到GGG
的时候需要爆破一下md5
1 |
|
EEE
中的if用报错跳过即可
exp:
1 |
|
misc
FinalSign
附件是一个txt,存在snow特征,有大量的20
,09
用得到的keyhelloworld
去xor txt中的字符串
1 |
|
非黑即白
反转文件,得到一张gif
1 |
|
将纯黑色的帧转为0
,其他的转为1
,得到一个加密的zip
1 |
|
identify查看帧间隔,发现前几帧的间隔不一致,提取出来转成字符串
1 |
|
1 |
|
解压得到flag DASCTF{H3r3_1s_C0L0rful_W0rld}
天命人
按照黑猴的章节名排序
1 |
|
发现按照顺序取一个字节是50 4b 03 04 00 0a
python提取出来
1 |
|
7-zip打开可以看到另一个zip
其中 根器.zip 很明显进行crc32爆破
1 |
|
得到密码C0M3_4ND_Get_S1X_R00TS!!
,解密 未竟.zip
提取金箍棒.png
上的像素点
1 |
|
得到verapass1:jinggubang
用照片作为密钥文件同时使用密码挂载得到flag
DASCTF{T1m3_t0_F4Ce_De5t1nY}
reverse
Reverse2
upx
加密,但抹了特征,修改一下就行
然后用命令解密
1 |
|
打开就是 base64
换表
Reverse1
先使用标准rc4加密密钥
之后使用魔改的rc4加密明文
1 |
|
pwn
ezPwn
直接利用tcache bin
在0x4180
地址处创建chunk
,并写入构造好的数据,就可以获取flag
1 |
|
printFFF
题目允许写入0x15字节的shellcode,但是不够获取shell
所以利用exit
的got
表第二次写shellcode,并在第一次shellcode中设置一些环境
这样第二次shellcode就可以直接调用system("sh")
来获取shell
1 |
|
reverse_stack
在程序扩展栈空间的时候存在整数溢出,让下一个函数的栈在当前函数的前面,就可以实现修改程序流
通过修改程序流让程序第二次使用mmap创建第二个栈
这两个栈是连续的,这样在第一次调用函数时写入的栈地址就在程序栈的中间,就可以获取栈中的数据,比如libc_start_main的地址
之后就可以构造rop链获取shell
1 |
|
数据安全
datasecurity_classify1
1 |
|
datasecurity_classify2
先用tshark
提取数据
1 |
|
除了文档中的要求外注意处理ip的范围
1 |
|
crypto
MyCode
根据加密内容生成key并爆破即可
1 |
|
信创安全
OH
app会在点击事件中对输入进行加密,将加密之后的数据与/aPR+E8wS9+XbFMUfm8NacHpP190pf5xaR8+MIm/8gw=
进行比较
程序加密的调用流程为encrypt->encryptX->encryptY->encodeX->encodeY
分析初始化函数发现,加密使用的密钥相同,为DASCTF2024-OHAPP
,encryptX
为aes-128|ecb加密,encryptY
为aes-128|cbc加密
分析encryptY,发现疑似使用encryptX的结果作为cbc的iv
程序将明文从中间分为两个十六位字符串,前十六位进行encryptX加密,后十六位进行encryptY加密
签到
网安知识大挑战-FINAL
简单的问题,直接做了
DBCCCCBCDB
根据提示用Triple DES解密得到flag