当前位置: 技术问答>linux和unix
linux下缓冲区溢出的shellcode怎么写啊~~~
来源: 互联网 发布时间:2017-01-28
本文导语: 缓冲区溢出的原理我懂,但是在缓冲区里的那溢出后执行的shellcode怎么写我不知道啊~~原理是怎么样的呢? 这是我在网上找到的一些那个shellcode的代码: #include void main() { char *name[2]; name[0] = "/bin/sh" name[1] = NULL; ...
缓冲区溢出的原理我懂,但是在缓冲区里的那溢出后执行的shellcode怎么写我不知道啊~~原理是怎么样的呢?
这是我在网上找到的一些那个shellcode的代码:
#include
void main()
{
char *name[2];
name[0] = "/bin/sh"
name[1] = NULL;
execve(name[0], name, NULL);
exit(0);
}
我觉得原理就是改了一下所使用的shell.
把它用gcc弄成可执行文件,把可执行文件chmod+s ,直接运行了一下,但我发现只是换了一个shell而已,用户根本没有改变,我觉得就算是缓冲区里的这个shellcode被执行,也改不了用户啊~~~
到底这个缓冲区里的shellcode是什么原理呢?网上的文章都没有很好的介绍.
真的困惑了我好久,请各位大神教导一下.谢谢.
这是我在网上找到的一些那个shellcode的代码:
#include
void main()
{
char *name[2];
name[0] = "/bin/sh"
name[1] = NULL;
execve(name[0], name, NULL);
exit(0);
}
我觉得原理就是改了一下所使用的shell.
把它用gcc弄成可执行文件,把可执行文件chmod+s ,直接运行了一下,但我发现只是换了一个shell而已,用户根本没有改变,我觉得就算是缓冲区里的这个shellcode被执行,也改不了用户啊~~~
到底这个缓冲区里的shellcode是什么原理呢?网上的文章都没有很好的介绍.
真的困惑了我好久,请各位大神教导一下.谢谢.
|