SlideShare ist ein Scribd-Unternehmen logo
1 von 6
Downloaden Sie, um offline zu lesen
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Seguridad en la web
03 de mayo de 2015 Página 1 de 6
Práctica con WebGoat: HTTP Splitting, DoS, Mali-
cious Execution e Injection Flaws
Introducción
WebGoat el servidor tipo HoneyPot pero con fines educativos resulta bastante útil para realmente
entender cómo funcionan los ataques en la web. Para esta práctica, la cual inicialmente me había
centrado en la Lección “Injection Flaws”, se me complicaron un par de ejercicios, le que me obligo a
ver los videos en dos ocaciones, por esa razón opte por realizar algunas lecciones más. A continuación
detallo cada una de ellas.
1. HTTP Splitting
Para resolver esta “simple”
lección de la cual no conocía,
comencé a investigar qué eran
los caracteres %0d y %0a, y
pronto di que tienen relación
con las cabeceras HTTP (de
ahí su nombre), ya que cada lí-
nea o mensaje de la cabecera
HTTP se separa con /r/n, es
decir, es el delimitador para
indicar una nueva línea, de-
pendiendo la codifica-
ción/lenguaje a usar serán
como se tendrán que escribir
el retorno y salto de línea, que
para este caso es %0d y %0a respectivamente. Al hacer esto en una web, uno de los posibles ataques
que se pueden hacer es se forzá al navegador a entregar solo una parte del mensaje (split o separar),
con ello el servidor solo responderá con un mensaje 200, que significa que la petición del cliente fue
correcta. Así pues, para resolver éste ejercicio solo bastó con escribir %0d%0a%0d%0a<h1>hec-
tor</h1>.
Esta es solo es una prueba básica, pero las posibilidades van más allá, y es posible realizar diversos
tipos de ataques al sobrescribir las cabeceras. Con el ejercicio de la práctica aparentemente no hay
problema en ello, sin embargo si un atacante lo hace en una red donde hay un proxy y además sobres-
cribe la cabecera para cargar un script malicioso, lo que sucederá es que el proxy cacheará la página
para luego producir un ataque de “cache poising” el cual haría que el resto de los usuarios que solici-
tarán dicha página, el proxy al tenerla en caché la entregaría, con lo cual los usuarios cargarían un
script malicioso.
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Seguridad en la web
03 de mayo de 2015 Página 2 de 6
La siguiente fase de esta práctica
pide hacer el splitting, es decir, se-
parar con los caracteres /r/n para
escribir una nueva cabecera mani-
pulada, en este caso se resolvió
con %0d%0d%0a%0a
HTTP/1.1%20304%20Re-
ply%0d%0a que quitando los ca-
racteres codificados (/r, /n, espa-
cio) quedaría un HTTP/1.1 304
Reply.
2. Denial of Service (DoS)
Este ataque resultó bastante
sencillo, ya que simple-
mente hubo que inyectar
primero código SQL para
obtener la lista de usuarios,
posteriormente se hicieron
los inicios de sesión nece-
sarios para lograr el ataque
DoS. La primera instruc-
ción introducida fue ' or
'1'='1 y posteriormente se
emplearon los datos de los
usuarios legítimos para ini-
ciar múltiples sesiones.
3. Malicious File Execution
También fue una práctica muy fácil de resolver, ya que cualquier desarrollador web con un poco de
experiencia debe conocer este tipo de amenazas, en lo personal, cuando en proyectos hago carga de
archivos verifico el MIMEType con el fin de evitar la ejecución de código no deseado. Esta práctica
se resolvía tan solo creando un archivo que simulara un ejecutable (exe, php, asp, etc.).
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Seguridad en la web
03 de mayo de 2015 Página 3 de 6
4. Injection Flaws
La principal de las amenazas del top ten de OSWAP son precisamente las inyecciones en sus diferen-
tes variantes, por lo que está Lección abarca varios ejercicios de los cuales algunos están restringidos
para la versión de desarrolladores de WebGoat, por lo que no fueron hechos. Adicionalmente también
fue requerida una herramienta para capturar y reenviar las peticiones HTTP, para lo cual se empleó
Tamper Data.
El primer ejercicio, bas-
tante simple, consistió
en reescribir y reenviar
las cabeceras HTTP,
para introducir la inyec-
ción SQL, ello debido a
que la página no contaba
con una caja de texto,
sino con un option select
desde el cual no se puede
escribir.
El segundo ejercicio consistía en loguearse como administrador, sin embargo al intentar varias formas
de inyección SQL pero al no lograrlo opte por pedir pistas (hits) y rápidamente entendí que debía
crear nuevas líneas, por lo que la solución era usar %0d y %0a. La solución fue ingresar ad-
min%0d%0a.
El siguiente ejercicio también me costó varias pruebas, y requerí de las pistas para ayudarme a resol-
verlo pues nunca había hecho inyección para XPath, de hecho no sabía que eso se podía, después de
investigar en internet un poco di con la solución que era ' or 1=1 or '1'='1.
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Seguridad en la web
03 de mayo de 2015 Página 4 de 6
El siguiente ejercicio fue una sencilla inyec-
ción de SQL, cuya respuesta era smit' or
'1'='1.
Sin embargo, el siguiente ejercicio, aunque era
bastante simple también, comencé a desespe-
rarme porque no quedaba, hasta que me di
cuenta que el campo de password tenía un
maxlength que limitaba los caracteres, por lo
que la solución fue simple, reescribiendo y re-
enviando las cabeceras HTTP usando como
password smit' or '1'='1.
La fase 2 de este ejercicio no se pudo
realizar debido a su restricción para
desarrolladores.
El siguiente ejercicio fue el que no pude resolver, por lo que tuve que recurrir a ver la respuesta, y lo
que sucedia es que no era difícil, sino que el primer paso era iniciar sesión con un usuario normal y
posteriormente ejecutar la inyección para ver la información del administrador, mientras que todos
mis intentos se inyección los hice para intentar iniciar sesión. Analizandolo después, pensé, ¡tiene
lógica! este formulario es para iniciar sesión, no para mostrar datos consultados.
Así pues, una vez que se iniciaba sesión bastaba con ordenar los cantidades de salarios, ya que solo
se muestra un resultado, entoces el que mostrará será el más alto, es decir el del jefe.
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Seguridad en la web
03 de mayo de 2015 Página 5 de 6
La fase 4 también estaba restringida a desarrolladores por lo que no se resolvió
Finalmente las siguientes in-
yecciones resultaron relati-
vamente fáciles, pues impli-
caban ejecutar dos senten-
cias SQL, tanto para modifi-
car datos como para insertar,
por ejemplo el siguiente im-
plicó hacer un simple update
para cambiar el salario de
jsmith, lo cual implicaba se-
parar la nueva sentencia
usando punto y coma.
jsmith'; update salaries set salary=5 where userid='jsmith
Posteriormente se necesitó inserter un
nuevo registro, y de igual manera debía
separarse la nueva instrucción con punto
y coma, sin embargo el primer intento
dio error porque estaban mal cerradas las
comillas, por lo que se añadieron al final
dos guiones, los cuales indican que se fi-
nalice la sentencia. La instrucción em-
pleada fue jsmith'; insert into salaries
values('hector',999999)--
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Seguridad en la web
03 de mayo de 2015 Página 6 de 6
Los dos ultimos ejercicios re-
sultaron también fáciles, sin
embargo el último en el cual
se empleaba un lanzador, me
resultó algo confuso, pensé
que no debía usar triggers,
pero después de un par de fa-
llos intente con el trigger, y
ello fue correcto, y la adver-
tencia que se mostraba era
solo para indicar que
WebGoat no usa triggers en su
SGBD.
Así pues las sentencias y resultados para cada caso son los siguientes
101';update employee set salary=999999 where userid=101
101’;CREATE TRIGGER
myBackDoor BEFORE IN-
SERT ON employee FOR
EACH ROW BEGIN UPDATE
employee SET email =
'john@hackme.com' WHERE
userid = NEW.userid

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Cyber security
Cyber securityCyber security
Cyber security
 
