Ir al contenido principal

Entradas

Mostrando entradas de agosto, 2018

Explotación Web (IV): Solución Reto Hackerfire "Kept in Secret" (II)

Decía en el anterior post que en éste iba a solucionar el reto de explotación Web de la plataforma HackerFire, que en el citado post resolví con sqlmap, de forma manual, es decir, sin utilizar ninguna herramienta para ello.

Recuerdo la información sobre el reto a resolver:

Este reto tiene el título "Kept in Secret" y mi valoración sobre su dificultad es:☆☆.

Su enunciado dice lo siguiente:

Now that you know the basic ideas behind SQL injection, can you use the techniques you've learned to extract the password for the admin?.
http://challenges.hackerfire.com:30005.
Solución: Tal y como dice el enunciado se trata de obtener la password del administrador mediante SQL injection.

Accedo a la web y me encuentro lo siguiente (compacto un poco la información que se muestra para que se vea mejor):
Como ya realicé el registro ("Register") cuando escribí el post anterior,  introduzco el usuario y password, "a" y "a" en ambos casos, en el formulario "Log…

Explotación Web (III): : Solución Reto Hackerfire "Kept in Secret" (I)

En este post la solución a uno de los retos de explotación Web de la plataforma HackerFire.

Este reto tiene el título "Kept in Secret" y mi valoración sobre su dificultad es:☆☆.

Su enunciado dice lo siguiente:

Now that you know the basic ideas behind SQL injection, can you use the techniques you've learned to extract the password for the admin?.
http://challenges.hackerfire.com:30005.
Solución: Tal y como dice el enunciado se trata de obtener la password del administrador mediante SQL injection.

Accedo a la web y me encuentro lo siguiente:
Tras el registro ("Register") y posterior introducción de usuario y password en el formulario "Login", busco ("Search") el usuario con el que me he conectado("a"); y obtengo lo siguiente:
En esta ocasión, para resolver este reto utilizo sqlmap, que, tal y como se dice en su página oficial, es una herramienta de código abierto de prueba de penetración que automatiza el proceso de detección y explotaci…

Explotación Web (II): Solución Reto CTFLearn "Inj3ction Time"

En este post la solución a otro de los retos de explotación Web de la plataforma CTFLearn.

Este reto tiene el título "Inj3ction Time" y mi valoración sobre su dificultad es:☆☆.

Su enunciado dice lo siguiente:

I stumbled upon this website: http://web.ctflearn.com/web8/ and I think they have the flag in their somewhere. UNION might be a helpful command.

Solución: Al igual que en el anterior, por el título parece evidente que se trata de un reto de SQL injection.

Antes que nada comentar que no soy ningún experto en SQL, sólo sé lo que recuerdo de mi época de programador, que fue hace mucho tiempo, y tampoco soy un especialista en este tipo de ataques web, por lo que si explico mal la solución de este reto agradecería que algún amable lector de este humilde blog me corrija.

En cualquier caso, lo que hice para intentar resolver este reto fue lo siguiente:

Accedo a la web y me encuentro lo siguiente:
Introduzco 1 en "ID:" y obtengo el mismo resultado:
Introduzco 2 en "ID…

Explotación Web (I): Solución Reto CTFLearn "Basic Injection"

En este post la solución a uno de los retos de explotación Web de la plataforma CTFLearn.

Este reto tiene el título "Basic Injection" y mi valoración sobre su dificultad es:☆☆☆☆.

Su enunciado dice lo siguiente:

See if you can leak the whole database. https://web.ctflearn.com/web4/

Solución: Por el título parece evidente que se trata de un reto de SQL injection. Pruebo con lo más básico de este tipo de ataques.

Accedo a la web
introduzco ' or 1 = 1# en "Input", obteniendo lo siguiente:
Por tanto, la solución del reto es: fl4g_giv3r.

Codificación (II): Solución Reto CTFLearn "Privacy Matters"

En este post la solución a otro de los retos de codificación de la plataforma CTFLearn.

Este reto tiene el título "Privacy Matters" y mi valoración sobre su dificultad es:☆☆☆☆.

