SlideShare una empresa de Scribd logo
1 de 38
OWASP
1. QUE ES OWASP?
El Proyecto Abierto de Seguridad en Aplicaciones Web (OWASP ) es
una comunidad abierta dedicada a permitir que las organizaciones
desarrollen, adquieran, mantengan aplicaciones y APIs en las que
se pueda confiar.
Todas las herramientas de OWASP, documentos, videos,
presentaciones y capítulos son gratuitos y abiertos a cualquier
interesado en mejorar la seguridad en aplicaciones. No está afiliada
con ninguna compañía de tecnología y produce muchos tipos de
materiales en una manera abierta y colaborativa.
2. pOR QUE ES RELEVANTE OWASP
Hay muchas cosas útiles de seguridad que OWASP hace, pero
las tres cosas principales que hacen que OWASP sea
relevante.
Proyecto OWASP Top 10: OWASP publica cada pocos años una
lista de las 10 principales vulnerabilidades. Estas
vulnerabilidades son examinadas por los miembros y las
organizaciones contribuyentes, y son problemas del mundo
real.
OWASP ZED Attack Proxy (ZAP): Es la herramienta de
seguridad gratuita más popular que existe. Se utiliza
para buscar e informar vulnerabilidades de seguridad
en software basado en web.
Serie OWASP Cheat Sheet: Este es actualmente un grupo
de 9 listas rápidas de cómo configurar procesos
específicos. Algunos ejemplos son cómo usar la gestión
de sesión segura, cómo configurar un registro
adecuado, etc.
3. ¿Cuáles son las vulnerabilidades comunes de
seguridad de las aplicaciones web?
–Configuración débil, por defecto o mal configurado.
– Comunicación insegura entre cliente y servidor.
– Software desactualizado.
1. Cross-Site Scripting (XSS para
inyectar código JavaScript)
2. Multiple Cross-Site Scripting (XSS)
3. Stored XSS (inyección de código
almacenado)
4. Unauthenticated Stored XSS(sin
privilegios)
5. SQL Injection
6. Authenticated Stored XSS &
CSRF(falsificación de petición en
sitios cruzados)
7. Server Side Request Forgery (SSRF )
Tipos de vulnerabilidades de aplicación
4.PRUEBAS DE SEGURIDAD
a. Recopilación de Información
Información
sobre la
aplicación
Formas
Probar la mayor
cantidad de base
de código
Pruebas de
intrusión
Descubrimiento
de aplicaciones
Spiders, robots,
crawlers
Revisión de
comentarios y
metadata
Identificación
puntos de
entrada/salida
Análisis de
código de error
Reconocimiento
mediante
motores de
búsqueda
B. PRUEBAS DE GESTIÓN DE LA CONFIGURACIÓN
Análisis sobre
la
infraestructura
o topología
Obtener
datos
Configuraciones
de la
infraestructura
Funcionalidades
Administrativas
Métodos de
Autenticación
Código
fuente
Métodos
HTTP
b.pruebas de gestión de la configuración
54321 54321
c. Pruebas lógicas de negociación
● manipular los
parámetros
● datos de entrada
● moulos
● con códigos
dañinos
para comprobar si es
posible evadir el flujo
de trabajo
ya que gestiona varios
procesos diferentes
Requiere mayor nivel de
creatividad por parte del
especialista en seguridades
d. pruebas de autenticación
múltiples factores de
autenticación
Se incluyen las pruebas de
fortaleza de los sistemas de
preguntas y respuestas, cambio y
reinicio de contraseñas, políticas de
creación de contraseñas y
descubrimiento de mecanismo de
autentificación
Es el proceso de intentar
verificar la identidad digital
del remitente de la
comunicación
● enumeración de usuarios
● pruebas de diccionario sobre
cuentas de usuario
● comprobar sistemas de
recordatorio/ restauración
de contraseñas
pruebas de gestión de
caché de navegación
E. pruebas de AUTORIZACIÓN
Autorización es el concepto de permitir el acceso a
recursos únicamente a aquellos que tienen permiso
para ello. Las pruebas de Autorización significan
entender cómo funciona el proceso de autorización, y
usar esa información para saltarse el mecanismo de
autorización.
F. pruebas de gestión de sesiones
La gestión de sesiones cubre ampliamente todos los controles que se
realizan sobre el usuario, desde la autenticación hasta la salida de la
aplicación. HTTP es un protocolo sin estados, lo que significa que los
servidores web responden a las peticiones de clientes sin enlazarlas
entre sí. Es importante que la seguridad de la aplicación sea
considerada en el contexto de los requisitos y expectativas del
proveedor
7. validación de datos
La debilidad más común en la seguridad de aplicaciones web, es la falta de una validación
adecuada de las entradas procedentes del cliente o del entorno de la aplicación. Esta
debilidad conduce a casi todas las principales vulnerabilidades en aplicaciones, como
inyecciones sobre el intérprete y desbordamientos de búfer.
7. DEnegación de servicio
El concepto fundamental de un ataque DoS de red es un usuario malicioso inundando con
suficiente tráfico una máquina objetivo para conseguir hacerla incapaz de sostener el volumen
de peticiones que recibe. Cuando el usuario malicioso emplea un gran número de máquinas
para inundar de tráfico una sola máquina objetivo, se conoce generalmente como ataque
denegación de servicio distribuidos (DDoS).
Pruebas de servicios Web
Los servicios web y SOA (Arquitectura Orientada a Servicios) son aplicaciones en expansión que están permitiendo que los negocios
interoperan y crezcan a un ritmo sin precedentes. Los clientes de servicios web generalmente no son frontales web, sino otros
servidores. Los servicios web están expuestos a la red como cualquier otro servicio, pero pueden ser utilizados en HTTP, FTP, SMTP
o acompañados de cualquier otro protocolo de transporte
Las vulnerabilidades en servicios web son similares a otras vulnerabilidades como la inyección SQL, revelación de información, etc,
pero también tienen vulnerabilidades de XML..
Pruebas Ajax
El uso de técnicas AJAX puede tener enormes beneficios de usabilidad para aplicaciones web. Sin embargo, desde un punto de vista
de seguridad, las aplicaciones AJAX tienen una mayor superficie de ataque que las aplicaciones web normales, y a menudo se
desarrollan con un enfoque en lo que se puede hacer en lugar de lo que se debe hacer.
Problemas de seguridad en AJAX
● Mayor superficie de ataque con muchas más entradas para asegurar.
● Funciones internas expuestas de la aplicación.
● Acceso del cliente a recursos de terceros sin mecanismos de codificación y seguridad incorporados
● Fallo al proteger la información de autenticación y las sesiones
● Línea borrosa entre el lado del cliente y el código del lado del servidor, posiblemente dando como resultado
errores de seguridad
proyectos emblemáticos owasp
Proyectos que han demostrado un valor estratégico para OWASP y la seguridad de la aplicación en su
conjunto.
El Proxy Zed Attack (ZAP) de OWASP es una de las herramientas de seguridad gratuitas más populares
del mundo y es mantenido activamente por cientos de voluntarios internacionales
8. Fallas de seguridad de las aplicaciones web
A.INYECCIÓN
● Ocurre cuando un atacante envía datos inválidos a
la aplicación web con la intención de hacerla hacer
algo distinto para lo que fue diseñada/programada.
● El núcleo de una vulnerabilidad de inyección de
código es la falta de validación de los datos
consumidos por la aplicación web. Lo que significa
que esta vulnerabilidad puede estar presente en
casi cualquier tipo de tecnología.
● Todo lo que acepte parámetros como entradas
puede ser potencialmente vulnerable a un ataque
de inyección de código.
¿Cómo se previenen las vulnerabilidades de inyecciones de código?
· La opción preferida es usar una API segura que evite el uso del intérprete de manera
completa, o provea una interfaz parametrizada.
· Usa un “whitelist” como validación de datos del lado del servidor.
· Usa LIMIT y otros controles SQL dentro de la consulta para prevenir la divulgación en
masa de registros en el caso de una inyección SQL exitosa.
· Separación de datos con la lógica de la aplicación web
· Ajustes para limitar la exposición de datos en caso de ataques de inyección exitosos
B. autenticación rota
● Permite a los atacantes usar medios manuales y/o
automáticos para tratar de ganar control sobre
una de las cuentas en el sistema, o peor, para
ganar control completo del sistema.
● La autenticación rota usualmente se debe a
problemas de lógica en el mecanismo de
autenticación de la aplicación, como el mal
manejo de sesiones o el listado de nombres de
usuarios.
● La segunda forma más común de esta
vulnerabilidad es permitir que los usuarios
hagan ataques de fuerza bruta contra esas
páginas utilizando combinaciones de nombres de
usuario y contraseñas.
¿Cómo se previenen las vulnerabilidades de autenticación rota?
● Siempre que sea posible, implementa autenticación multi-factor
● No despliegues ninguna credencial por defecto, sobre todo para los
usuarios administradores.
● Implementa verificaciones de contraseñas débiles
● Limita o incrementa cada vez más los intentos de inicio de sesión
fallidos. Registra todos los intentos fallidos y alerta a los
administradores cuando se detecten ataques de credential stuffing, fuerza
bruta u otros.
● Usa un gestor de sesiones integrado y seguro que genere un nuevo ID de
sesión aleatorio luego del inicio de sesión.
● Los IDs también deben estar almacenados de forma segura y ser invalidados
luego de cerrar la sesión, tiempos de inactividad y tiempos absolutos.
c. Exposición a datos sensibles
En julio de 2018, Chrome comenzó a marcar todas las páginas
utilizando HTTP como no seguro en un impulso para convertir la web
a HTTPS . Y por una buena razón. Los datos que se pasan a través
de HTTP no están encriptados.
Prevención: el cifrado es la mejor manera de prevenir la exposición
de datos confidenciales, deben estar protegidos con protocolos como
TLS y SSL.
Se recomienda utilizar cifrados perfectos de seguridad directa (PFS),
priorización de cifrado por el servidor y parámetros seguros.
Proteja los datos en reposo cifrando los datos almacenados cuando
sea posible.
Nunca almacene contraseñas como texto sin formato, es preferible
utilizar “la sal” y cifrar con funciones hash como Argon2 y scrypt.
D. ENTIDADES EXTERNAS XML
Un analizador XML es engañado
para que haga referencia a una
entidad externa manipulada.
El ataque puede llevar a datos
confidenciales comprometidos,
ataques de denegación de servicio
(DoS) y falsificaciones de solicitudes
del lado del servidor (SSRF), entre
otros impactos del sistema.
Prevención: deshabilitar las entidades externas y el procesamiento DTD (definición del tipo de documento) en todos
los analizadores XML de la aplicación.
Evitar la serialización de datos confidenciales y utilizar formatos de datos menos complejos, como JSON.
Mantenga al día todos los procesadores XML y las bibliotecas.
Implementar la validación de entrada del lado del servidor (por ejemplo, listas blancas).
F. Proyectos de código de owaspSe divide en dos:
Ejemplos
G.-Proyecto de seguridad backend OWASP
El objetivo de este proyecto OWASP es crear una nueva
guía que permita a los desarrolladores, administradores y
evaluadores comprender cualquier parte del proceso de
seguridad acerca de los componentes de back-end que se
comunican directamente con las aplicaciones web, así
como las bases de datos, ldaps, pasarela de pago, y mucho
más.
El proyecto está compuesto por tres secciones (desarrollo
de seguridad, fortalecimiento de seguridad y pruebas de
seguridad). El objetivo es definir las directrices para las
empresas y los profesionales de TI que trabajan en el
campo de la seguridad en el desarrollo de procesos y la
gestión / pruebas de componentes de back-end en la
arquitectura empresarial.
14 ConTROL DE ACCESO REMOTO
14 Configuración de seguridad incorrecta
15. Secuencias de comandos entre sitios
● Mediante correos
engañosos.
● Atacantes utilizan un
buscador insertando un
mensaje de alerta en
JavaScript o mensaje
en HTML.
CÓMO IDENTIFICAR ESTA VULNERABILIDAD
Las aplicaciones ofrecen páginas de salida utilizando
intérpretes como:
● JavaScript
● ActiveX
● Flash o Silverlight.
dificultando la detección automática de las vulnerabilidades
de XSS, sin embargo se podrían obviar aplicando técnicas de
revisión de código y pruebas de penetración en forma manual.
PREVENCIÓN
● Separar los datos no confiables basados en HTML del
contenido activo del navegador, para ello OWASP ofrece
algunos de trucos o “cheat Sheets” para aplicar las
técnicas en las rutinas de programación de una
aplicación WEB.
● Se deben validar las entradas positivas o de lista
blanca.
16. Usos de componentes con vulnerabilidad
desconocida
La aplicación es vulnerable si:
● No conoce las versiones de todos los componentes que utiliza (tanto del lado del cliente
como del servidor). Esto incluye componentes utilizados directamente como sus
dependencias anidadas.
● No se analizan los componentes periódicamente ni se realiza seguimiento de los boletines de
seguridad de los componentes utilizados.
● El software es vulnerable, no posee soporte o se encuentra desactualizado. Esto incluye el
sistema operativo, servidor web o de aplicaciones, DBMS, APIs y todos los componentes,
ambientes de ejecución y bibliotecas
16. Usos de componentes con vulnerabilidad
desconocida
Cómo se previene
● Remover dependencias, funcionalidades, componentes, archivos y documentación innecesaria y no
utilizada.
● Utilizar una herramienta para mantener un inventario de versiones de componentes (por ej.
frameworkso bibliotecas) tanto del cliente como del servidor. Por ejemplo, Dependency Checky
retire.js.
● Obtener componentes únicamente de orígenes oficiales utilizando canales seguros. Utilizar
preferentemente paquetes firmados con el fin de reducir las probabilidades de uso de versiones
manipuladas maliciosamente
16. Usos de componentes con vulnerabilidad
desconocida
16. Usos de componentes con vulnerabilidad
desconocida
Ejemplos de escenarios de ataque
Escenario #1: típicamente, los componentes se ejecutan con los mismos
privilegios de la aplicación que los contienen y, como consecuencia, fallas en
éstos pueden resultar en impactos serios. Estas fallas pueden ser accidentales
(por ejemplo, errores de codificación) o intencionales (una puerta trasera en un
componente).
Referencias
Sierra, T. (2019). Tipos de vulnerabilidades en aplicaciones
web | Tomás Sierra. Retrieved from
https://tomassierra.com/tipos-de-vulnerabilidades-en-
aplicaciones-web/

