ret2win
ret2win challenges usually provide a hidden success function and a memory corruption bug that lets the attacker overwrite the saved return address.
Requirements
- The binary contains a reachable
win,print_flag, or equivalent function. - The input primitive reaches saved control flow.
- Mitigations do not prevent the chosen control-flow redirect.
Flow
flowchart LR
A[Find overflow] --> B[Calculate offset]
B --> C[Find win address]
C --> D[Overwrite return address]
D --> E[Receive flag]