Owasp top 10 - 2013 final - español
Owasp top 10 - 2013 final - españolOwasp top 10 - 2013 final - español
Owasp top 10 - 2013 final - español
 
Role based access control
Role based access controlRole based access control
Role based access control
 
Sql injection
Sql injectionSql injection
Sql injection
 
Mod security
Mod securityMod security
Mod security
 
Cross Site Scripting
Cross Site ScriptingCross Site Scripting
Cross Site Scripting
 
Cloud Computing Risk Management (IIA Webinar)
Cloud Computing Risk Management (IIA Webinar)Cloud Computing Risk Management (IIA Webinar)
Cloud Computing Risk Management (IIA Webinar)
 
Basics of Cyber Security
Basics of Cyber SecurityBasics of Cyber Security
Basics of Cyber Security
 
Secure coding practices
Secure coding practicesSecure coding practices
Secure coding practices
 
Software security
Software securitySoftware security
Software security
 
Sql injection
Sql injectionSql injection
Sql injection
 
CSRF Basics
CSRF BasicsCSRF Basics
CSRF Basics
 
Cyber Terrorism
Cyber TerrorismCyber Terrorism
Cyber Terrorism
 
Different types of virtualisation
Different types of virtualisationDifferent types of virtualisation
Different types of virtualisation
 
Web Application Security Vulnerability Management Framework
Web Application Security Vulnerability Management FrameworkWeb Application Security Vulnerability Management Framework
Web Application Security Vulnerability Management Framework
 
Virtualization in cloud
Virtualization in cloudVirtualization in cloud
Virtualization in cloud
 
Security testing
Security testingSecurity testing
Security testing
 
Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS)Cross-Site Scripting (XSS)
Cross-Site Scripting (XSS)
 