Más contenido relacionado

La actualidad más candente

Computación forense
Computación forenseComputación forense
Computación forense
marcoacruz12
 
Seguridad en la nube exposicion completa
Seguridad en la nube   exposicion completaSeguridad en la nube   exposicion completa
Seguridad en la nube exposicion completa
Maxwell Kenshin
 
La ingeniería social y la seguridad. powerpoint
La ingeniería social y la seguridad.  powerpointLa ingeniería social y la seguridad.  powerpoint
La ingeniería social y la seguridad. powerpoint
bachilleratob
 

La actualidad más candente (20)

Auditoria de seguridad informatica
Auditoria de seguridad informaticaAuditoria de seguridad informatica
Auditoria de seguridad informatica
 
Computación forense
Computación forenseComputación forense
Computación forense
 
Norma iso 17799
Norma iso  17799Norma iso  17799
Norma iso 17799
 
Presentacion kali linux
Presentacion kali linuxPresentacion kali linux
Presentacion kali linux
 
Seguridad en la nube exposicion completa
Seguridad en la nube   exposicion completaSeguridad en la nube   exposicion completa
Seguridad en la nube exposicion completa
 
Cloud Security_ Unit 4
Cloud Security_ Unit 4Cloud Security_ Unit 4
Cloud Security_ Unit 4
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 
Seguridad en redes
Seguridad en redesSeguridad en redes
Seguridad en redes
 
