We are facing an ELF 64-bit binary.
$ checksec fcsc_browser
Arch: amd64-64-little
RELRO: Partial RELRO
Stack: No canary found
NX: NX disabledWe are facing a stripped ELF 64-bit binary. It accepts a command-line parameter most likely being the password being checked. We notice the binary is taking a lot of time to execute before noticing us of a fail.
As the name suggests, we are going to consider the binary is actually an
| class Labyrinth: | |
| MSG_WALL = 'STOMP ! You hit a wall, you stay at your last position' | |
| MSG_OK = 'OK - your new position is' | |
| DIRECTIONS = { | |
| 'N' : (0, 1), | |
| 'S' : (0, -1), | |
| 'W' : (-1, 0), | |
| 'E' : (1, 0) | |
| } | |
| INVERTED = { |
| #!/usr/bin/env python | |
| # coding: utf-8 | |
| from pwn import * | |
| class Exploit: | |
| def __init__(self, args): | |
| if len(args) == 1: | |
| self._func = process | |
| else: |
| CC = gcc | |
| CFLAGS = -Wall -Wextra -std=gnu99 | |
| LDFLAGS = -ldl | |
| RM = rm -f | |
| poc: poc.o first.so second.so |