Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Informe - Vulnerabilidades en Aplicaciones WEB
Informe - Vulnerabilidades en Aplicaciones WEB
¿QUE ES MEJOR?
TALLER EVALUATIVO SEMANA 3
ALUMNOS:
JUAN FRANCISCO ROMERO CASTRO
PROFESOR:
MATERIA:
SEGURIDAD EN APLICACIONES
CIUDAD
BARRANQUILLA- COLOMBIA
AÑO
2019
1
Seguridad en Aplicaciones 2019
INDICE
Contenido
INTRODUCCIÓN..........................................................................................................................3
OBJETIVO......................................................................................................................................3
DESARROLLO DE LA ACTIVIDAD............................................................................................4
Entradas invalidadas................................................................................................................4
Fallos de control de Acceso....................................................................................................4
Fallos en la administración de Autentificación y Sesión.....................................................4
Fallos de Cross Site Scripting (XSS).....................................................................................5
Desbordamiento del Búffer.....................................................................................................6
Inyección de código.................................................................................................................6
Fallas en el manejo de errores...............................................................................................7
Almacenamiento inseguro.......................................................................................................8
Denegación de servicio...........................................................................................................8
Fallas en la administración de Configuración.......................................................................9
Cuadro comparativo.................................................................................................................9
CONCLUSIÓN.............................................................................................................................12
BIBLIOGRAFÍA............................................................................................................................12
2
Seguridad en Aplicaciones 2019
INTRODUCCIÓN
Este es un informe es realizado por un alumno con experiencia y conocimiento en
desarrollo en página web y entregado a la Fundación Universitaria del Área Andina, de la
faculta de Ingeniería de sistemas aplicado a la materia Seguridad de Aplicaciones el cual
busca demostrara el desarrollo y análisis de las vulnerabilidades en la aplicación web,
demostrando control y aplicación de los procesos de la misma.
OBJETIVO
El objetivo de este informe es demostrar el gran manejo de la información adquirida
durante la semana 3 de la materia de seguridad de las aplicaciones, exponiendo gran
manejo de la materia y sus herramientas con respecto a la seguridad de las aplicaciones
web.
3
Seguridad en Aplicaciones 2019
DESARROLLO DE LA ACTIVIDAD
ENTRADAS INVALIDADAS.
Uno de los problemas mas frecuente en la pagina web es que no solicitan acceso a través
de usuario y contraseña debido a su tipo, pero encontramos muchas paginas que hoy en
día, no muestran una seguridad fuerte debido a la falta de experiencia del desarrollador y
cuando quiere implementar un logan lo hacen sin protocolo de encriptación entre muchas
otra lo cual hace que el hackers rompa la seguridad de la base de datos y pueda extraer los
password de todos los usuarios.
Se puede concluir que uno de los puntos más críticos de la seguridad en Internet son las
herramientas que interactúan de forma directa con los usuarios, en este caso los servidores
web.
Debemos entender que programar aplicaciones web seguras no es una tarea fácil, ya que
requiere por parte del programador, no sólo cumplir con el objetivo funcional básico de la
aplicación, sino una concepción general de los riesgos que puede correr la información
procesada por el sistema.
Los controles de acceso son tanto lógicos como físicos y estos debieran ser considerados,
Se debiera proporcionar a los usuarios y proveedores del servicio un enunciado claro de los
requerimientos comerciales que debieran cumplir los controles de acceso
4
Seguridad en Aplicaciones 2019
que quiere decir es que cualquier hackers puedes rompe la seguridad de la aplicación por
una persona que no implementado una contraseña adecuada, para mitigar estos riegos es
mejor relacionar el directorio activo a la aplicación y con una política de contraseña como
por ejemplo la primera letra en mayúscula y caracteres alfanuméricos, y que cada 30 días
obligue al usuario a remplazar la contraseña.
Todos los usuarios tienen un identificador único (ID de usuario) para su uso personal, y se
debiera escoger una técnica de autenticación adecuada para sustanciar la identidad de un
usuario.
Lo primero de todo es tener muy clara la importancia de tener en cuenta que con esta
vulnerabilidad, los atacantes explotan la confianza que un usuario tiene en un sitio en
particular, y esto nos da una dimensión del impacto que puede tener.
Consiste en modificar valores que la aplicación web usa para pasar variables entre dos
páginas. Un clásico ejemplo de esto es hacer que a través de un buscador se ejecute un
mensaje de alerta en JavaScript. Con XSS reflejado, el atacante podría robar las cookies
para luego robar la identidad, pero para esto, debe lograr que su víctima ejecute un
determinado comando dentro de su dirección web
5
Seguridad en Aplicaciones 2019
INYECCIÓN DE CÓDIGO.
Las bases de datos son vulnerables si no se tiene una buena configuración de seguridad y
están propensas a experimentar el ataque llamado SQL Injection si no se tiene una buena
validación en la aplicación con la que interactúa, por lo cual en este subcapítulo
únicamente hablaremos acerca de este ataque que explota vulnerabilidades de una
programación deficiente en los sistemas.
6
Seguridad en Aplicaciones 2019
Se dice que existe o se produjo una inyección SQL cuando, de alguna manera, se inserta o
"inyecta" código SQL invasor dentro del código SQL programado, a fin de alterar el
funcionamiento normal del programa y lograr así que se ejecute la porción de código
"invasor" incrustado, en la base de datos.
Este tipo de intrusión normalmente es de carácter malicioso, dañino o espía, por tanto es
un problema de seguridad informática, y debe ser tomado en cuenta por el programador
de la aplicación para poder prevenirlo. Un programa elaborado con descuido, displicencia
o con ignorancia del problema, podrá resultar ser vulnerable, y la seguridad del sistema
(base de datos) podrá quedar eventualmente comprometida.
ALMACENAMIENTO INSEGURO.
Si una aplicación web almacena inseguramente las credenciales de registro de ingreso o
login, la seguridad del mecanismo de login se ve minada, aunque no exista una falla
inherente al proceso de autenticación por sí mismo.
Este es un error muy común encontrado en las aplicaciones web donde las credenciales de
usuario son almacenadas inseguramente dentro de la base de datos. Esto podría involucrar
contraseñas siendo almacenadas en texto plano. Y aunque las contraseñas hayan sido
7
Seguridad en Aplicaciones 2019
“hasheadas” utilizando un algoritmo estándar como MD5 o SHA-1, esto aun permite al
atacante consultar los hashes contra una base de datos previamente calculada de valores
hash.
Se navega la aplicación web vulnerable utilizando Firefox configurado con Zed Attack
Proxy. El objetivo es revisar las funcionalidades relacionadas a la autenticación, como
también las relacionadas al mantenimiento del usuario. Si se encuentran instancias en la
cual la contraseña del usuario es transmitida de retorno hacia el cliente, esto indica un
almacenamiento inseguro de las contraseñas, ya sea estén en texto plano o un cifrado
reversible.
DENEGACIÓN DE SERVICIO.
En seguridad informática, un ataque de denegación de servicio, también llamado ataque
DoS (por sus siglas en inglés, Denial of Service), es un ataque a un sistema de
computadoras o red que causa que un servicio o recurso sea inaccesible a los usuarios
legítimos.1 Normalmente provoca la pérdida de la conectividad con la red por el consumo
del ancho de banda de la red de la víctima o sobrecarga de los recursos computacionales
del sistema atacado. Un ejemplo notable de ello se produjo el 27 de marzo de 2013, cuando
el ataque de una empresa a otra inundó la red de correos basura provocando una
ralentización general de Internet e incluso llegó a afectar a puntos clave como el nodo
central de Londres.
Los ataques DoS se generan mediante la saturación de los puertos con múltiples flujos de
información, haciendo que el servidor se sobrecargue y no pueda seguir prestando su
servicio. Por eso se le denomina denegación, pues hace que el servidor no pueda atender la
cantidad enorme de solicitudes.
Esta técnica es usada por los crackers o piratas informáticos para dejar fuera de servicio
servidores objetivo. A nivel global, este problema ha ido creciendo, en parte por la mayor
facilidad para crear ataques y también por la mayor cantidad de equipos disponibles mal
configurados o con fallos de seguridad que son explotados para generar estos ataques. Se
ve un aumento en los ataques por reflexión y de amplificación por sobre el uso de botnets.
Una ampliación del ataque DoS es el llamado ataque de denegación de servicio distribuido,
también llamado DDoS el cual se lleva a cabo generando un gran flujo de información
desde varios puntos de conexión hacia un mismo punto de destino. La forma más común
de realizar un DDoS es a través de una red de bots, siendo esta técnica el ciberataque más
usual y eficaz por su sencillez tecnológica.
8
Seguridad en Aplicaciones 2019
de buena forma, piense si usted fuera usuario como le gustaría que fuera el administrador;
mantiene en buen estado el hardware y el software de los computadores y la(s) red(es) a su
cargo; mantiene documentación que describe la red, el hardware y el software que
administra; respeta la privacidad de los usuarios y promueve el buen uso de los recursos. A
cambio de tantas responsabilidades la recompensa es el buen funcionamiento de la red
como un medio que vincula personas y de los computadores y programas como
herramientas para agilizar algunas labores que dan tiempo y dar tiempo para realizar otras.
CUADRO COMPARATIVO
https://blogthinkbig.com/asi-de- https://backtrackacademy.com/articulo/in
yeccion-sql-definicion-y-ejemplos
Una inyección de código la inyección de código en
ocurre cuando un atacante herramientas como SQL,
Inyección Sql
del-escaner-de-iris-del-samsung-
sencillo-es-romper-la-seguridad-
Fallos en las
Broken Authentication
Una vulnerabilidad de
implementaciones de inicio o
autenticación rota le permite
gestión de sesión que permite
a los atacantes usar medios
a los atacantes hacerse con
galaxy-s8
9
Seguridad en Aplicaciones 2019
emocionantes-casos-de-uso-y-su-
Debido a fallos en la
7/10/23/ejemplos-de-datos-
abiertos-en-el-mundo-real-
Sensitive Data Exposure
implementación de distintas
APIs, muchas veces no se
Acceso a información sin
protege correctamente la
impacto/
nesecidad de ataques, solo
información sensible, lo que
con consultar la pagina o el
permite a piratas
sitio web que no cuente con
informáticos hacerse, por
un buen diseño del sistema.
ejemplo, con datos
personales, bancarios o de
salud de usuarios
vulnerabilidad-xxe-xml-external-
Una vulnerabilidad de XXE
XML External Entities (XXE)
ticulo/explorando-la-
configurados pueden
que se aprovecha de la mala
procesar ciertas referencias
configuración del intérprete
como si no se tratasen de
entity
XML permitiendo incluir
entradas XML, lo que puede
entidades externas, este
permitir revelar ficheros y
ataque se realiza contra una
recursos ocultos, e incluso
aplicación que interpreta
ejecutar código o causar un
lenguaje XML en sus
ataque DoS.
parámetros.
2002/jun/insecurity.shtml
Broken Access Control
10
Seguridad en Aplicaciones 2019
real-xss.html
inyección de código malicioso para ejecutar algún script
para su posterior ejecución peligroso desde una web que,
que puede realizarse a sitios supuestamente, es de
web, aplicaciones locales e confianza, permitiendo así
incluso al propio navegador. que la web en cuestión
ejecute código en el equipo
de la víctima.
Insecure Deserialization
rticles/what-is-insecure-
deserialization/
la deserializacion insegura es
Fallos en la serialización que
una vulnerabilidad que se
pueden permitir la ejecución
produce cuando usan datos
de código directamente en la
no confiables para abusar de
memoria.
la logica de una aplicación.
a9-using-components-with-known-
m/wordpress-security/insufficient- are.com/blog-whitesource/owasp-
Using Components with Known
vulnerabilities
vulnerabilidades que se de software que tienen
descubrieron en vulnerabilidades, por lo que,
componentes de código al utilizarlos en una
abierto y se publicaron en plataforma o un proyecto,
NVD, avisos de seguridad o automáticamente este se
rastreadores de problemas. vuelve vulnerable, quedando
en peligro a través de estos
recursos
Debido a la falta de
Insufficient Logging & Monitoring
monitorización, la mayoría de
las veces se tarda hasta 200
logging-owasp-top-10/
El registro y la supervisión
días en detectar una
son tan importantes en la
vulnerabilidad en un software
aplicación web y en la
o una plataforma web,
seguridad de WordPress que
tiempo que se podría reducir
la falta de funcionalidad de
notablemente simplemente
registro en las aplicaciones
configurando mayores
web
controles, mejor
monitorización y más
registros a estas plataformas.
11
Seguridad en Aplicaciones 2019
CONCLUSIÓN
Hoy en día debemos ser consciente que la tecnología abarca mas y mas en cada proceso
que hacemos, debido a que se ha vuelto una necesidad tanto como solución, pero al
tiempo también se ha vuelto nuestro problema, por que cada día somo mas vulnerables a
ataques, debido a lo anterior es muy importante conocer las vulnerabilidades que se
presenta no solo en aplicaciones web sino también en los sistemas operativos que
manipulamos día a día.
Es muy importante como prevenir los ataques y conocer como los ejecutan para poder
protegernos, también debemos estar actualizados en cuanto a parches y métodos de
programación.
Recordemos que nuestra vida ya depende del internet de las cosas como lo es un
automóvil o un respirador artificial, se que me salgo un poco del tema pero lo importante
es tener en cuenta que la seguridad ya aplica a todo no solo a aplicaciones WEB.
BIBLIOGRAFÍA
https://www.ibm.com/support/knowledgecenter/es/SSZLC2_8.0.0/com.ibm.commerce.de
veloper.doc/refs/raxtroubleshooting.htm
https://www.welivesecurity.com/la-es/2015/04/29/vulnerabilidad-xss-cross-site-scripting-
sitios-web/
http://www.reydes.com/d/?
q=Almacenamiento_Inseguro_de_Credenciales_en_una_Aplicacion_Web
https://es.wikipedia.org/wiki/Manejo_de_excepciones
https://www.google.com/search?
rlz=1C1GCEU_esCO822CO827&ei=xEPjXNmeKKmx5wL9vLeIDQ&q=FALLAS+EN+EL+MA
NEJO+DE+ERRORES&oq=FALLAS+EN+EL+MANEJO+DE+ERRORES&gs_l=psy-
ab.3...1429.1429..1777...0.0..0.192.192.0j1......0....2j1..gws-wiz.......0i71.jTbyu0rjKls
https://www.welivesecurity.com/la-es/2015/04/29/vulnerabilidad-xss-cross-site-scripting-
sitios-web/
https://www.ibm.com/support/knowledgecenter/es/SSZLC2_8.0.0/com.ibm.commerce.de
veloper.doc/refs/raxtroubleshooting.htm
http://www.ptolomeo.unam.mx:8080/xmlui/bitstream/handle/132.248.52.100/915/A5.pdf?
sequence=5
https://www.seguridad.unam.mx/historico/documento/index.html-id=17
https://backtrackacademy.com/articulo/inyeccion-sql-definicion-y-ejemplos
12
Seguridad en Aplicaciones 2019
https://blogthinkbig.com/asi-de-sencillo-es-romper-la-seguridad-del-escaner-de-iris-del-
samsung-galaxy-s8
https://www.opendatasoft.es/2017/10/23/ejemplos-de-datos-abiertos-en-el-mundo-real-
emocionantes-casos-de-uso-y-su-impacto/
https://backtrackacademy.com/articulo/explorando-la-vulnerabilidad-xxe-xml-external-
entity
http://www.infosecuritymag.com/2002/jun/insecurity.shtml
https://www.tutorialspoint.com/security_testing/testing_security_misconfiguration.htm
https://www.blackploit.com/2018/04/hackeando-un-banco-caso-real-xss.html
https://www.acunetix.com/blog/articles/what-is-insecure-deserialization/
https://resources.whitesourcesoftware.com/blog-whitesource/owasp-a9-using-
components-with-known-vulnerabilities
https://www.wpsecurityauditlog.com/wordpress-security/insufficient-logging-owasp-top-
10/
13