Lab5. SQL
Lab5. SQLLab5. SQL
Lab5. SQL
 
Cloud Security Architecture.pptx
Cloud Security Architecture.pptxCloud Security Architecture.pptx
Cloud Security Architecture.pptx
 
Cloud security and security architecture
Cloud security and security architectureCloud security and security architecture
Cloud security and security architecture
 
Cloud Computing Security
Cloud Computing SecurityCloud Computing Security
Cloud Computing Security
 
Programacion en la nube
Programacion en la nubeProgramacion en la nube
Programacion en la nube
 
Seguridad en los Sistemas Distribuidos
Seguridad en los Sistemas DistribuidosSeguridad en los Sistemas Distribuidos
Seguridad en los Sistemas Distribuidos
 
Politicas de Seguridad Informática
Politicas de Seguridad InformáticaPoliticas de Seguridad Informática
Politicas de Seguridad Informática
 
Presentacion ingeniería social
Presentacion ingeniería socialPresentacion ingeniería social
Presentacion ingeniería social
 
Métricas de Calidad del Software.pptx
Métricas de Calidad del Software.pptxMétricas de Calidad del Software.pptx
Métricas de Calidad del Software.pptx
 
Seguridad informática
Seguridad informática Seguridad informática
Seguridad informática
 
La ingeniería social y la seguridad. powerpoint
La ingeniería social y la seguridad.  powerpointLa ingeniería social y la seguridad.  powerpoint
La ingeniería social y la seguridad. powerpoint
 
