misk
[Week 1] SignIn
basecrack
0xGame{Welc0me_To_0xGame2023!!}
[Week 1] 重生之我在教学楼打cs
cs 地图 这两个关键词一搜,出来的结果,让我得知:bsp文件是cs的地图文件,可以用bsp viewer查看:
[Week 1] least and most
zsteg一下:得到前半部分 0xGame{lsb_com
least让人联想到:Least Significant Bit,即:lsb
lsb试一下:
most让人联想到msb
bined_wi th_msb}
连起来:0xGame{lsb_combined_with_msb}
[Week 1] another signin
区块链攻击:教程:https://hak5.com.cn/post/1203.html
[Week 1] shark shark
统计->协议分级->data->查找 看到一串16进制数据和一个字符串:secret
找一个文件,利用010editor,将16进制数据覆盖原文件,发现是个zip文件,改后缀为zip,发现里面存在加密flag.txt文件,尝试使用密码:secret
错误,尝试tcp流里的密码:very_safe_password 正确
0xGame{7a504dab-ada6-4c41-adb3-0d1530098cd4}
[Week 1] hide and seek
提示steghide,即用这个工具来解,但是这个解需要密码,现在的目标是找到密码
[Week 1] signin
f12 查看 main.js
[Week 1] baby_php
- 找到一个MD5哈希碰撞的例子,例如’a’和’b’。
- 设置’c’为”1024abc”。
- 设置Cookie ‘name’为”flag”。
- 发送GET请求包含’a’和’b’,发送POST请求包含’c’,并附带上述设置的Cookie。
[Week 1] 找不到且不对劲的flag
1 | nc 8.130.35.16 51000 |
0xGame{N3t_cA7_M30w_9dn23hcx8}
[Week 1] What’s CBC?
什么是cbc?cbc是AES加密算法的一种最常用的分组模式
下面来分析代码,写注释
1 | from Crypto.Util.number import * |
具体分析过程:
text就是flag明文
vi=11111111
加密算法是:encrypt函数
它的实现:
密文与key进行异或text xor key = result
所以一个组的解密过程就很清晰了:
iv xor 明文一 = 加密后的iv
加密后的iv xor key = A
A xor 明文二 = B
B xor key =C
C XOR 明文三 =D
D XOR key=E
E xor 明文四 =F
F XOR key =G
……
其中,A 是密文分组一,C是密文分组二,E是密文分组三,G是密文分组四,……
ps:(enc 这一串我起初以为是16进制字符串,怎么看都看不明白,后来问了一下AI,才知道这玩意是ascii字符串)
现在的目标是得到key。
由
1 | enc = enc[:8] |
得到密文分组一,即A
1 | \x8e8\x81o\xd6Q |
iv xor 明文一 = 加密后的iv
加密后的iv xor key = A
那么
(iv xor 明文一)xor key = A
(iv xor 明文一)xor A = key
(11111111 xor 明文一 )xor \x8e\xc6\xf9\xdf\xd3\xdb\xc5\x8e = key
[Week 1] BabyRSA
1 | 先分解n |
[Week 1] Vigenere
已知flag是0xGame{……}
手算密钥得到密钥是 game
找个在线网站解出来得到
0xGame{79ad4e0522a0a67a6e196be52357e60b}
[Week 1] baby_php
MD5碰撞
[Week 1] another signin
区块链题目: