cripto final Flashcards
que es STRIDE?
Spoofing
Tempering
Repudiation
Information disclosure
Denial of service
Elevation of privilege
lista de vulnerabilidades
- SQL Injection
- CSRF (cross site request forgery)
- CXSS Cross-Site Scripting
- Improper Authentication
- Missing Authorization
- Sensitive Data Exposure
- Buffer Overflow
- Integer Overflow
- Unrestricted Upload of file with dangerous Type
- Path traversal
- Allocation of Resources Without Limits or Throttling
SQL Injection
Amenazas:
- Information disclosure ⇒ viola confidencialidad
- Spoofing ⇒ viola autenticación
- Tampering ⇒ viola integridad
Ocurre cuando no se limpian ni se filtran los datos que ingresan los usuarios.
Pruebas:
- ingresar en campos “a’ or ‘1=1” por si se ejecuta “SELECT * FROM accounts WHERE custID=’a’ or ‘1=1’”, que da
siempre true.
-
Cross Site Request Forgery (CSRF)
Amenaza:
- Information disclosure ⇒ viola confidencialidad
- Repudiation ⇒ viola non repudiation
- Denial of service ⇒ viola disponibilidad
- Tampering ⇒ viola integridad
La aplicación web no verifica o no puede verificar si el request fue intencionalmente
provisto por el usuario que envío la request.
Pruebas:
- <a \href=”http://bank.com/transfer.do?
acct=GASTI&amount=100000”>Hace click!</a>
XSS (Cross-Site Scripting)
Amenazas:
- Information disclosure ⇒ viola confidencialidad
- Denial of service ⇒ viola disponibilidad
- Tampering ⇒ viola integridad
aprovecha la falta de mecanismos de filtrado en los campos de entrada , aceptando el
envío de scripts completos.
Pruebas:
- Probar “<script>alert(’hola’)</script> en los inputs. De ejecutarse dicha alerta, la
página es vulnerable ante ataques XSS.
- Crear una URL incluyendo como parámetro algún comando malicioso. Acceder a
dicha URL y analizar si se ejecuta dicho comando.
Improper Authentication
Amenazas:
- Tampering ⇒ viola integridad
- Information disclosure ⇒ viola confidencialidad
- Denial of service ⇒ viola disponibilidad
Funciones de la aplicación relacionadas a autenticación se implementan
incorrectamente.
Pruebas:
- Intentar acceder al sitio sin autenticarse
- Intentar registrarse con contraseñas débiles
- Probar usuarios y contraseñas comunes
Missing Authorization
Amenazas:
- Tampering ⇒ viola integridad
- Information disclosure ⇒ viola confidencialidad
Si no se hacen los controles
necesarios, los usuarios podrían acceder a información sensible.
Pruebas:
- Hacer accesos directos (Ej. desde Postman)
- Intentar acceder a recursos no permitidos por los distintos roles
Sensitive Data Exposure
Amenazas:
- Information disclosure ⇒ viola confidencialidad
- Tampering ⇒ viola integridad
- Spoofing ⇒ viola autenticación
Muchas aplicaciones no protegen lo suficiente los datos sensibles (Ej. tarjetas de crédito).
Pruebas:
- Downgrade el protocolo a alguno vulnerable
- Probar SQL Injection sobre datos sensibles y analizar si los devuelve
- Hacer un ataque activo del tipo man-in-the-middle
Buffer Overflow
Amenazas:
- Tampering ⇒ viola integridad
- Information disclosure ⇒ viola confidencialidad
- Denial of service ⇒ viola disponibilidad
El programa copia una cantidad de datos sobre un área que no es lo suficientemente
grande para contenerlos, sobreescribiendo otras zonas de memoria.
Pruebas:
- Intentar acceder a un out of bound index
- Intentar copiar algo grande a un buffer de tamaño determinado, si se pisa es que
no se están haciendo los chequeos necesarios
Integer Overflow
Amenaza(s):
- Denial of service ⇒ viola disponibilidad
- Tampering ⇒ viola integridad
- Information disclosure ⇒ viola confidencialidad en casos en el que la vulnerabilidad
provoque un buffer overflow
Pruebas:
- Ingresar números fuera del rango esperado y ver que pasa
- Hacer pruebas desde la aplicación pero también pegando directo al servidor
Unrestricted Upload of File with Dangerous Type
Amenaza(s):
- Tampering ⇒ viola integridad
- Denial of service ⇒ viola disponibilidad
- Information disclosure ⇒ viola confidencialidad
El software permite que el atacante sube o transfiera archivos peligrosos, por ejemplo un archivo que es interpretado y ejecutado como código por el receptor (Ej. una imagen que en vez de tener extensión .gif tiene extensión .php).
Pruebas:
- Subir archivos con distintas extensiones y analizar que ocurre
- Subir archivos con doble extensión (Ej. archivo.php.gif) dado que algunos servidores procesan archivos basados en extensiones internas
Path traversal
Amenaza(s):
- Tampering ⇒ viola integridad
- Denial of service ⇒ viola disponibilidad
- Information disclosure ⇒ viola confidencialidad
La finalidad de este ataque es ordenar a la aplicación a acceder a un archivo al que no
debería poder acceder o no debería ser accesible. También es conocido el ataque punto punto barra (../), escalado
de directorios y backtracking.
Pruebas:
- Probar todos los parámetros relacionados a archivos en las URLs e ingresar
parámetros de tipo “../etc/passwd” o simplemente “../” para ver si estamos
accediendo algún archivo que no tendríamos que acceder
Allocation of Resources Without Limits or Throttling
Amenaza(s):
- Denial of service ⇒ viola disponibilidad
Esta vulnerabilidad se da cuando el software no controla correctamente la alocación y
el mantenimiento de recursos limitados.
Pruebas: dentro de un ambiente de prueba
- Intentar pedir muchos recursos y ver si se rompe el sistema. También se puede probar
para usuarios de distintos roles con distintos accesos para ver si el sistema maneja
bien la autorización.