ret2libc3地址泄露–pwn
在此实验前,我们从简到难实验了ret2libc1,ret2libc2两个实验,对getshell有了一定了解,基本学会了如何在有无system及/bin/sh函数的情况下获取权限,在此以实验二的名为pwn的可执行文件为入手点,进行getshell。
首先,对ret2libc3可执行文件进行检测,
checksec ret2libc3
结果如图:
发现其不存在必要的保护。
其次将其进行IDA静态调试,发现其是没有system函数的,不能供我们直接执行,故我们需要进行已执行函数的got表泄露,来获取system与binsh的真实地址,从而执行他们,达到我们的目的。静态调试界面如下:
需要提的是,显而易见gets函数处存在栈溢出漏洞(申请64h大小,但是gets无限制),在gets之前已经运行了puts函数,故我们选择泄露puts函数的真实地址,因为其执行后真实地址等信息已经存入plt、got表内。
而怎么得到system函数的地址呢?这里需要用到两个知识点。
- system函数属于l