Documente Academic
Documente Profesional
Documente Cultură
Apellidos:
Análisis de
06/03/2019
Vulnerabilidades
Nombre:
Actividades
Nota si bien el título indica DVWA, el cuerpo del texto indica WebGoat, éste último es
el que se deberá emplear.
Para esta actividad, se deberá utilizar la plataforma WebGoat y los ejercicios que deberá
completar son los siguientes:
Otro elemento que no se recomienda es ver los videos antes de intentar realizar la
actividad por ustedes mismos, ya que se convertiría en copia y pega de lo que hagan en
el video. Solo en caso último se sugeriría revisar los videos.
Una inyección SQL es una técnica utilizada para manipular servicios web enviando
consultas SQL a un sistema gestor de bases de datos relacional (RDBMS), para alterar,
insertar, o borrar datos en una base de datos.
Para el siguiente ejemplo se utilizará las versión 5.4 de WebGoat, WebGoat es una
aplicación web J2EE deliveradamente insegura, diseñada para enseñar lecciones de
seguridad en aplicaciones web.
Para este trabajo se bajó la versión de WebGoat de la siguiente dirección
https://github.com/WebGoat/WebGoat-Archived-Releases
Una vez que descomprimí el archivo procedí a la ejecución del archivo webgoat
Espere a que terminara la ejecución y después ejecute webgoat_8080
Una solución válida para obtener la contraseña del usuario "Admin" sería realizar un
ataque por fuerza bruta utilizando una gran cantidad de palabras como posibles
contraseñas. Pero esto consume tiempo, recursos y no necesariamente implica la
obtención de la contraseña correcta.
Otra técnica implica aprovecharse de inyecciones SQL, para acceder a la base de datos y
realizar diversas acciones.
SELECT * FROM Datos WHERE Nombre = 'Usuario' AND Password = '' OR 1=1—
Esto le indica a la Base de Datos a autenticarse válida como “Usuario” sin necesidad de
conocer su contraseña, esto a razón de ' OR 1=1-- fuerza a la base de datos a interpretar
la consulta como Verdadera. Los símbolos “-- ” con un espacio en blanco al final definen
como un comentario todo lo ubicado a su derecha.
Como es factible visualizar, se utiliza “Firebug” en mi caso como tengo una versión
reciente de Firefox use “Omnibug” para modificar la fuente HTML de la página y visualizar
el campo “Password”, y elimine el tamaño.
En este punto fui al código HTML y modifique el campo de Password colocando en Type =
Text y eliminando el tamaño del password.
En este punto regrese a la contraseña del usuario Admin y coloque la línea de texto que
anteriormente me había dado acceso.
Como podemos apreciar ya tenemos el acceso con la inyección que realizamos vía SQL.
El nombre de usuario utilizado es “Neville”, el cual tiene permisos de administrador,
razón por la cual es factible realizar operaciones de administración, como buscar
personal, visualizar perfiles o borrar sus perfiles.
Las Inyecciones SQL permiten poner en riesgo y ver las debilidades en los controles de
integridad, este fue uno de los trabajos que más problemas me dio para su desarrollo pero
es muy grato poder haberlos llevado acabo.
Saludos.