Multi tenant architecture
Multi tenant architectureMulti tenant architecture
Multi tenant architecture
 
Secure Coding for Java
Secure Coding for JavaSecure Coding for Java
Secure Coding for Java
 

Andere mochten auch

Práctica en Joomla de reproductor de streaming de video y audio
Práctica en Joomla de reproductor de streaming de video y audioPráctica en Joomla de reproductor de streaming de video y audio
Práctica en Joomla de reproductor de streaming de video y audioHéctor Garduño Real
 
Práctica de instalación y uso de Alfresco
Práctica de instalación y uso de AlfrescoPráctica de instalación y uso de Alfresco
Práctica de instalación y uso de AlfrescoHéctor Garduño Real
 
Informe de lectura del libro GuíaWeb 2.0, guía para el desarrollo de sitios web
Informe de lectura del libro GuíaWeb 2.0, guía para el desarrollo de sitios webInforme de lectura del libro GuíaWeb 2.0, guía para el desarrollo de sitios web
Informe de lectura del libro GuíaWeb 2.0, guía para el desarrollo de sitios webHéctor Garduño Real
 
Web 2.0 y Herramientas de Ofimática
Web 2.0 y Herramientas de OfimáticaWeb 2.0 y Herramientas de Ofimática
Web 2.0 y Herramientas de Ofimática8931
 
Los navegadores web, historia, uso y estándares
Los navegadores web, historia, uso y estándaresLos navegadores web, historia, uso y estándares
Los navegadores web, historia, uso y estándaresHéctor Garduño Real
 
Energizing People’s Work: Transforming Organizations through Gamification
Energizing People’s Work: Transforming Organizations through GamificationEnergizing People’s Work: Transforming Organizations through Gamification
Energizing People’s Work: Transforming Organizations through GamificationHannes Schantl
 
Fax Presidente FPF - Ferando Gomes
Fax Presidente FPF - Ferando GomesFax Presidente FPF - Ferando Gomes
Fax Presidente FPF - Ferando GomesNuno Vieira
 
Proyecto final
Proyecto finalProyecto final
Proyecto finalaloglz
 
Programa de actividades XXII CONGRESO DE LIBREROS MEXICANOS, Mérida, Yucatán
Programa de actividades XXII CONGRESO DE LIBREROS MEXICANOS, Mérida, Yucatán Programa de actividades XXII CONGRESO DE LIBREROS MEXICANOS, Mérida, Yucatán
Programa de actividades XXII CONGRESO DE LIBREROS MEXICANOS, Mérida, Yucatán Congreso de Libreros Mexicanos
 
Planta ucisa
Planta ucisaPlanta ucisa
Planta ucisaragurtol
 
One of the first department stores of MANGO brand is going to open in SEC – P...
One of the first department stores of MANGO brand is going to open in SEC – P...One of the first department stores of MANGO brand is going to open in SEC – P...
One of the first department stores of MANGO brand is going to open in SEC – P...Property Xpress
 
Club Atletico Boca juniors
Club Atletico Boca juniorsClub Atletico Boca juniors
Club Atletico Boca juniorsFederico Romero
 
Auditoria de personal a la empresa yohay
Auditoria de personal a la empresa yohayAuditoria de personal a la empresa yohay
Auditoria de personal a la empresa yohayEly Santiago Mendoza
 
Basic gym set up offer by xtr
Basic gym set up offer by xtrBasic gym set up offer by xtr
Basic gym set up offer by xtrGeorge Goutz
 
Inspirato - Why Sales & Marketing Alignment Isn't Just a Luxury
Inspirato - Why Sales & Marketing Alignment Isn't Just a LuxuryInspirato - Why Sales & Marketing Alignment Isn't Just a Luxury
Inspirato - Why Sales & Marketing Alignment Isn't Just a LuxuryFull Circle Insights
 
Grupo GCG - Nmano
Grupo GCG - NmanoGrupo GCG - Nmano
Grupo GCG - NmanoNMANO
 

Andere mochten auch (20)

Práctica en Joomla de reproductor de streaming de video y audio
Práctica en Joomla de reproductor de streaming de video y audioPráctica en Joomla de reproductor de streaming de video y audio
Práctica en Joomla de reproductor de streaming de video y audio
 
Más alla de la web 2.0
Más alla de la web 2.0Más alla de la web 2.0
Más alla de la web 2.0
 
Práctica de instalación y uso de Alfresco
Práctica de instalación y uso de AlfrescoPráctica de instalación y uso de Alfresco
Práctica de instalación y uso de Alfresco
 
Informe de lectura del libro GuíaWeb 2.0, guía para el desarrollo de sitios web
Informe de lectura del libro GuíaWeb 2.0, guía para el desarrollo de sitios webInforme de lectura del libro GuíaWeb 2.0, guía para el desarrollo de sitios web
Informe de lectura del libro GuíaWeb 2.0, guía para el desarrollo de sitios web
 
