2012_rop(1).pdf

(204 KB) Pobierz
Return-Oriented Programming
Scott Hand
CS 6v81.005 Spring 2012
Traditional Stack Overflow
NOP Sled
Payload
Saved EIP
Traditional Stack Overflow
The simplest stack overflow exploit is the one
that operates as follows:
1. Send a payload with a NOP sled, shellcode, and a
pointer to the NOP sled
2. The pointer to the NOP sled overwrites the
saved return address and thereby takes over the
stored EIP
3. EIP now points to the machine code and the
program executes arbitrary code
Evaluation
Pros
▫ Very easy to trigger
▫ Simple to understand
▫ Being able to inject code means our payloads are
powerful and flexible
Cons
▫ Just make the stack non-executable
▫ Lots of problems with bad characters, buffer sizes,
payload detection, etc.
Zgłoś jeśli naruszono regulamin