<summary><strong>Aprende hacking en AWS de cero a héroe con</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Si quieres ver a tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de GitHub de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
Usa [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias **más avanzadas** del mundo.\
* La documentación utiliza el formato **WSDL** y generalmente se guarda en la ruta `?wsdl` como `https://api.example.com/api/?wsdl`
* Un ejemplo de esta documentación se puede encontrar en [http://www.dneonline.com/calculator.asmx](http://www.dneonline.com/calculator.asmx) (documento WSDL en [http://www.dneonline.com/calculator.asmx?wsdl](http://www.dneonline.com/calculator.asmx?wsdl)) y puedes ver un ejemplo de solicitud llamando al método `Add` en [http://www.dneonline.com/calculator.asmx?op=Add](http://www.dneonline.com/calculator.asmx?op=Add)
* Para analizar estos archivos y crear solicitudes de ejemplo puedes usar la herramienta **SOAPUI** o la extensión **WSDLer** de Burp Suite.
* La documentación estándar es el archivo WADL. Encuentra un ejemplo aquí: [https://www.w3.org/Submission/wadl/](https://www.w3.org/Submission/wadl/). Sin embargo, hay otros motores de representación de API más amigables para los desarrolladores como [https://swagger.io/tools/swagger-ui/](https://swagger.io/tools/swagger-ui/) (revisa la demo en la página)
* [**VAmPI**](https://github.com/erev0s/VAmPI)**:** VAmPI es una API vulnerable hecha con Flask e incluye vulnerabilidades del top 10 de OWASP para APIs.
Este tipo de APIs pueden ser [**vulnerables a XXE**](../../pentesting-web/xxe-xee-xml-external-entity.md), pero generalmente las **Declaraciones DTD** están **prohibidas** en la entrada del usuario.
Usualmente algunos puntos finales de la API van a necesitar más privilegios que otros. Siempre intenta acceder a los puntos finales más privilegiados desde cuentas menos privilegiadas (no autorizadas) para ver si es posible.
Siempre verifica la configuración de [**CORS**](../../pentesting-web/cors-bypass.md) de la API, ya que si permite enviar solicitudes con las credenciales desde el dominio del atacante, se puede hacer mucho daño a través de [**CSRF**](../../pentesting-web/csrf-cross-site-request-forgery.md) desde víctimas autenticadas.
Busca patrones de API dentro de la api e intenta usarlos para descubrir más.\
Si encuentras _/api/albums/**\<album_id>**/photos/**\<photo_id>**_\*\* \*\* podrías intentar también cosas como _/api/**posts**/\<post_id>/**comment**/_. Usa algún fuzzer para descubrir estos nuevos puntos finales.
Podrías **reemplazar** el parámetro **`album_id`** con algo completamente diferente y potencialmente obtener otros datos: _/api/albums?**account_id=\<account id>**_
Puedes intentar usar los métodos HTTP: **GET, POST, PUT, DELETE, PATCH, INVENTED** para comprobar si el servidor web te proporciona información inesperada con ellos.
Intenta jugar entre los siguientes tipos de contenido (modificando acordemente el cuerpo de la solicitud) para hacer que el servidor web se comporte de manera inesperada:
En este repositorio encontrarás: Mapas mentales, consejos y trucos, recursos y todo lo relacionado con la Seguridad de API y el Pentesting de API. Nuestros mapas mentales y recursos se basan en OWASP TOP 10 API, nuestra experiencia en Pentesting y otros recursos para ofrecer el recurso de seguridad y pentesting de API más avanzado y preciso en la WEB!!
La primera puerta para entrar al Imperio de Seguridad de API es saber cómo recopilar información sobre la infraestructura de la API y cómo realizar un recon potente en la API para extraer las puertas ocultas que te permitirán comprometer toda la infraestructura, por lo tanto, proporcionamos este mapa mental de recon de API actualizado con las últimas herramientas y metodologías en recon de API:
Debido a los ataques limitados en GraphQL, intentamos generar todos los posibles ataques debido a nuestra experiencia en pruebas de APIs en el siguiente mapa mental:
Lee este documento para aprender cómo **buscar** y **explotar** vulnerabilidades de Owasp Top 10 API: [https://github.com/OWASP/API-Security/blob/master/2019/en/dist/owasp-api-security-top-10.pdf](https://github.com/OWASP/API-Security/blob/master/2019/en/dist/owasp-api-security-top-10.pdf)
* [**automatic-api-attack-tool**](https://github.com/imperva/automatic-api-attack-tool): La herramienta de ataque API personalizable de Imperva toma una especificación de API como entrada, genera y ejecuta ataques basados en ella como salida.
* [**Astra**](https://github.com/flipkart-incubator/Astra): Otra herramienta para pruebas de api para encontrar varias vulnerabilidades web diferentes.
* [**Susanoo**](https://github.com/ant4g0nist/Susanoo): Escáner de vulnerabilidades API.
* [**restler-fuzzer**](https://github.com/microsoft/restler-fuzzer): RESTler es la _primera herramienta de fuzzing REST API con estado_ para probar automáticamente servicios en la nube a través de sus REST APIs y encontrar errores de seguridad y fiabilidad en estos servicios. Para un servicio en la nube dado con una especificación OpenAPI/Swagger, RESTler analiza toda la especificación, y luego genera y ejecuta pruebas que ejercitan el servicio a través de su REST API.
* [**TnT-Fuzzer**](https://github.com/Teebytes/TnT-Fuzzer)**:** TnT-Fuzzer es un fuzzer OpenAPI (swagger) escrito en python.
* [**APIFuzzer**](https://github.com/KissPeter/APIFuzzer)**:** APIFuzzer lee la descripción de tu API y paso a paso hace fuzzing de los campos para validar si tu aplicación puede manejar los parámetros alterados.
* [**API-fuzzer**](https://github.com/Fuzzapi/API-fuzzer): La gema API\_Fuzzer acepta una solicitud de API como entrada y devuelve vulnerabilidades posibles en la API.
* [**race-the-web**](https://github.com/TheHackerDev/race-the-web): Pruebas de condiciones de carrera en aplicaciones web enviando un número especificado por el usuario de solicitudes a una URL objetivo (o URLs) _simultáneamente_, y luego compara las respuestas del servidor en busca de unicidad.
Usa [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente, impulsados por las herramientas comunitarias **más avanzadas**.\
<summary><strong>Aprende hacking de AWS de cero a héroe con</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sigue** a **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de github** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).