Introduction

¿Puedes bypassear el motor?
Getting the Flags
Reconocimiento Inicial
Comenzamos escaneando los puertos abiertos de la máquina.

Ahora vamos a escanear dichos puertos más en profundidad.

Vamos a ver los directorios de la página.
Profundización
Vamos a ver cómo se ve la página.

Parece normal, pero si intentamos jugar Ra8, que es el mejor movimiento por acabar en mate, nos dice:

De igual manera si modificamos la posición hasta que es mate, nos dice lo mismo: g8=Q.

Vamos a mirar qué hay en /js/app.js. Si buscamos en el código, podemos ver que la restricción que nos da de no poder hacer mate, está del lado del cliente:
Explotación
Por lo que vamos a usar BurpSuite para modificar el movimiento sin restricciones del cliente:

Interceptamos la petición de Ra7 de la cual no obtenemos problemas del lado del cliente, y en Burp la modificamos para hacer Ra8.

