# shakticon-ctf-WP
# 总览
rank 8/596
solved 20/28
很水的国外比赛,只有前三名全是女生的队伍才有奖金,最高 512
感觉适合拿来招新赛。
PWN 方向题目,过于简单,以至于太 friendly,不到半小时 ak 了
reverse 那里最难的那一道题思路 100% 正确,但是写出来的脚本是半自动的,手动的时候估计又小错误然后 flag 中间就有一点错误导致 500pts 没了,这题只有 4 人解出。
感觉在 re 方面还是有学习价值的,PWN 方面就算了,全是水题。接着就看看 pearlctf 了。那里还有个 2.35 的 UAF
# PWN
# binary_heist
这题简单 ret2libc,但是靶机的 libc 和给的 libc 不符合,和牛马 qsnctf 一个样子。但是这个我们能拿到 got 表地址,直接查 libc 就行了。
1 | #patchelf --set-interpreter /home/akyuu/glibc-all-in-one/libs/2.23-0ubuntu3_amd64/ld-2.23.so --replace-needed libc.so.6 /home/akyuu/glibc-all-in-one/libs/2.23-0ubuntu3_amd64/libc.so.6 pwn |
# sim
直接改 got 表了,很水
1 | #patchelf --set-interpreter /home/akyuu/glibc-all-in-one/libs/2.23-0ubuntu3_amd64/ld-2.23.so --replace-needed libc.so.6 /home/akyuu/glibc-all-in-one/libs/2.23-0ubuntu3_amd64/libc.so.6 pwn |
# chall
真就 “焯!”
1 | #patchelf --set-interpreter /home/akyuu/glibc-all-in-one/libs/2.23-0ubuntu3_amd64/ld-2.23.so --replace-needed libc.so.6 /home/akyuu/glibc-all-in-one/libs/2.23-0ubuntu3_amd64/libc.so.6 pwn |
# 忘了叫什么了
就是读入了 flag,还是在栈上,然后读入 s,printf (s)
直接写 % s 不知道为什么打印不出来 flag
整的我又用 % p 然后 hex 转的 str
1 | arr=[0x746369746b616873,0x3472676e30637b66,0x5f796234625f3574,0x333737346d723066,0xa7d72] |
# reverse
# 忘记名字 1
逆向之后就是解个 n 元一次方程
1 | v17+v27-v29==106 |
垃圾 gpt 写的代码不能用,直接自己写了一个生成的代码。
1 |
|
生成的 py
1 | from z3 import * |
得出结果按照变量手动排序,逆向得出程序把变量进行了交换,偶数下标异或了一下,直接逆。
1 |
|
# 忘记名字 2
简单 reverse,随便一下就出来了
1 |
|
# 忘记名字 3
最难的一个,具体程序不陈述了。思路就是每五位爆破,但是合法结果多,直接 check 函数过滤一下,得到了将近 200 个 flag,但是中间有小错误导致结果错误。
很可惜。
错了一堆半自动化的脚本。
1 |
|
1 |
|
1 |
|