Threat modelling(system + enterprise)
Threat modelling(system + enterprise)Threat modelling(system + enterprise)
Threat modelling(system + enterprise)
 

Similar a Temas owasp

Vulnerabilidades en sitios web(español)
Vulnerabilidades en sitios web(español)Vulnerabilidades en sitios web(español)
Vulnerabilidades en sitios web(español)
Miguel de la Cruz
 
Owasp top 10_2007_spanish
Owasp top 10_2007_spanishOwasp top 10_2007_spanish
Owasp top 10_2007_spanish
Tommy Clive
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
William Suárez
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
guestb40a1b0
 
Castaneda suarezandresfernando2017
Castaneda suarezandresfernando2017Castaneda suarezandresfernando2017
Castaneda suarezandresfernando2017
Idat
 
Seguridad en la web no confíes en el usuario
Seguridad en la web   no confíes en el usuarioSeguridad en la web   no confíes en el usuario
Seguridad en la web no confíes en el usuario
Carlos Soriano
 

Similar a Temas owasp (20)

Owasp proyecto
Owasp proyectoOwasp proyecto
Owasp proyecto
 
Seguridad web
Seguridad webSeguridad web
Seguridad web
 
OpenSouthCode '18 - OWASP Top 10 (2017) [2018-June-01]
OpenSouthCode '18 - OWASP Top 10 (2017) [2018-June-01]OpenSouthCode '18 - OWASP Top 10 (2017) [2018-June-01]
OpenSouthCode '18 - OWASP Top 10 (2017) [2018-June-01]
 
Aplicaciones Web Seguras (Anti-SQLi)
Aplicaciones Web Seguras (Anti-SQLi)Aplicaciones Web Seguras (Anti-SQLi)
Aplicaciones Web Seguras (Anti-SQLi)
 
Vulnerabilidades en sitios web(español)
Vulnerabilidades en sitios web(español)Vulnerabilidades en sitios web(español)
Vulnerabilidades en sitios web(español)
 
Seguridad en Aplicaciones Web
Seguridad en Aplicaciones WebSeguridad en Aplicaciones Web
Seguridad en Aplicaciones Web
 
Hacking Ético Web
Hacking Ético WebHacking Ético Web
Hacking Ético Web
 
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP
 
Seguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHPSeguridad en el Desarrollo de Aplicaciones Web PHP
Seguridad en el Desarrollo de Aplicaciones Web PHP
 
Seguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securitySeguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_security
 
Intro Guía de Testing OWASP
Intro Guía de Testing OWASPIntro Guía de Testing OWASP
Intro Guía de Testing OWASP
 
Desarrollo seguro en NodeJS (OWASP top ten y JWT)
Desarrollo seguro en NodeJS (OWASP top ten y JWT)Desarrollo seguro en NodeJS (OWASP top ten y JWT)
Desarrollo seguro en NodeJS (OWASP top ten y JWT)
 
Seguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASPSeguridad web para desarrolladores - OWASP
Seguridad web para desarrolladores - OWASP
 
Owasp top 10_2007_spanish
Owasp top 10_2007_spanishOwasp top 10_2007_spanish
Owasp top 10_2007_spanish
 
Seguridad web
Seguridad webSeguridad web
Seguridad web
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
 
