One gadget rce
An execve([“/bin/sh”]) gadget,or similar,would be useful
上面两图,是我在谷歌学习的时候搜到的内容,在我的理解中,就是在linux下,某些libc中有一个地址,上面的内容是execve([“/bin/sh”]),这意味着,如果我能溢出,并覆盖到这个gadget的地址,那么我很容易就可以getshell了。
在IDA中,我们通过搜索字符串,/bin/sh可以找到如下图的内容,这就是one gadget rce,
上文,我们得知了一个getshell的小技巧,现在,我们来分析一下题目。
思路是这样的,首先,发送,我们需要去leak的地址的got,printf会帮我们读到他的地址,之后,我们只需要取值,然后去leak one gadget rce,计算他在内存中的地址,就能getshell了。
exp如下:
1 | # -*-coding:utf-8-*- |
参考:
https://www.yumpu.com/en/document/view/37809267/dragons-ctf/37
题目链接:
http://pan.baidu.com/s/1qYjMJVY