Overview
Syllabus
Intro
Brief reminder
Simple illustration
Mismanaged bounds check
Size restrictions?
250 bytes example
Another design concept
Double injection
How to find descriptor
"Might" be possible?
Correct return address?
Pop another frame
Situation #1 illustrated
Calculate return address
Function calls
Why do they look like this?
Clean return requirement
Server
Initial injection
First payload
Find socket descriptor
Using the socket
Second payload
Still using the same socket
Finding return address
Code
Restore internal registers
Summary
Benefits
IDS Countermeasures
Other countermeasures
Questions?
Taught by
Black Hat