Web 2.0 y Herramientas de Ofimática
Web 2.0 y Herramientas de OfimáticaWeb 2.0 y Herramientas de Ofimática
Web 2.0 y Herramientas de Ofimática
 
Los navegadores web, historia, uso y estándares
Los navegadores web, historia, uso y estándaresLos navegadores web, historia, uso y estándares
Los navegadores web, historia, uso y estándares
 
Ofimatica web 2.0
Ofimatica web 2.0Ofimatica web 2.0
Ofimatica web 2.0
 
Energizing People’s Work: Transforming Organizations through Gamification
Energizing People’s Work: Transforming Organizations through GamificationEnergizing People’s Work: Transforming Organizations through Gamification
Energizing People’s Work: Transforming Organizations through Gamification
 
Fax Presidente FPF - Ferando Gomes
Fax Presidente FPF - Ferando GomesFax Presidente FPF - Ferando Gomes
Fax Presidente FPF - Ferando Gomes
 
Proyecto final
Proyecto finalProyecto final
Proyecto final
 
Programa de actividades XXII CONGRESO DE LIBREROS MEXICANOS, Mérida, Yucatán
Programa de actividades XXII CONGRESO DE LIBREROS MEXICANOS, Mérida, Yucatán Programa de actividades XXII CONGRESO DE LIBREROS MEXICANOS, Mérida, Yucatán
Programa de actividades XXII CONGRESO DE LIBREROS MEXICANOS, Mérida, Yucatán
 
Borga slideshare
Borga slideshareBorga slideshare
Borga slideshare
 
Planta ucisa
Planta ucisaPlanta ucisa
Planta ucisa
 
One of the first department stores of MANGO brand is going to open in SEC – P...
One of the first department stores of MANGO brand is going to open in SEC – P...One of the first department stores of MANGO brand is going to open in SEC – P...
One of the first department stores of MANGO brand is going to open in SEC – P...
 
Club Atletico Boca juniors
Club Atletico Boca juniorsClub Atletico Boca juniors
Club Atletico Boca juniors
 
Auditoria de personal a la empresa yohay
Auditoria de personal a la empresa yohayAuditoria de personal a la empresa yohay
Auditoria de personal a la empresa yohay
 
Basic gym set up offer by xtr
Basic gym set up offer by xtrBasic gym set up offer by xtr
Basic gym set up offer by xtr
 
Chapter 4
Chapter 4Chapter 4
Chapter 4
 
Inspirato - Why Sales & Marketing Alignment Isn't Just a Luxury
Inspirato - Why Sales & Marketing Alignment Isn't Just a LuxuryInspirato - Why Sales & Marketing Alignment Isn't Just a Luxury
Inspirato - Why Sales & Marketing Alignment Isn't Just a Luxury
 
Grupo GCG - Nmano
Grupo GCG - NmanoGrupo GCG - Nmano
Grupo GCG - Nmano
 

Ähnlich wie Práctica con WebGoat: HTTP Splitting, DoS, Ma-licious Execution e Injection Flaws

Curso basicoseguridadweb slideshare7
Curso basicoseguridadweb slideshare7Curso basicoseguridadweb slideshare7
Curso basicoseguridadweb slideshare7tantascosasquenose
 
Websecurify an dwebgoat terminado
Websecurify an dwebgoat terminadoWebsecurify an dwebgoat terminado
Websecurify an dwebgoat terminadoAraceli Rodriguez
 
Saturacion base de datos - Ejemplos Parte 1
Saturacion base de datos  - Ejemplos Parte 1Saturacion base de datos  - Ejemplos Parte 1
Saturacion base de datos - Ejemplos Parte 1GrupoTresPacEspe
 
Presentación 3
Presentación 3Presentación 3
Presentación 3Sandgotty
 
Seguridad Base de Datos sql injection v1.0
Seguridad Base de Datos sql injection v1.0Seguridad Base de Datos sql injection v1.0
Seguridad Base de Datos sql injection v1.0José Moreno
 
Actividad No. 1.11: SQL Injection con sqlmap en Kali Linux
Actividad No. 1.11: SQL Injection con sqlmap en Kali LinuxActividad No. 1.11: SQL Injection con sqlmap en Kali Linux
Actividad No. 1.11: SQL Injection con sqlmap en Kali LinuxFrancisco Medina
 
Práctica 1 instalacion del servidor web
Práctica 1   instalacion del servidor webPráctica 1   instalacion del servidor web
Práctica 1 instalacion del servidor webJuan Anaya
 
Inyecciones SQL para Aprendices
Inyecciones SQL para AprendicesInyecciones SQL para Aprendices
Inyecciones SQL para AprendicesTensor
 
Apache Tomcat 8: integración con Apache Server (con mod_jk)
Apache Tomcat 8: integración con Apache Server (con mod_jk)Apache Tomcat 8: integración con Apache Server (con mod_jk)
Apache Tomcat 8: integración con Apache Server (con mod_jk)pablozacrosuarez
 