Castaneda suarezandresfernando2017
Castaneda suarezandresfernando2017Castaneda suarezandresfernando2017
Castaneda suarezandresfernando2017
 
Seguridad en la web no confíes en el usuario
Seguridad en la web   no confíes en el usuarioSeguridad en la web   no confíes en el usuario
Seguridad en la web no confíes en el usuario
 
TOP10 - Owasp 2017
TOP10  - Owasp 2017TOP10  - Owasp 2017
TOP10 - Owasp 2017
 

Más de Fernando Solis

Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 
Introducción a Tipos de Datos Abstractos (TDA)
Introducción a Tipos de Datos Abstractos (TDA)Introducción a Tipos de Datos Abstractos (TDA)
Introducción a Tipos de Datos Abstractos (TDA)
Fernando Solis
 

Más de Fernando Solis (20)

Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
AULA INVERTIDA.pdf
AULA INVERTIDA.pdfAULA INVERTIDA.pdf
AULA INVERTIDA.pdf
 
Subcadenas-en-C
Subcadenas-en-CSubcadenas-en-C
Subcadenas-en-C
 
BÚSQUEDA DE SUBCADENAS EN C
BÚSQUEDA DE SUBCADENAS EN CBÚSQUEDA DE SUBCADENAS EN C
BÚSQUEDA DE SUBCADENAS EN C
 
Almacenamiento de informacion en una estructura
Almacenamiento de informacion en una estructuraAlmacenamiento de informacion en una estructura
Almacenamiento de informacion en una estructura
 
Entrada y salida de datos
Entrada y salida de datosEntrada y salida de datos
Entrada y salida de datos
 
Longitud y Concatenacion
Longitud y ConcatenacionLongitud y Concatenacion
Longitud y Concatenacion
 
Lectura de datos de cadena
Lectura de datos de cadenaLectura de datos de cadena
Lectura de datos de cadena
 
Introducción a Tipos de Datos Abstractos (TDA)
Introducción a Tipos de Datos Abstractos (TDA)Introducción a Tipos de Datos Abstractos (TDA)
Introducción a Tipos de Datos Abstractos (TDA)
 
Archivos Binarios vs Archivos de Texto
Archivos Binarios vs Archivos de TextoArchivos Binarios vs Archivos de Texto
Archivos Binarios vs Archivos de Texto
 
DEFINICION DE CADENAS O STRINGS
DEFINICION DE CADENAS O STRINGSDEFINICION DE CADENAS O STRINGS
DEFINICION DE CADENAS O STRINGS
 
Declaración e inicialización de variables de tipo cadena
Declaración e inicialización de variables de tipo cadenaDeclaración e inicialización de variables de tipo cadena
Declaración e inicialización de variables de tipo cadena
 
Conversion de Strings
Conversion de StringsConversion de Strings
Conversion de Strings
 
Comparacion de arreglos Strings
Comparacion de arreglos StringsComparacion de arreglos Strings
Comparacion de arreglos Strings
 
Cadenas y/o strings
Cadenas y/o stringsCadenas y/o strings
Cadenas y/o strings
 
Asignacion
AsignacionAsignacion
Asignacion
 
Acceso en tipos de datos abstractos
Acceso en tipos de datos abstractosAcceso en tipos de datos abstractos
Acceso en tipos de datos abstractos
 
Arreglo Orden Seleccion
Arreglo  Orden SeleccionArreglo  Orden Seleccion
Arreglo Orden Seleccion
 
Algoritmos de Busqueda
Algoritmos de BusquedaAlgoritmos de Busqueda
Algoritmos de Busqueda
 
Quick Sort
Quick SortQuick Sort
Quick Sort
 

Último

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 
Cuadernillo jkwfnergnerognerpognospgnrpongerpogn
Cuadernillo jkwfnergnerognerpognospgnrpongerpognCuadernillo jkwfnergnerognerpognospgnrpongerpogn
Cuadernillo jkwfnergnerognerpognospgnrpongerpogn
MarianaArgellesRamos
 
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
candy torres
 

Último (20)

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
Ensayo Paes competencia matematicas 2 Preuniversitario
Ensayo Paes competencia matematicas 2 PreuniversitarioEnsayo Paes competencia matematicas 2 Preuniversitario
Ensayo Paes competencia matematicas 2 Preuniversitario
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docx
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Planeacion para 1er Grado - (2023-2024)-1.docx
Planeacion para 1er Grado - (2023-2024)-1.docxPlaneacion para 1er Grado - (2023-2024)-1.docx
Planeacion para 1er Grado - (2023-2024)-1.docx
 
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docxMINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Cuadernillo jkwfnergnerognerpognospgnrpongerpogn
Cuadernillo jkwfnergnerognerpognospgnrpongerpognCuadernillo jkwfnergnerognerpognospgnrpongerpogn
Cuadernillo jkwfnergnerognerpognospgnrpongerpogn
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdf
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
2° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docxUNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 

