昨天学习了re2syscall,该方法主要是系统中没有system()
函数,也没有/bin/sh
字符串,一般该二进制程序使用static link
静态链接,可以找到很多的gadget
,我们可以利用这些gadget进行系统调用
但是在动态链接时,gadget
就变少了,也是同样的没有system()
函数,这时我们需要再函数动态绑定的libc
中找,例如经常使用的system
、/bin/sh
字符串,简单的原理是通过泄露的函数的偏移,猜测二进制文件的libc
,然后通过libc + system偏移
找到system
函数的真实地址,/bin/sh
字符串也同理,通过栈溢出调用getshell