martes, 28 de mayo de 2019

Wechall-transposition1

Seguimos con los retos, esta vez desde la pagina wechall, nos encontramos en la categoría de criptografia, con el siguiente reto llamado transposition; 


bueno vamos al reto; 

oWdnreuf.LY -> Wonderful, descubrimos que el cifrado esta desordenado en dos espacios, bueno para hacerlo mas cómodo, vi una pagina que nos ordenaba esta gran oración; 





y walaaaaaaaaaaa; 

domingo, 26 de mayo de 2019

Select Statement Sql Injection-Parte 5

Seguimos con la Parte 5 de Sql Injection; esta vez con la instruccion SELECT; 

Considere la siguiente consulta: 

Cuando el testeador intenta un valor valido ( por ejemplo 10 en este caso), la aplicacion devuelve la descripcion de un producto. Una buena manera de testear si la aplicacion es vulnerable en este escenario es jugar con la logica, usando los operadores AND y OR.

En este caso, es probable que la aplicacion devuelva algun mensaje diciendonos que no hay contenido disponible o una pagina en blanco.

Entonces el testeador puede enviar una declaracion verdadera y comprobar si hay un resultado valido:

CONSULTAS APILADAS: 

Dependiendo de la API que utilice la aplicacion web y del DBMS, por ejemplo, PHP + PostgreSQL, ASP+ SQL SERVER, puede ser posible ejecutar multiples consultas en una sola llamada.

Considere la siguiente consulta: 
Una manera de explotar lo  anterior seria: 
De esta manera es posible ejecutar muchas consultas en una fila e independientemente de la primera consulta.


PD: La Parte 6, se llamara , Fingerprinting the Database

jueves, 23 de mayo de 2019

CRLF-Rootme

Seguimos con los retos de la pagina rootme, de la categoria web server, este reto es llamado CRLF Injection;

"El termino CRLF se refiere al retorno de carro (ascii 13, \r) salto de linea (ascii 10,\n).

Sin embargo, se usan para notar la terminacion de una linea, que se trata de una manera diferente en los  sistemas operativos populares de hoy en dia. 

Por ejemplo: En windows se requiere tanto un CR como un LF para anotar el final de una linea, mientras que en Linux/Unix solo se requiere un LF.

En el protocolo HTTP, la secuencia CR-LF siempre se utiliza para terminar una linea.

Un ataque de inyeccion CRLF ocurre cuando un usuario logra enviar un CRLF a una aplicacion.

Esto se hace mas comunmente modificando un parametro HTTP o URL.

esta vulnerabilidad ocurre cuando un atacante es capaz de inyectar datos en una peticion a un servidor.

Esto puede ser un problema menor o un fallo de seguridad bastante grave."

La imagen que nos dan es la siguiente;



La pista que nos dan es inyectar un dato falso en el log y vemos abajo que esta autenticado el admin; osea que vamos a usar admin como username para poder inyectar un dato falso y asi autenticar con otro username, usaremos burp suite para testear;




Tras varias pruebas con burp suite di con el clavo;




y walaaaa;

miércoles, 22 de mayo de 2019

Standard SQL Injection Testing-Parte 4

Ejemplo 1 ( SQL Injection clásico)

Considere la siguiente consulta de SQL:


Generalmente se utiliza una consulta similar desde la aplicación web para autenticar a un usuario. si la consulta devuelve un valor, significa que dentro de la base de datos existe un usuario con ese conjunto de credenciales, entonces se le permite al usuario iniciar sesión en el sistema, de lo contrario se le niega el acceso.

Supongamos que insertamos los siguientes valores de nombre de usuario y contraseña;


La consulta en sql seria la siguiente; 


Si suponemos que los valores de los parámetros son enviados al servidor a través del método GET, y si el dominio del sitio web vulnerable es www.example.com, la petición que llevaremos a cabo sera;


Observamos que la consulta devuelve un valor ( o un conjunto de valores) por que la condición es siempre verdadera ( OR 1=1).

De esta manera el sistema ha autenticado al usuario sin conocer el nombre de usuario y contraseña; En algunos sistemas la primera fila de una tabla de usuario seria un usuario administrador.

Este puede ser el perfil devuelto en algunos casos. Otro ejemplo de consulta es el siguiente;