3.4.2
3.4.23.4.2
3.4.2UNAD
 

Ähnlich wie Práctica con WebGoat: HTTP Splitting, DoS, Ma-licious Execution e Injection Flaws (20)

12integracion de tomcat con apache
12integracion de tomcat con apache12integracion de tomcat con apache
12integracion de tomcat con apache
 
Curso basicoseguridadweb slideshare7
Curso basicoseguridadweb slideshare7Curso basicoseguridadweb slideshare7
Curso basicoseguridadweb slideshare7
 
expo
expoexpo
expo
 
Websecurify an dwebgoat terminado
Websecurify an dwebgoat terminadoWebsecurify an dwebgoat terminado
Websecurify an dwebgoat terminado
 
Creando endpoint http
Creando endpoint httpCreando endpoint http
Creando endpoint http
 
Asp
AspAsp
Asp
 
Saturacion base de datos - Ejemplos Parte 1
Saturacion base de datos  - Ejemplos Parte 1Saturacion base de datos  - Ejemplos Parte 1
Saturacion base de datos - Ejemplos Parte 1
 
Presentación 3
Presentación 3Presentación 3
Presentación 3
 
Seguridad Base de Datos sql injection v1.0
Seguridad Base de Datos sql injection v1.0Seguridad Base de Datos sql injection v1.0
Seguridad Base de Datos sql injection v1.0
 
Actividad No. 1.11: SQL Injection con sqlmap en Kali Linux
Actividad No. 1.11: SQL Injection con sqlmap en Kali LinuxActividad No. 1.11: SQL Injection con sqlmap en Kali Linux
Actividad No. 1.11: SQL Injection con sqlmap en Kali Linux
 
Práctica 1 instalacion del servidor web
Práctica 1   instalacion del servidor webPráctica 1   instalacion del servidor web
Práctica 1 instalacion del servidor web
 
Inyecciones SQL para Aprendices
Inyecciones SQL para AprendicesInyecciones SQL para Aprendices
Inyecciones SQL para Aprendices
 
Mvc
MvcMvc
Mvc
 
AJAX EN CURSO PHP
AJAX EN CURSO PHPAJAX EN CURSO PHP
AJAX EN CURSO PHP
 
Link guias java y sqlite
Link guias java y sqliteLink guias java y sqlite
Link guias java y sqlite
 
Dar lab1819
Dar lab1819Dar lab1819
Dar lab1819
 
Tarea de exchange2010
Tarea de exchange2010Tarea de exchange2010
Tarea de exchange2010
 
Xss con javascript
Xss con javascriptXss con javascript
Xss con javascript
 
Apache Tomcat 8: integración con Apache Server (con mod_jk)
Apache Tomcat 8: integración con Apache Server (con mod_jk)Apache Tomcat 8: integración con Apache Server (con mod_jk)
Apache Tomcat 8: integración con Apache Server (con mod_jk)
 
3.4.2
3.4.23.4.2
3.4.2
 

Mehr von Héctor Garduño Real

Sistema para la Evaluación del Aprendizaje en entornos B-Learning
Sistema para la Evaluación del Aprendizaje en entornos B-LearningSistema para la Evaluación del Aprendizaje en entornos B-Learning
Sistema para la Evaluación del Aprendizaje en entornos B-LearningHéctor Garduño Real
 
Tesis - Fábrica de software Estado de México 2009
Tesis - Fábrica de software Estado de México 2009Tesis - Fábrica de software Estado de México 2009
Tesis - Fábrica de software Estado de México 2009Héctor Garduño Real
 
Asignatura: Interconectividad de Redes
Asignatura: Interconectividad de Redes Asignatura: Interconectividad de Redes
Asignatura: Interconectividad de Redes Héctor Garduño Real
 
Asignatura: Fundamentos de Redes de Computadoras
Asignatura: Fundamentos de Redes de ComputadorasAsignatura: Fundamentos de Redes de Computadoras
Asignatura: Fundamentos de Redes de ComputadorasHéctor Garduño Real
 
Asignatura: Introducción a las ciencias de la computación
Asignatura: Introducción a las ciencias de la computaciónAsignatura: Introducción a las ciencias de la computación
Asignatura: Introducción a las ciencias de la computaciónHéctor Garduño Real
 
Principales CMS y Estadísticas de uso
Principales CMS y Estadísticas de usoPrincipales CMS y Estadísticas de uso
Principales CMS y Estadísticas de usoHéctor Garduño Real
 
Práctica de instalación y uso de Joomla
Práctica de instalación y uso de JoomlaPráctica de instalación y uso de Joomla
Práctica de instalación y uso de JoomlaHéctor Garduño Real
 
Práctica de Creación de Máquina Virtual con LAMP en Amazon Web Services
Práctica de Creación de Máquina Virtual con LAMP en Amazon Web ServicesPráctica de Creación de Máquina Virtual con LAMP en Amazon Web Services
Práctica de Creación de Máquina Virtual con LAMP en Amazon Web ServicesHéctor Garduño Real
 
