Conoce las vulnerabilidades definidas en la guía OWASP API Security Project.
2023-10-12 00:0:7 Author: thehackerway.com(查看原文) 阅读量:13 收藏

Vídeo en YouTube

Si un cliente o tu empresa te pide hacer pentesting sobre una API Rest, ¿cómo lo enfocas?, ¿debes seguir los mismos principios que en las aplicaciones web tradicionales?
Las API Rest se basan en el protocolo HTTP, por lo tanto, aquí también puedes (y debes) aplicar otras metodologías comunes para el pentesting web, tales como el OWASP Top 10, WSTG, etc.

Pero, el contexto de ejecución de una API Rest es un tanto particular y, la forma en la que se crean estos componentes, también es diferente a las aplicaciones web que estamos acostumbrados.

Por ese motivo, no basta con fijarse en las metodologías que ya conocemos y aplicar las mismas pruebas, hay que utilizar otro enfoque. Esta es la razón por la cual en el año 2019 ha surgido la guía OWASP API Security Project. Sigue la misma filosofía del OWASP Top 10, este proyecto pretende listar las vulnerabilidades más habituales en servicios web, las cuales pueden afectar tanto a una API Rest como servicios SOAP.

¿Cuáles son las vulnerabilidades que se listan en este proyecto?

Te las resumo a continuación.

En la guía del 2019, las categorías son las siguientes:

  • API1: Broken Object Level Authorization
  • API2: Broken User Authentication
  • API3: Excessive Data Exposure
  • API4: Lack of Resources and Rate Limiting
  • API5: Broken Function Level Authorization
  • API6: Mass Assignment
  • API7: Security Misconfiguration
  • API8: Injection
  • API9: Improper Assets Management
  • API10: Insufficient Logging and Monitoring

Luego, en el 2023 el proyecto tiene algunos cambios, pero los defectos y sus categorías son prácticamente los mismos.

  • API1:2023 – Broken Object Level Authorization
  • API2:2023 – Broken Authentication
  • API3:2023 – Broken Object Property Level Authorization
  • API4:2023 – Unrestricted Resource Consumption
  • API5:2023 – Broken Function Level Authorization
  • API6:2023 – Unrestricted Access to Sensitive Business Flows
  • API7:2023 – Server Side Request Forgery
  • API8:2023 – Security Misconfiguration
  • API9:2023 – Improper Inventory Management
  • API10:2023 – Unsafe Consumption of APIs

Ahora te explico las principales categorías de ambas guías para que entiendas en qué consisten.

Broken Object Level Authorization

Se produce cuando se expone un endpoint que gestiona identificadores a objetos de forma insegura, permitiendo a un potencial atacante, consultar, crear, manipular o eliminar objetos en la API Rest sin autorización y sin necesidad de estar autenticado.

Broken User Authentication

Se produce cuando se implementan mecanismos de autenticación inseguros o vulnerables. Si esto ocurre, un atacante puede suplantar la identidad de un usuario en la aplicación o realizar otros tipos de ataques que le proporcionan acceso.

Excessive Data Exposure

En las API Rest, es muy común exponer más información de la necesaria en las respuestas de los endpoints y, en ocasiones, dicha información puede ser sensible y darle una oportunidad a un atacante de llevar a cabo ataques sobre la infraestructura.

Lack of Resources and Rate Limiting

Si una API Rest no impone restricciones sobre el tamaño o número de recursos que se pueden solicitar en un período de tiempo determinado, se pueden llevar a cabo ataques de denegación de servicio (DoS) y afectar el rendimiento general del servidor.

Broken Function Level Authorization

La gestión de roles y permisos en las aplicaciones web suelen ser difíciles de gestionar. Esta categoría indica que se pueden producir problemas cuando un usuario autenticado tiene la posibilidad de ejecutar operaciones que, debido a su perfil de usuario, no debería poder ejecutar.

Mass Assignment

Esta es, probablemente, la más difícil de probar, pero al mismo tiempo, una de las más frecuentes. Cuando un atacante conoce la estructura de un objeto en la API debido a fugas de información o análisis previo de la aplicación, puede construir peticiones en las que se envíen campos en la estructura JSON que cambien el modelo de datos subyacente. A efectos prácticos, este tipo de vulnerabilidad puede conducir a la elevación de privilegios en la aplicación o la suplantación de usuarios.

Suele ser el resultado de configuraciones por defecto o procesos de implantación mal aplicados. Es el mismo tipo de vulnerabilidad que te encuentras en las últimas versiones del OWASP Top 10

Improper Assets Management

Se produce cuando no se tiene un control sobre el inventario de endpoints de la aplicación y, algunos de ellos, tienen defectos, vulnerabilidades o proporcionan información sensible al usuario final.

Como puedes apreciar, se trata de un proyecto muy interesante que recomiendo estudiar en profundidad. Además, si no lo has hecho ya, te recomiendo apuntarte al curso online de Hacking contra APIs Rest disponible en la plataforma The Hacker Way.

En dicho curso aprenderás a realizar auditorías de seguridad sobre este tipo de componentes, algo que sin duda aportará valor a tu perfil profesional y te ayudará a mejorar profesionalmente.


Recuerda que puedes registrarte en la comunidad THW: https://comunidad.thehackerway.es/registro

En este sitio web recibirás anuncios sobre ofertas de trabajo y novedades del sector, además podrás participar en los foros y ganar premios por ello.
Puedes acceder a los cursos cortos y artículos con una suscripción: https://comunidad.thehackerway.es/suscripcion

El objetivo de los contenidos de la suscripción es que te sean útiles para comprender por qué no consigues trabajo en el sector o mejoras profesionalmente y, por supuesto, proponerte ideas para mejorar esa situación.

Por otro lado, también tienes todas las formaciones y packs de The Hacker Way. Las mejores formaciones en castellano que podrás encontrar. Y no lo digo yo, puedes ver las reseñas en el sitio web. Más de 500 alumnos han aprovechado los cursos online en THW y tú también podrías ser uno de ellos: https://thehackerway.es/cursos

¡Un saludo y Happy Hack!
Adastra.


文章来源: https://thehackerway.com/2023/10/11/conoce-las-vulnerabilidades-definidas-en-la-guia-owasp-api-security-project/
如有侵权请联系:admin#unsafe.sh