Bienvenidos a esta clase en la cual estaremos viendo un poco de PHP y después de acabar esta clase vamos
a ver la importancia de saber aunque sea lo básico de programación, al menos entender cómo funciona
esto, debido a que en muchas ocasiones vamos a necesitar leer código y editarlo para poder usarlo a
nuestra conveniencia.
Ojo, no es necesario ser desarrollador profesional para poder ser un Penti extra, pero sí que es necesario
aprender lo básico de programación.
Entonces, comencemos por acá.
Vemos que hay un input secrets y si ingresamos una palabra, obtenemos si es incorrecto.
Si revisamos el código fuente, vamos a ver que hay algo de código PHP en la parte de acá.
Entonces, lo primero que salta a la vista es que tenemos esto en Core Secrets, igual a esta serie
de caracteres y en la parte de abajo se está haciendo una comparación y dicha comparación me va a ayudar
a saber la contraseña de Nauta 9 y vean cómo es la comparación.
La comparación está haciendo lo siguiente si esta serie de caracteres de arriba es igual a lo que yo
estoy mandando en esta parte de acá, pero no solamente lo que estoy mandando, sino lo que estoy mandando
codificado por esta función, si lo que estoy mandando codificado por la función es igual a la serie
de caracteres de arriba.
Entonces yo puedo ver la contraseña para Natasha 9.
Así que ahora lo que yo necesito es encontrar la manera de saber qué es igual.
Esto antes de aplicar la función, porque lo que está pasando desde que ingresó una palabra a esta palabra
se le aplica esto que dice la función y luego de aplicársele esto debe ser igual a lo de arriba.
Es decir, ingresa una palabra, la aplicó esto y me da lo de arriba.
Yo necesito revertirlo, necesito ingresar esto, luego una función y llegar a la palabra que necesite
enviar.
Entonces para ello lo que vamos a hacer ahorita es ir a nuestra terminal y escribir PHP menos.
Tenemos una consola interactiva para poder probar nuestra función.
Vamos a copiar esto de acá y los pegamos aquí.
Ahora voy a borrar esto y haré una prueba con la palabra Hola Hmong Center.
Olvidé decir eco al inicio para que lo imprima.
Ahora sí, entonces vean lo que acaba de pasar con mi palabra.
Hola!
Primero fue codificado en Base64, luego se invirtieron todos los caracteres de esta codificación anterior
y posterior a eso hicimos una conversión hacia hexadecimal.
Entonces, cómo podemos revertir esto Cenci?
Este fue el paso de más adentro y como ahora lo voy a revertir, este que está acá debería estar afuera
porque estoy haciendo todo al inverso, entonces pueda decir ahora hehco Base64 y en vez de codificar
en vez de en Coutts no voy a decir Decoud, ahora estoy aquí.
Siempre quedaría en medio a la hora de invertir.
Las tres funciones, entonces sigue estando por acá.
Y luego ya no gastar esto, sino que lo que está afuera va a pasar a la parte de adentro, pero también
va a ser invertido.
Ahora va a ser x tu vida de esta manera.
Hacemos, escribimos el punto y coma ahora y acá adentro, que es lo que vamos a pasar, vamos a pasar
la serie de caracteres que estaban acá, entonces los vamos a copiar y ahora vamos a pegar por acá y
veamos que resulta.
Bueno, ocurrió un error y es que olvidé colocar acá las comillas simples luego de colocarlas y debería
funcionar, entonces por acá tenemos este texto, ahora con este texto yo debería ser capaz de copiarlo
y llevarlo hacia nuestro input, así que vamos a verificar si hemos hecho esto de manera correcta.
Otra manera de verificarlo sería ir hacia nuestra primera función ñaca.
Y tratar de ingresar el texto que acabamos de obtener.
Entonces, veamos.
Será que esto sea igual eso de arriba puesto, podemos verificar rápidamente nano pegamos, aquí está
uno y aquí está la otra cadena de caracteres.
Como pueden ver si son los mismos.
Entonces el reto debería estar resuelto.
Lo vamos a verificar ahora mismo.
Vamos a copiar esto y lo pegamos por acá.
Submit Y excelente, tenemos la contraseña para Natasha.
9.
Espero que haya gustado a esta clase y hayan visto un poco del pensamiento que necesitamos tener.
No es necesario ser un experto en programación, pero menos se necesita entender lo básico para poder
hacer este tipo de cosas.
En el próximo video estaremos aprendiendo un nuevo tipo de ataques en el cual estaremos inyectando comandos.