los diez riesgos más importantes en aplicaciones web top 10-2010 a1-inyección oscar william...
Post on 24-Jan-2016
225 Views
Preview:
TRANSCRIPT
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
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 ENTRADASEMPLEO DE PROCEDIMIENTOS ALMACENADOSUTILIZAR COMILLAS DOBLES EN LUGAR DE SIMPLES
Pruebas
Las pruebas de inyección se enfocaron en:
Ataques a ciegasUna 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 (*)
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
Fin de la presentación
GRACIAS !!
top related