110 likes | 291 Views
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. A1 – Inyección El atacante envía texto que se aprovecha de la sintaxis del interprete de destino
E N D
Los Diez Riesgos Más Importantes en Aplicaciones WEB Top 10-2010 A1-Inyección Oscar William Monsalve Luis Alberto Suarez Jorge EliecerBetancur Diana Marcela Usuga G.
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.
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.
Como evitar ASIGNACION DE MÍNIMOS PRIVILEGIOS. VALIDAR TODAS LAS ENTRADAS EMPLEO DE PROCEDIMIENTOS ALMACENADOS UTILIZAR COMILLAS DOBLES EN LUGAR DE SIMPLES
Pruebas Las pruebas de inyección se enfocaron en: Ataques a ciegas Una comilla’ Una condición verdadera
Una condición verdadera ' or 1=1 limit 1,1 -- a Se ingresa en ambos campos la misma sentencia
Da la posibilidad de acceder a todos los perfiles como proveedor
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
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
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 (*) Id User Paswoord 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
Fin de la presentación GRACIAS !!