Evolution of Return Oriented Programming

Featued Image

The Need for Return Oriented Programming

Vanilla EIP Overwrite

  • Say suppose you are reading a book and then the doorbell rings, so you pause the current activity and then make a note of where you have reached, by either noting the page number, folding the page, or using a bookmark to continue later. This is basically like saving your return address.
  • You go to the door, attend to the visitor and then come back to reading. This is the execution of a new subroutine
  • You then take a look at your bookmark and continue where you had stopped.
Saved Return Pointer Diagram

The mitigation to this technique -

Stack cookie

SEH — A Workaround

SEH workflow
SEH Linked List Structure
ROP Gadgets workflow

Mitigation Technique-

SafeSEH

OS Level Protection

DEP — Data Execution Prevention

Return Oriented Programming

Mitigation techniques -

References

  • Rapid7

--

--

--

I make things, I break things and I make things that break things https://mihirshah99.tech

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

How Unique is Software Development in Healthcare ?

Building REST API With ASP.NET Core

Cicerone and Dagger2 — Managing BottomNavigation with Fragments

How to plan WITH essential tools to build a better Mobile Application?

Structuring Flutter project by packages

Hard Work, Growth, and all the Imposter Feels

MFC and the future of C++

Leetcode problem 1022: Sum of Root To Leaf Binary Numbers

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Mihir Shah

Mihir Shah

I make things, I break things and I make things that break things https://mihirshah99.tech

More from Medium

Safer WIFI setup for Home — Small Office

Meet The Newest Member of the xLeapp Family

One alternative way to access your resource anywhere without Global/Public IP required

Podman — The new age Containerization Tool