Su enunciado dice lo siguiente:

The URL that has the flag got corrupted again... here it is: êööòõ¼±±åñæçòçð°ëñ±ðëåîçø´²±è÷îî±øûÛÓüɱ

Solución: Al tratarse de una URL supongo que el principio de la cadena de caracteres que nos dan se corresponde con http. La representación unicode de "ê" en decimal es 234 y la de "h" es 104. Por tanto, pruebo con un pequeño script en Python para ver si nos revela la URL (resto 130 a la representación decimal unicode de cada carácter de la URL corrupta para obtener la representación decimal unicode de cada carácter de la URL original y muestro esta última):

#!/usr/bin/env python
# -*- coding: utf-8 -*-

cipher = "êööòõ¼±±åñæçòçð°ëñ±ðëåîçø´²±è÷îî±øûÛÓüɱ"
solution = ""
for x in cipher:
     solution = solution + (chr(ord(x)-130))

pri…

Codificación (I): Solución Reto CTFLearn "What's Your Favorite Number of the Alpha"

En este post la solución a uno de los retos de codificación de la plataforma CTFLearn.

Este reto tiene el título "What´s Your Favorite Number of the Alpha" y mi valoración sobre su dificultad es:☆☆☆☆.

Su enunciado dice lo siguiente:

The flag accidentally got changed into something else. Here is the flag: ¥¦§¸ªßØÌÉÃÊÐÅËá If it helps, I think the first letter was an A (capitalized)... Title is supposed to be "What's Your Favorite Number of the Alphabet, got cut off :(.

Solución: Nos dicen que el primer carácter "¥" de la bandera corrupta es una "A" mayúscula. La representación unicode de "¥" en decimal es 165 y la de "A" es 65. Por tanto, pruebo con un pequeño script en Python para ver si nos revela la bandera (resto 100 a la representación decimal unicode de cada carácter de la bandera corrupta para obtener la representación decimal unicode de cada carácter de la bandera original y muestro esta última):

#!/usr/bin/env python
# -*…

Criptografía (CX): Solución Reto 22

El  enunciado del vigésimosegundo reto que puse en estepostera el siguiente:

"Evidentemente, ya sabes a qué criptosistema me refiero (ver este post en el que lo explico), pero lo importante en este reto es descifrar el criptograma asociado al mismo, cosa que entiendo no es fácil sin conocer la clave. Para facilitar esta tarea te proporciono, también como recurso asociado al reto, texto en claro conocido correspondiente al criptograma. ¿Puedes descifrarlo?".

Este reto es de criptografía y su solución es:

1.- Tal y como decía en el citado post, el cifrado de Playfair es un criptosistema que consiste en la sustitución de pares de letras o digramas empleando una tabla o matriz generada por una clave.

Por tanto, lo primero que podemos hacer conociendo parte del texto en claro, como es el caso de este reto, es sustituir los digramas del texto cifrado por sus respectivos digramas conocidos del texto en claro.

En nuestro reto tenemos que:

- Criptograma: QE QT DW XN QT PT CW TP AW CH NG KL…

Programación (IV): Solución Reto 1

El  enunciado del primer reto de programación que puse en estepostera el siguiente:

"¿Puedes descifrar el criptograma (c) que se facilita como recurso asociado al reto?. Para ello tendrás que averiguar, de entre los diez números que figuran también como recursos asociados al reto, cuáles son los dos números primos que empleé para generar el par de claves, pública y privada. Ah..., se me olvidaba, también es importante saber que el exponente de la clave pública es 65537".

Este reto es de criptografía y programación y su solución es:

1.- Ya decía en el citado post que en primer lugar iba a crear un script en Python para intentar resolver este reto. El siguiente:

from random import randint
from time import time

def inv(n1, n):
    """
    Calculo del inverso multiplicativo de un numero (n1) modulo n
    """
    global a, u0
    a = n1
    b = n
    u0 = 1
    u1 = 0
    v0 = 0
    v1 = 1
    while b != 0:
q = a//b
r = a-b*q
u = u0-q*u1
v = v0-q*v1
a = b
b = r
u0 = u1
u1 = …