Temas owasp

  • 2. 1. QUE ES OWASP? El Proyecto Abierto de Seguridad en Aplicaciones Web (OWASP ) es una comunidad abierta dedicada a permitir que las organizaciones desarrollen, adquieran, mantengan aplicaciones y APIs en las que se pueda confiar. Todas las herramientas de OWASP, documentos, videos, presentaciones y capítulos son gratuitos y abiertos a cualquier interesado en mejorar la seguridad en aplicaciones. No está afiliada con ninguna compañía de tecnología y produce muchos tipos de materiales en una manera abierta y colaborativa.
  • 3. 2. pOR QUE ES RELEVANTE OWASP Hay muchas cosas útiles de seguridad que OWASP hace, pero las tres cosas principales que hacen que OWASP sea relevante. Proyecto OWASP Top 10: OWASP publica cada pocos años una lista de las 10 principales vulnerabilidades. Estas vulnerabilidades son examinadas por los miembros y las organizaciones contribuyentes, y son problemas del mundo real.
  • 4. OWASP ZED Attack Proxy (ZAP): Es la herramienta de seguridad gratuita más popular que existe. Se utiliza para buscar e informar vulnerabilidades de seguridad en software basado en web. Serie OWASP Cheat Sheet: Este es actualmente un grupo de 9 listas rápidas de cómo configurar procesos específicos. Algunos ejemplos son cómo usar la gestión de sesión segura, cómo configurar un registro adecuado, etc.
  • 5. 3. ¿Cuáles son las vulnerabilidades comunes de seguridad de las aplicaciones web? –Configuración débil, por defecto o mal configurado. – Comunicación insegura entre cliente y servidor. – Software desactualizado.
  • 6. 1. Cross-Site Scripting (XSS para inyectar código JavaScript) 2. Multiple Cross-Site Scripting (XSS) 3. Stored XSS (inyección de código almacenado) 4. Unauthenticated Stored XSS(sin privilegios) 5. SQL Injection 6. Authenticated Stored XSS & CSRF(falsificación de petición en sitios cruzados) 7. Server Side Request Forgery (SSRF ) Tipos de vulnerabilidades de aplicación
  • 7. 4.PRUEBAS DE SEGURIDAD a. Recopilación de Información Información sobre la aplicación Formas Probar la mayor cantidad de base de código Pruebas de intrusión Descubrimiento de aplicaciones Spiders, robots, crawlers Revisión de comentarios y metadata Identificación puntos de entrada/salida Análisis de código de error Reconocimiento mediante motores de búsqueda
  • 8. B. PRUEBAS DE GESTIÓN DE LA CONFIGURACIÓN Análisis sobre la infraestructura o topología Obtener datos Configuraciones de la infraestructura Funcionalidades Administrativas Métodos de Autenticación Código fuente Métodos HTTP
  • 9. b.pruebas de gestión de la configuración 54321 54321
  • 10. c. Pruebas lógicas de negociación ● manipular los parámetros ● datos de entrada ● moulos ● con códigos dañinos para comprobar si es posible evadir el flujo de trabajo ya que gestiona varios procesos diferentes Requiere mayor nivel de creatividad por parte del especialista en seguridades
  • 11. d. pruebas de autenticación múltiples factores de autenticación Se incluyen las pruebas de fortaleza de los sistemas de preguntas y respuestas, cambio y reinicio de contraseñas, políticas de creación de contraseñas y descubrimiento de mecanismo de autentificación Es el proceso de intentar verificar la identidad digital del remitente de la comunicación ● enumeración de usuarios ● pruebas de diccionario sobre cuentas de usuario ● comprobar sistemas de recordatorio/ restauración de contraseñas pruebas de gestión de caché de navegación
  • 12. E. pruebas de AUTORIZACIÓN Autorización es el concepto de permitir el acceso a recursos únicamente a aquellos que tienen permiso para ello. Las pruebas de Autorización significan entender cómo funciona el proceso de autorización, y usar esa información para saltarse el mecanismo de autorización.
  • 13. F. pruebas de gestión de sesiones La gestión de sesiones cubre ampliamente todos los controles que se realizan sobre el usuario, desde la autenticación hasta la salida de la aplicación. HTTP es un protocolo sin estados, lo que significa que los servidores web responden a las peticiones de clientes sin enlazarlas entre sí. Es importante que la seguridad de la aplicación sea considerada en el contexto de los requisitos y expectativas del proveedor
  • 14. 7. validación de datos La debilidad más común en la seguridad de aplicaciones web, es la falta de una validación adecuada de las entradas procedentes del cliente o del entorno de la aplicación. Esta debilidad conduce a casi todas las principales vulnerabilidades en aplicaciones, como inyecciones sobre el intérprete y desbordamientos de búfer.
  • 15. 7. DEnegación de servicio El concepto fundamental de un ataque DoS de red es un usuario malicioso inundando con suficiente tráfico una máquina objetivo para conseguir hacerla incapaz de sostener el volumen de peticiones que recibe. Cuando el usuario malicioso emplea un gran número de máquinas para inundar de tráfico una sola máquina objetivo, se conoce generalmente como ataque denegación de servicio distribuidos (DDoS).
  • 16. Pruebas de servicios Web Los servicios web y SOA (Arquitectura Orientada a Servicios) son aplicaciones en expansión que están permitiendo que los negocios interoperan y crezcan a un ritmo sin precedentes. Los clientes de servicios web generalmente no son frontales web, sino otros servidores. Los servicios web están expuestos a la red como cualquier otro servicio, pero pueden ser utilizados en HTTP, FTP, SMTP o acompañados de cualquier otro protocolo de transporte Las vulnerabilidades en servicios web son similares a otras vulnerabilidades como la inyección SQL, revelación de información, etc, pero también tienen vulnerabilidades de XML..
  • 17. Pruebas Ajax El uso de técnicas AJAX puede tener enormes beneficios de usabilidad para aplicaciones web. Sin embargo, desde un punto de vista de seguridad, las aplicaciones AJAX tienen una mayor superficie de ataque que las aplicaciones web normales, y a menudo se desarrollan con un enfoque en lo que se puede hacer en lugar de lo que se debe hacer. Problemas de seguridad en AJAX ● Mayor superficie de ataque con muchas más entradas para asegurar. ● Funciones internas expuestas de la aplicación. ● Acceso del cliente a recursos de terceros sin mecanismos de codificación y seguridad incorporados ● Fallo al proteger la información de autenticación y las sesiones ● Línea borrosa entre el lado del cliente y el código del lado del servidor, posiblemente dando como resultado errores de seguridad
  • 18. proyectos emblemáticos owasp Proyectos que han demostrado un valor estratégico para OWASP y la seguridad de la aplicación en su conjunto. El Proxy Zed Attack (ZAP) de OWASP es una de las herramientas de seguridad gratuitas más populares del mundo y es mantenido activamente por cientos de voluntarios internacionales
  • 19. 8. Fallas de seguridad de las aplicaciones web A.INYECCIÓN ● Ocurre cuando un atacante envía datos inválidos a la aplicación web con la intención de hacerla hacer algo distinto para lo que fue diseñada/programada. ● El núcleo de una vulnerabilidad de inyección de código es la falta de validación de los datos consumidos por la aplicación web. Lo que significa que esta vulnerabilidad puede estar presente en casi cualquier tipo de tecnología. ● Todo lo que acepte parámetros como entradas puede ser potencialmente vulnerable a un ataque de inyección de código.
  • 20. ¿Cómo se previenen las vulnerabilidades de inyecciones de código? · La opción preferida es usar una API segura que evite el uso del intérprete de manera completa, o provea una interfaz parametrizada. · Usa un “whitelist” como validación de datos del lado del servidor. · Usa LIMIT y otros controles SQL dentro de la consulta para prevenir la divulgación en masa de registros en el caso de una inyección SQL exitosa. · Separación de datos con la lógica de la aplicación web · Ajustes para limitar la exposición de datos en caso de ataques de inyección exitosos
  • 21. B. autenticación rota ● Permite a los atacantes usar medios manuales y/o automáticos para tratar de ganar control sobre una de las cuentas en el sistema, o peor, para ganar control completo del sistema. ● La autenticación rota usualmente se debe a problemas de lógica en el mecanismo de autenticación de la aplicación, como el mal manejo de sesiones o el listado de nombres de usuarios. ● La segunda forma más común de esta vulnerabilidad es permitir que los usuarios hagan ataques de fuerza bruta contra esas páginas utilizando combinaciones de nombres de usuario y contraseñas.
  • 22. ¿Cómo se previenen las vulnerabilidades de autenticación rota? ● Siempre que sea posible, implementa autenticación multi-factor ● No despliegues ninguna credencial por defecto, sobre todo para los usuarios administradores. ● Implementa verificaciones de contraseñas débiles ● Limita o incrementa cada vez más los intentos de inicio de sesión fallidos. Registra todos los intentos fallidos y alerta a los administradores cuando se detecten ataques de credential stuffing, fuerza bruta u otros. ● Usa un gestor de sesiones integrado y seguro que genere un nuevo ID de sesión aleatorio luego del inicio de sesión. ● Los IDs también deben estar almacenados de forma segura y ser invalidados luego de cerrar la sesión, tiempos de inactividad y tiempos absolutos.
  • 23. c. Exposición a datos sensibles En julio de 2018, Chrome comenzó a marcar todas las páginas utilizando HTTP como no seguro en un impulso para convertir la web a HTTPS . Y por una buena razón. Los datos que se pasan a través de HTTP no están encriptados. Prevención: el cifrado es la mejor manera de prevenir la exposición de datos confidenciales, deben estar protegidos con protocolos como TLS y SSL. Se recomienda utilizar cifrados perfectos de seguridad directa (PFS), priorización de cifrado por el servidor y parámetros seguros. Proteja los datos en reposo cifrando los datos almacenados cuando sea posible. Nunca almacene contraseñas como texto sin formato, es preferible utilizar “la sal” y cifrar con funciones hash como Argon2 y scrypt.
  • 24. D. ENTIDADES EXTERNAS XML Un analizador XML es engañado para que haga referencia a una entidad externa manipulada. El ataque puede llevar a datos confidenciales comprometidos, ataques de denegación de servicio (DoS) y falsificaciones de solicitudes del lado del servidor (SSRF), entre otros impactos del sistema. Prevención: deshabilitar las entidades externas y el procesamiento DTD (definición del tipo de documento) en todos los analizadores XML de la aplicación. Evitar la serialización de datos confidenciales y utilizar formatos de datos menos complejos, como JSON. Mantenga al día todos los procesadores XML y las bibliotecas. Implementar la validación de entrada del lado del servidor (por ejemplo, listas blancas).
  • 25. F. Proyectos de código de owaspSe divide en dos:
  • 27. G.-Proyecto de seguridad backend OWASP El objetivo de este proyecto OWASP es crear una nueva guía que permita a los desarrolladores, administradores y evaluadores comprender cualquier parte del proceso de seguridad acerca de los componentes de back-end que se comunican directamente con las aplicaciones web, así como las bases de datos, ldaps, pasarela de pago, y mucho más. El proyecto está compuesto por tres secciones (desarrollo de seguridad, fortalecimiento de seguridad y pruebas de seguridad). El objetivo es definir las directrices para las empresas y los profesionales de TI que trabajan en el campo de la seguridad en el desarrollo de procesos y la gestión / pruebas de componentes de back-end en la arquitectura empresarial.
  • 28. 14 ConTROL DE ACCESO REMOTO
  • 29. 14 Configuración de seguridad incorrecta
  • 30. 15. Secuencias de comandos entre sitios ● Mediante correos engañosos. ● Atacantes utilizan un buscador insertando un mensaje de alerta en JavaScript o mensaje en HTML.
  • 31. CÓMO IDENTIFICAR ESTA VULNERABILIDAD Las aplicaciones ofrecen páginas de salida utilizando intérpretes como: ● JavaScript ● ActiveX ● Flash o Silverlight. dificultando la detección automática de las vulnerabilidades de XSS, sin embargo se podrían obviar aplicando técnicas de revisión de código y pruebas de penetración en forma manual.
  • 32. PREVENCIÓN ● Separar los datos no confiables basados en HTML del contenido activo del navegador, para ello OWASP ofrece algunos de trucos o “cheat Sheets” para aplicar las técnicas en las rutinas de programación de una aplicación WEB. ● Se deben validar las entradas positivas o de lista blanca.
  • 33. 16. Usos de componentes con vulnerabilidad desconocida La aplicación es vulnerable si: ● No conoce las versiones de todos los componentes que utiliza (tanto del lado del cliente como del servidor). Esto incluye componentes utilizados directamente como sus dependencias anidadas. ● No se analizan los componentes periódicamente ni se realiza seguimiento de los boletines de seguridad de los componentes utilizados. ● El software es vulnerable, no posee soporte o se encuentra desactualizado. Esto incluye el sistema operativo, servidor web o de aplicaciones, DBMS, APIs y todos los componentes, ambientes de ejecución y bibliotecas
  • 34. 16. Usos de componentes con vulnerabilidad desconocida Cómo se previene ● Remover dependencias, funcionalidades, componentes, archivos y documentación innecesaria y no utilizada. ● Utilizar una herramienta para mantener un inventario de versiones de componentes (por ej. frameworkso bibliotecas) tanto del cliente como del servidor. Por ejemplo, Dependency Checky retire.js. ● Obtener componentes únicamente de orígenes oficiales utilizando canales seguros. Utilizar preferentemente paquetes firmados con el fin de reducir las probabilidades de uso de versiones manipuladas maliciosamente
  • 35. 16. Usos de componentes con vulnerabilidad desconocida
  • 36. 16. Usos de componentes con vulnerabilidad desconocida Ejemplos de escenarios de ataque Escenario #1: típicamente, los componentes se ejecutan con los mismos privilegios de la aplicación que los contienen y, como consecuencia, fallas en éstos pueden resultar en impactos serios. Estas fallas pueden ser accidentales (por ejemplo, errores de codificación) o intencionales (una puerta trasera en un componente).
  • 37.
  • 38. Referencias Sierra, T. (2019). Tipos de vulnerabilidades en aplicaciones web | Tomás Sierra. Retrieved from https://tomassierra.com/tipos-de-vulnerabilidades-en- aplicaciones-web/

