码迷,mamicode.com
首页 > 系统相关 > 详细

Shellcode

时间:2019-10-29 00:50:54      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:div   clu   span   lib   不同   写入   protect   都对   gcc   

什么是Shellcode:

  shellcode是我们写入到程序的一段可执行代码,通过执行这串代码我们可以拿到靶机的shell,从而可以干你想干的事。不过现在的题目一般都对可以写入的位置做了限制,既可写不可执行。但如果是一道专门的shellcode题,则会在某一段加入可写可执行的权限,或则利用mprotect()或者_dl_make_stack_executable()改写某些区域的proc再执行。

  32位的shellcode和64位的略有不同,这里我们先讲32位的shellcode。

x86:

我们先用C写一个调用shell的程序,其代码如下:

#include <stdio.h>
#include <stdlib.h>
int main()
{
  execve("/bin/sh", 0, 0);
  return 0;          
}

编译成32位程序:gcc -m32 -g -o test1 test1.c,运行便可以拿到我们本机的shell

 

Shellcode

标签:div   clu   span   lib   不同   写入   protect   都对   gcc   

原文地址:https://www.cnblogs.com/countfatcode/p/11756258.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!