Metodologías de Desarrollo de Aplicaciones Web Seguras
Metodologías de Desarrollo de Aplicaciones Web SegurasMetodologías de Desarrollo de Aplicaciones Web Seguras
Metodologías de Desarrollo de Aplicaciones Web SegurasHéctor Garduño Real
 
Análisis de lecturas sobre el Internet de las Cosas
Análisis de lecturas sobre el Internet de las CosasAnálisis de lecturas sobre el Internet de las Cosas
Análisis de lecturas sobre el Internet de las CosasHéctor Garduño Real
 
Caso de éxito de IoT: Agricultura inteligente en Viñedos 2.0
Caso de éxito de IoT: Agricultura inteligente en Viñedos 2.0Caso de éxito de IoT: Agricultura inteligente en Viñedos 2.0
Caso de éxito de IoT: Agricultura inteligente en Viñedos 2.0Héctor Garduño Real
 
Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)
Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)
Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)Héctor Garduño Real
 
Informe de lectura de: Resumen del PMBOK v4 Dirección y Gestión de Proyectos
Informe de lectura de: Resumen del PMBOK v4 Dirección y Gestión de ProyectosInforme de lectura de: Resumen del PMBOK v4 Dirección y Gestión de Proyectos
Informe de lectura de: Resumen del PMBOK v4 Dirección y Gestión de ProyectosHéctor Garduño Real
 
Manual de creación y uso de Web Service SOAP
Manual de creación y uso de Web Service SOAPManual de creación y uso de Web Service SOAP
Manual de creación y uso de Web Service SOAPHéctor Garduño Real
 
PHP, casos de éxito y comparativas con otros lenguajes
PHP, casos de éxito y comparativas con otros lenguajesPHP, casos de éxito y comparativas con otros lenguajes
PHP, casos de éxito y comparativas con otros lenguajesHéctor Garduño Real
 
Informe de lectura: No me hagas pensar. Una aproximación a la usabilidad en l...
Informe de lectura: No me hagas pensar. Una aproximación a la usabilidad en l...Informe de lectura: No me hagas pensar. Una aproximación a la usabilidad en l...
Informe de lectura: No me hagas pensar. Una aproximación a la usabilidad en l...Héctor Garduño Real
 

Mehr von Héctor Garduño Real (20)

Sistema para la Evaluación del Aprendizaje en entornos B-Learning
Sistema para la Evaluación del Aprendizaje en entornos B-LearningSistema para la Evaluación del Aprendizaje en entornos B-Learning
Sistema para la Evaluación del Aprendizaje en entornos B-Learning
 
Tesis - Fábrica de software Estado de México 2009
Tesis - Fábrica de software Estado de México 2009Tesis - Fábrica de software Estado de México 2009
Tesis - Fábrica de software Estado de México 2009
 
Asignatura: Informática 1
Asignatura: Informática 1Asignatura: Informática 1
Asignatura: Informática 1
 
Asignatura: Interconectividad de Redes
Asignatura: Interconectividad de Redes Asignatura: Interconectividad de Redes
Asignatura: Interconectividad de Redes
 
Asignatura: Fundamentos de Redes de Computadoras
Asignatura: Fundamentos de Redes de ComputadorasAsignatura: Fundamentos de Redes de Computadoras
Asignatura: Fundamentos de Redes de Computadoras
 
Asignatura: Desarrollo Sustentable
Asignatura: Desarrollo SustentableAsignatura: Desarrollo Sustentable
Asignatura: Desarrollo Sustentable
 
Asignatura: Introducción a las ciencias de la computación
Asignatura: Introducción a las ciencias de la computaciónAsignatura: Introducción a las ciencias de la computación
Asignatura: Introducción a las ciencias de la computación
 
Principales CMS y Estadísticas de uso
Principales CMS y Estadísticas de usoPrincipales CMS y Estadísticas de uso
Principales CMS y Estadísticas de uso
 
Práctica de instalación y uso de Joomla
Práctica de instalación y uso de JoomlaPráctica de instalación y uso de Joomla
Práctica de instalación y uso de Joomla
 
Práctica de Creación de Máquina Virtual con LAMP en Amazon Web Services
Práctica de Creación de Máquina Virtual con LAMP en Amazon Web ServicesPráctica de Creación de Máquina Virtual con LAMP en Amazon Web Services
Práctica de Creación de Máquina Virtual con LAMP en Amazon Web Services
 
Metodologías de Desarrollo de Aplicaciones Web Seguras
Metodologías de Desarrollo de Aplicaciones Web SegurasMetodologías de Desarrollo de Aplicaciones Web Seguras
Metodologías de Desarrollo de Aplicaciones Web Seguras
 
