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.










domingo, 12 de mayo de 2019

Detection Techniques SQL INJECTION-Parte 3

El primer paso  es entender cuando la aplicación interactua con un servidor de base de datos para acceder a los datos.

Algunos ejemplos cuando una aplicación necesita hablar con una base de datos: 

Authentication forms( formularios de autenticacion): 

Esto es cuando la autenticacion se realiza a traves de un formulario web, es muy probable que las credenciales de usuario se comparen con una base de datos que contiene todos los nombres de usuario y contraseñas ( o, hashes de contraseñas).

Search engine ( motores de busqueda):

La cadena enviada por el usuario puede ser utilizada en una consulta SQL que extrae todos los registros relevantes de una base de datos.

E-commerce sites(sitios de comercio electronico):

Es muy probable que los productos y sus características ( precio,
descripción, disponibilidad,etc.) se almacenen en una base de datos.

el testeador tiene que hacer una lista de todos los campos de entrada cuyos valores puedan ser utilizados en la creación de una consulta SQL, incluyendo campos ocultos de las peticiones POST y luego probarlos por separado, tratando de interferir con la consulta y generar un error.

considere también las cabeceras HTTP y las COOKIES.

La primera prueba suele consistir en añadir una sola cita (') o un punto y coma (;) al campo o parámetro que se esta probando.

El primero se utiliza en SQL como terminador de cadenas y, si no se filtra por la aplicación, daría lugar a una consulta incorrecta.

La segunda se utiliza para terminar una Sentencia SQL y, si no se filtra, también es probable que genere un error. La salida de un campo vulnerable puede parecerse a la siguiente ( en un Microsoft SQL Server, en este caso):



También se pueden utilizar delimitadores de comentarios (- or /**/,etc.) y otras palabras clave como SQL como AND y OR para intentar modificar la consulta.

una técnica muy simple pero a veces todavía efectiva es simplemente insertar una cadena donde se espera un numero, ya que se puede generar un error como el siguiente:



Supervise todas las respuestas desde el servidor web y eche un vistazo al código fuente HTML/Javascript. A veces el error presente en su interior, pero por alguna razon ( por ejemplo, un error de javascript, comentarios HTML,etc.) no se presenta al usuario.

Un mensaje de error completo, como los de los ejemplos, proporciona una gran cantidad de información al testeador con el fin de montar una ataque de inyección exitoso.

Sin embargo, las aplicaciones a menudo no proporcionan tantos detalles; un simple '500 Server Error' o una pagina de error personalizada puede ser emitida, lo que significa que necesitamos usar técnicas de inyección ciega.

En cualquier caso, es muy importante probar cada campo por separado; solo una variable debe variar mientras que todas las demás permanecen constantes, para poder entender con precisión que parámetros son vulnerables y cuales no.


PD: Parte 4 se llamara "Standard SQL Injection Testing"

viernes, 10 de mayo de 2019

Hackthis-Sql Injection 1

Siguiendo con los retos de la pagina Hackthis, nos encontramos con uno muy similar al del reto de wechall, tiene que ver con SQLI (sql injection) y un login bypass; 


como ya sabemos la técnica que se utiliza, es ir probando con las inyecciones login bypass;




hasta que nos diga que esta bypaseado y asi completamos el reto de SQLI 1 y walaaa!