ROP-Emporium
ROP-Emporium copied to clipboard
Solutions for ROP Emporium challenges (https://ropemporium.com/) in python.
ROP Emporium solutions
ROP Emporium contains 7 challenges (32-bit and 64-bit versions) in somewhat increasing difficulty to teach ROP basics.
This repo contains python scripts that either print the flag or result in a shell, pretty much all of the challenges can getyou a shell if you really want to.
Dependencies:
- pwntools
- A functioning brain.
Useful commands/tools to use for any challenge
- Get function names:
nm binary | grep ' t '
- Get GOT entries:
readelf --relocs binary
- Get PLT entries:
objdump -M intel -dj .plt binary
- Get strings:
strings binary
or the much better alternativerabin2 -z binary
- Virtual address space layout:
vmmap
in PEDA after starting program, otherwise other modules aren't mapped yet. - Finding gadgets:
Note: You probably want to utilize the pwntools support to programmatically get GOT/PLT/segment data/function addresses using. It's easier to tell people than to use it myself..
If some solutions are unclear/confusing/total shit, go ahead and submit a PR.