Análisis de lecturas sobre el Internet de las Cosas
Análisis de lecturas sobre el Internet de las CosasAnálisis de lecturas sobre el Internet de las Cosas
Análisis de lecturas sobre el Internet de las Cosas
 
Caso de éxito de IoT: Agricultura inteligente en Viñedos 2.0
Caso de éxito de IoT: Agricultura inteligente en Viñedos 2.0Caso de éxito de IoT: Agricultura inteligente en Viñedos 2.0
Caso de éxito de IoT: Agricultura inteligente en Viñedos 2.0
 
Análisis del Whitepaper DB4O
Análisis del Whitepaper DB4OAnálisis del Whitepaper DB4O
Análisis del Whitepaper DB4O
 
Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)
Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)
Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)
 
Práctica de herramientas web 2.0
Práctica de herramientas web 2.0Práctica de herramientas web 2.0
Práctica de herramientas web 2.0
 
Informe de lectura de: Resumen del PMBOK v4 Dirección y Gestión de Proyectos
Informe de lectura de: Resumen del PMBOK v4 Dirección y Gestión de ProyectosInforme de lectura de: Resumen del PMBOK v4 Dirección y Gestión de Proyectos
Informe de lectura de: Resumen del PMBOK v4 Dirección y Gestión de Proyectos
 
Manual de creación y uso de Web Service SOAP
Manual de creación y uso de Web Service SOAPManual de creación y uso de Web Service SOAP
Manual de creación y uso de Web Service SOAP
 
PHP, casos de éxito y comparativas con otros lenguajes
PHP, casos de éxito y comparativas con otros lenguajesPHP, casos de éxito y comparativas con otros lenguajes
PHP, casos de éxito y comparativas con otros lenguajes
 
Informe de lectura: No me hagas pensar. Una aproximación a la usabilidad en l...
Informe de lectura: No me hagas pensar. Una aproximación a la usabilidad en l...Informe de lectura: No me hagas pensar. Una aproximación a la usabilidad en l...
Informe de lectura: No me hagas pensar. Una aproximación a la usabilidad en l...
 

Kürzlich hochgeladen

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 

Kürzlich hochgeladen (16)

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

