小编CRO*_*CRO的帖子

故意缓冲区溢出漏洞程序

我正在尝试为我的一个comp sci课程找出这个问题,我已经利用了所有资源但仍有问题,如果有人能提供一些见解,我会非常感激.

我有这个"目标"我需要执行缓冲区溢出漏洞的execve("/ bin/sh").在buf [128]的溢出中,当执行unsafe命令strcpy时,返回缓冲区的指针出现在系统期望找到返回地址的位置.

target.c

int bar(char *arg, char *out)
{
 strcpy(out,arg);
 return 0;
}

int foo(char *argv[])
{
 char buf[128];
 bar(argv[1], buf);
}

int main(int argc, char *argv[])
{
 if (argc != 2)
 {
  fprintf(stderr, "target: argc != 2");
  exit(EXIT_FAILURE);
 }
 foo(argv);
 return 0;
}
Run Code Online (Sandbox Code Playgroud)

exploit.c

#include "shellcode.h"

#define TARGET "/tmp/target1"

int main(void)
{
  char *args[3];
  char *env[1];

  args[0] = TARGET; args[1] = "hi there"; args[2] = NULL;
  env[0] = NULL;

  if (0 > execve(TARGET, args, env))
    fprintf(stderr, …
Run Code Online (Sandbox Code Playgroud)

buffer exploit buffer-overflow shellcode

5
推荐指数
1
解决办法
2475
查看次数

标签 统计

buffer ×1

buffer-overflow ×1

exploit ×1

shellcode ×1