Hay dos problemas, uno debido al uso de los paréntesis y otro debido al uso de la función hash MD5, primero resolveremos el problema de los paréntesis, eso simplemente consiste en añadir un numero de paréntesis de cierre hasta que obtengamos una consulta corregida. Para resolver el segundo problema tratamos de eludir la segunda condición.

Añadimos a nuestra consulta un símbolo final que significa que esta comenzando un comentario, de esta manera, todo lo que sigue a tal símbolo se considera un comentario.

Cada DBMS tiene su propia sintaxis para comentarios , sin embargo, un símbolo común de las bases de datos es /*. En oracle el símbolo es el --, dicho esto, los valores que usaremos como nombre de usuario y contraseña son;


La consulta SQL quedaría de la siguiente manera;


La solicitud de URL sera: 


esto puede devolver una serie de valores, a veces, el código de autenticacion verifica que el numero de registros/resultados devueltos es exactamente igual a 1.

En los ejemplos anteriores, esta situación seria difícil ( en la base de datos solo hay un valor por usuario). Para evitar este problema, basta con insertar un comando SQL que imponga la condición de que el numero de resultados devueltos sea uno.

Para alcanzar este objetivo, utilizamos el operador "LIMIT <num>", donde <num> es el numero de resultados / registros que queremos que se devuelvan. Con respecto al ejemplo anterior, el valor de los campos quedaría así; 

La solicitud en URL sera; 


PD: Parte 5, Select Statement, continuara..

martes, 21 de mayo de 2019

Install Files- Rootme

Resolviendo un nuevo reto de la pagina rootme, en la categoria web server, nos encontramos un con reto llamado "install files"; 



Donde la pista, nos dice conoces phpBB, bueno al ver primero la pagina no nos muestra nada, pero al apretar ctrl +u nos sale algo como esto; 


Al ver nos decidimos por visitar esa direccion en los comentarios; 



Creo que seguir diciendo como resolver este reto, ya esta casi listo solo falta poner el click en install y walaaa reto pasado; 





sábado, 18 de mayo de 2019

HTTP_Improver_redirect-Rootme

Seguimos con los retos de la pagina de rootme, esta vez en la categoría de web server, llamado HTTP_improver_redirect, se nos viene a la cabeza enseguida que tiene que ver con re direcciones, usaremos burp-suite para este reto; veamos las imágenes primero;



bueno al hacer clic en la pagina para empezar el reto nos sale una ventana de autenticacion de un login y password; añadiendo la herramienta burp-suite, pasamos a actualizar y analizar la pagina veamos que nos sale; 


Aquí el burp-suite nos da una pista y nos muestra la flag inmediatamente, pero hay que hacer un paso mas, redireccionar una pagina que nos sale diferente a la que debería estar, con burp-suite nos facilita la operación que sea mas sencilla; deberíamos buscar la etiqueta location y cambiar por esa pagina que nos sale en la pista;




así podremos validar nuestro reto, por este camino y walaaaa;







miércoles, 15 de mayo de 2019

Wechall-Training Baconian

Durante la noche de ayer, me dedique a este reto training-baconian de wechall, buscando en wiki di con el clavo, wiki_Bacon, mas o menos dice lo siguiente, "cipher bacon or cipher baconian es un método de esteganografia ideado por Francis Bacon en 1605".

El desafió era el siguiente: 


tenemos un texto con mayúsculas y minúsculas, el cifrado Bacon trabaja con el grupo letra 'A' y 'B', y su longitud no mas llega a 5, osea como ejemplo puedes ver cinco A, AAAAA; Como también, hay dos versiones del cifrado Bacon, unas imágenes valen mas que unas palabras; 


Abajo cifrado Bacon con letras compartidas como I,-J y U-V


Abajo cifrado Bacon versión en que cada letra tiene su significado
Encontrando unos códigos en python se me hizo mas fácil pasar este reto desde esta pagina; (https://www.geeksforgeeks.org/baconian-cipher/) y reutilice un trozo del código; 



Bueno ahora, nada mas encontrar una pagina para descifrar el código baconiano, hay varias pero me quede con esta; 





Bueno tras esas lineas esta la respuesta, y en minúsculas, un saludo Baconianos; jajaaj.