reseña pruebas de validacion de entrada de datos
TRANSCRIPT
-
8/17/2019 Reseña Pruebas de Validacion de Entrada de Datos
1/6
RESEÑA PRUEBAS DE VALIDACION DE ENTRADA DE DATOS
EMMANUEL PEÑALOZA RODRÍGUEZ
CARLOS ALBERTO BALLESTAS MENDOZA.
RESEÑA
PRESENTADO A:
FABIO GARCÍA
FUNDACIÓN UNIVERSITÁRIA TECNOLÓGICO COMFENALCO
FACULTAD DE INGENIERÍA
SEMESTRE: 6
TEC. DESARROLLO DE SISTEMAS DE INFORMACIÓN- SECCION 1
ELECTIVA II
CARTAGENA 2016.
-
8/17/2019 Reseña Pruebas de Validacion de Entrada de Datos
2/6
PRUEBAS DE VALIDACION DE ENTRADA DE DATOS
XSS
XSS es la inyección de código JavaScript en aplicaciones web, páginas web y hasta en el
navegador web ya sea en código insertado (script, iframes) en HT!, aprovechando las
variables "#e se pasan entre páginas #sando #na $%! o robando las coo&ies'
taca principalmente las aplicaciones "#e procesan datos obtenidos de #na entrada sin
ningn tipo de che"#eo o validación'
Tipos de ataques
!as diversas variantes de esta v#lnerabilidad p#eden dividirse en dos grandes gr#pos* el
primero se conoce como XSS persistente o directo y el seg#ndo como XSS refle+ado o
indirecto'
irecto o persistente' -onsiste en invadir código HT! mediante la incl#sión de eti"#etas
.script/ y .frame/ en sitios "#e lo permiten'
!ocal' 0s #na de las variantes del XSS directo, #no de s#s ob+etivos consiste en e1plotar
las v#lnerabilidades del mismo código f#ente o página web' 0sas v#lnerabilidades son
res#ltado del #so indebido del 2 (odelo de 2b+etos del oc#mento, es #n con+#nto
estandari3ado de ob+etos para representar páginas web) con JavaScript, lo c#al permite
abrir otra página web con código malicioso JavaScript incr#stado, afectando el código de
la primera página en el sistema local' -#ando el XSS es local, ningn código malicioso es
enviado al servidor' 0l f#ncionamiento toma l#gar completamente en la má"#ina del
cliente, pero modifica la página proporcionada por el sitio web antes de "#e sea
interpretada por el navegador para "#e se comporte como si se reali3ara la cargamaliciosa en el cliente desde el servidor' 0sto significa "#e la protección del lado del
servidor "#e filtra el código malicioso no f#nciona en este tipo de v#lnerabilidad'
4ndirecto o refle+ado' 5#nciona modificando valores "#e la aplicación web pasa de #na
página a otra, sin emplear sesiones' S#cede c#ando se env6a #n mensa+e o r#ta en #na
$%!, #na coo&ie o en la cabecera HTT7 (p#diendo e1tenderse al 2 del navegador)'
-
8/17/2019 Reseña Pruebas de Validacion de Entrada de Datos
3/6
Inyección de código SQL
!a inyección S8! es la infiltración de código intr#so dentro del código S8! de las bases
de datos generalmente #sando las entradas de los form#larios'
0l ob+etivo es alterar el f#ncionamiento del programa y lograr "#e se e+ec#te el código
9invasor9 incr#stado'
0s #na t:cnica poderosa con la "#e se p#ede manip#lar direcciones $%! de c#al"#ier
forma, en entradas de bs"#edas, form#larios o registros de email, para inyectar el
código'
¿Cómo evitarlo?
!os ata"#es informáticos son m#y com#nes, por este motivo tenemos "#e prevenirnos al
má1imo de ellos "#e cada ve3 se están e1tendiendo más s# #so por la facilidad "#e tienede ponerlo en marcha c#al"#ier persona*
;' $sar captchas en los form#larios para validar las peticiones de los #s#arios
-aptcha es la abreviat#ra en ingles de ' -rear limitaciones y reglas en los form#larios
0n c#al"#ier form#lario es necesario #sar ciertas reglas para limitar las acciones de
ac#erdo a s# #so'
?' 4mpedir la entrada de código maligno escapando los caracteres
7ara evitar las inyecciones S8! y ata"#es XXS es necesario escapar todo lo "#e p#eda
ser introd#cido en c#al"#ier cons#lta, reempla3ando los caracteres especiales por s#
e"#ivalente te1t#al, de tal forma "#e se interprete todo el contenido de la variable como si
f#era te1to' Se conoce como
-
8/17/2019 Reseña Pruebas de Validacion de Entrada de Datos
4/6
@' 7roteger form#larios de XSS
!a dirección $%! en el atrib#to
-
8/17/2019 Reseña Pruebas de Validacion de Entrada de Datos
5/6
Inyección de código
-ode 4n+ection es el t:rmino general para el tipo de ata"#es "#e tratan de inyectar código
"#e es interpretadoCe+ec#tado por la aplicación' 0ste tipo de ata"#es e1plota el mane+o
pobre de información no confiable' 0ste tipo de ata"#es son habit#almente posibles por
no validar apropiadamente las entradas y salidas de datos, por e+emplo*
• -aracteres permitidos (e1presiones reg#lares, clases o personali3adas)
• 5ormato de los datos
• -antidad de datos esperada'
-ode 4n+ection difiere de -ommand 4n+ection en "#e #n atacante esta limitado por las
f#ncionalidades del leng#a+e inyectado' Si #n atacante es capa3 de inyectar código 7H7
en la aplicación y hacer "#e este sea e+ec#tado, :l solo estará limitado por lo "#e 7H7 es
capa3 de hacer' -ommand 4n+ection ( 4nyección de comandos) consiste en el
aprovechamiento de código e1istente para e+ec#tar comandos, normalmente sin el
conte1to de la SH0!!'
Inyección L!P
!7 son las siglas de !ightweight irectory ccess 7rotocol (en espaDol 7rotocolo
!igero de cceso a irectorios) "#e hacen referencia a #n protocolo a nivel de aplicación
el c#al permite el acceso a #n servicio de directorio ordenado y distrib#ido para b#scar
diversa información en #n entorno de red' !7 tambi:n es considerado #na base de
datos (a#n"#e s# sistema de almacenamiento p#ede ser diferente) a la "#e p#eden
reali3arse cons#ltas'
$n directorio es #n con+#nto de ob+etos con atrib#tos organi3ados en #na manera lógica y
+erár"#ica' 0l e+emplo más comn es el directorio telefónico, "#e consiste en #na serie de
nombres (personas # organi3aciones) "#e están ordenados alfab:ticamente, con cada
nombre teniendo #na dirección y #n nmero de tel:fono ad+#ntos'
0n res#midas c#entas podemos decir "#e se trata de #n protocolo "#e permite acceder
a #n servicio de directorios donde se almacena la información, para ser #sada
posteriormente, dentro de la red de #na corporación' 7odemos imaginar "#e es como #na
llave a las páginas amarillas* dependiendo de cómo est: constit#ido el árbol !7
podr6amos encontrar desde nombres, correos, direcciones, nombres de #s#arios, p#esto
de traba+o, ordenador asignado, etc' es decir #n con+#nto de información m#y interesante
para #n posible atacante'
-
8/17/2019 Reseña Pruebas de Validacion de Entrada de Datos
6/6
E8#: se p#ede hacerF %eali3ar #na validación estricta de los datos de entrada o lo "#e
conocemos como desinfección de parámetros del lado del servidor' e nada sirve validar
los datos con JavaScript en estos casos, el atacante #tili3a form#larios for+ados o
simplemente deshabilita el JavaScript en s# navegador'
Inyección "#$
0s parecida a la S8!, pero en :ste caso se #sa #na inyección S8! contra #n modelo de
ob+eto generado de acceso a datos' esde la perspectiva del atacante, este ata"#e es
virt#almente id:ntico a #n ata"#e de inyección S8!G no obstante, la v#lnerabilidad "#e
facilita la inyección reside en el código generado por la herramienta 2%'