Práctica con WebGoat: HTTP Splitting, DoS, Ma-licious Execution e Injection Flaws

  • 1. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Seguridad en la web 03 de mayo de 2015 Página 1 de 6 Práctica con WebGoat: HTTP Splitting, DoS, Mali- cious Execution e Injection Flaws Introducción WebGoat el servidor tipo HoneyPot pero con fines educativos resulta bastante útil para realmente entender cómo funcionan los ataques en la web. Para esta práctica, la cual inicialmente me había centrado en la Lección “Injection Flaws”, se me complicaron un par de ejercicios, le que me obligo a ver los videos en dos ocaciones, por esa razón opte por realizar algunas lecciones más. A continuación detallo cada una de ellas. 1. HTTP Splitting Para resolver esta “simple” lección de la cual no conocía, comencé a investigar qué eran los caracteres %0d y %0a, y pronto di que tienen relación con las cabeceras HTTP (de ahí su nombre), ya que cada lí- nea o mensaje de la cabecera HTTP se separa con /r/n, es decir, es el delimitador para indicar una nueva línea, de- pendiendo la codifica- ción/lenguaje a usar serán como se tendrán que escribir el retorno y salto de línea, que para este caso es %0d y %0a respectivamente. Al hacer esto en una web, uno de los posibles ataques que se pueden hacer es se forzá al navegador a entregar solo una parte del mensaje (split o separar), con ello el servidor solo responderá con un mensaje 200, que significa que la petición del cliente fue correcta. Así pues, para resolver éste ejercicio solo bastó con escribir %0d%0a%0d%0a<h1>hec- tor</h1>. Esta es solo es una prueba básica, pero las posibilidades van más allá, y es posible realizar diversos tipos de ataques al sobrescribir las cabeceras. Con el ejercicio de la práctica aparentemente no hay problema en ello, sin embargo si un atacante lo hace en una red donde hay un proxy y además sobres- cribe la cabecera para cargar un script malicioso, lo que sucederá es que el proxy cacheará la página para luego producir un ataque de “cache poising” el cual haría que el resto de los usuarios que solici- tarán dicha página, el proxy al tenerla en caché la entregaría, con lo cual los usuarios cargarían un script malicioso.
  • 2. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Seguridad en la web 03 de mayo de 2015 Página 2 de 6 La siguiente fase de esta práctica pide hacer el splitting, es decir, se- parar con los caracteres /r/n para escribir una nueva cabecera mani- pulada, en este caso se resolvió con %0d%0d%0a%0a HTTP/1.1%20304%20Re- ply%0d%0a que quitando los ca- racteres codificados (/r, /n, espa- cio) quedaría un HTTP/1.1 304 Reply. 2. Denial of Service (DoS) Este ataque resultó bastante sencillo, ya que simple- mente hubo que inyectar primero código SQL para obtener la lista de usuarios, posteriormente se hicieron los inicios de sesión nece- sarios para lograr el ataque DoS. La primera instruc- ción introducida fue ' or '1'='1 y posteriormente se emplearon los datos de los usuarios legítimos para ini- ciar múltiples sesiones. 3. Malicious File Execution También fue una práctica muy fácil de resolver, ya que cualquier desarrollador web con un poco de experiencia debe conocer este tipo de amenazas, en lo personal, cuando en proyectos hago carga de archivos verifico el MIMEType con el fin de evitar la ejecución de código no deseado. Esta práctica se resolvía tan solo creando un archivo que simulara un ejecutable (exe, php, asp, etc.).
  • 3. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Seguridad en la web 03 de mayo de 2015 Página 3 de 6 4. Injection Flaws La principal de las amenazas del top ten de OSWAP son precisamente las inyecciones en sus diferen- tes variantes, por lo que está Lección abarca varios ejercicios de los cuales algunos están restringidos para la versión de desarrolladores de WebGoat, por lo que no fueron hechos. Adicionalmente también fue requerida una herramienta para capturar y reenviar las peticiones HTTP, para lo cual se empleó Tamper Data. El primer ejercicio, bas- tante simple, consistió en reescribir y reenviar las cabeceras HTTP, para introducir la inyec- ción SQL, ello debido a que la página no contaba con una caja de texto, sino con un option select desde el cual no se puede escribir. El segundo ejercicio consistía en loguearse como administrador, sin embargo al intentar varias formas de inyección SQL pero al no lograrlo opte por pedir pistas (hits) y rápidamente entendí que debía crear nuevas líneas, por lo que la solución era usar %0d y %0a. La solución fue ingresar ad- min%0d%0a. El siguiente ejercicio también me costó varias pruebas, y requerí de las pistas para ayudarme a resol- verlo pues nunca había hecho inyección para XPath, de hecho no sabía que eso se podía, después de investigar en internet un poco di con la solución que era ' or 1=1 or '1'='1.
  • 4. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Seguridad en la web 03 de mayo de 2015 Página 4 de 6 El siguiente ejercicio fue una sencilla inyec- ción de SQL, cuya respuesta era smit' or '1'='1. Sin embargo, el siguiente ejercicio, aunque era bastante simple también, comencé a desespe- rarme porque no quedaba, hasta que me di cuenta que el campo de password tenía un maxlength que limitaba los caracteres, por lo que la solución fue simple, reescribiendo y re- enviando las cabeceras HTTP usando como password smit' or '1'='1. La fase 2 de este ejercicio no se pudo realizar debido a su restricción para desarrolladores. El siguiente ejercicio fue el que no pude resolver, por lo que tuve que recurrir a ver la respuesta, y lo que sucedia es que no era difícil, sino que el primer paso era iniciar sesión con un usuario normal y posteriormente ejecutar la inyección para ver la información del administrador, mientras que todos mis intentos se inyección los hice para intentar iniciar sesión. Analizandolo después, pensé, ¡tiene lógica! este formulario es para iniciar sesión, no para mostrar datos consultados. Así pues, una vez que se iniciaba sesión bastaba con ordenar los cantidades de salarios, ya que solo se muestra un resultado, entoces el que mostrará será el más alto, es decir el del jefe.
  • 5. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Seguridad en la web 03 de mayo de 2015 Página 5 de 6 La fase 4 también estaba restringida a desarrolladores por lo que no se resolvió Finalmente las siguientes in- yecciones resultaron relati- vamente fáciles, pues impli- caban ejecutar dos senten- cias SQL, tanto para modifi- car datos como para insertar, por ejemplo el siguiente im- plicó hacer un simple update para cambiar el salario de jsmith, lo cual implicaba se- parar la nueva sentencia usando punto y coma. jsmith'; update salaries set salary=5 where userid='jsmith Posteriormente se necesitó inserter un nuevo registro, y de igual manera debía separarse la nueva instrucción con punto y coma, sin embargo el primer intento dio error porque estaban mal cerradas las comillas, por lo que se añadieron al final dos guiones, los cuales indican que se fi- nalice la sentencia. La instrucción em- pleada fue jsmith'; insert into salaries values('hector',999999)--
  • 6. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Seguridad en la web 03 de mayo de 2015 Página 6 de 6 Los dos ultimos ejercicios re- sultaron también fáciles, sin embargo el último en el cual se empleaba un lanzador, me resultó algo confuso, pensé que no debía usar triggers, pero después de un par de fa- llos intente con el trigger, y ello fue correcto, y la adver- tencia que se mostraba era solo para indicar que WebGoat no usa triggers en su SGBD. Así pues las sentencias y resultados para cada caso son los siguientes 101';update employee set salary=999999 where userid=101 101’;CREATE TRIGGER myBackDoor BEFORE IN- SERT ON employee FOR EACH ROW BEGIN UPDATE employee SET email = 'john@hackme.com' WHERE userid = NEW.userid