Notas del editor

  1. Recopilación de información: 1ra fase para evaluación de seguridad -> Recoger tanta información como sea posible sobre la aplicación. Paso necesario para la prueba de intrusión La prueba de seguridad debe esforzarse por probar la mayor cantidad posible de la base del código. Por lo tanto, la asignación de todos los caminos posibles a través del código para facilitar las pruebas completas es primordial. Herramientas públicas (motores de búsqueda), escáneres, envío de solicitudes HTTP simples o solicitudes especialmente diseñadas, es posible forzar a la aplicación a filtrar información, por ejemplo, revelar mensajes de error o revelar las versiones y tecnologías utilizadas. Spiders, robots y crawlers: explorar y capturar recursos relacionados con la aplicación que se está probando. Análisis de códigos de error: Durante una prueba de penetración, las aplicaciones web pueden divulgar información que no debe ser vista por un usuario final. La información como los códigos de error puede informar al probador sobre las tecnologías y los productos que utiliza la aplicación. En muchos casos, los códigos de error pueden invocarse fácilmente sin la necesidad de habilidades o herramientas especializadas, debido a la mala excepción en el diseño y la codificación.
  2. Los análisis sobre la infraestructura o topología de la arquitectura pueden revelar datos importantes sobre una aplicación web. Se pueden obtener datos como por ejemplo el código fuente, los métodos HTTP permitidos, funcionalidades administrativas, métodos de autenticación y configuraciones de la infraestructura