Hacking APIs: Difference between revisions

From Enlace Hacktivista
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 16: Line 16:


== Tools ==
== Tools ==
* A collection of API Security tools and resources: https://github.com/arainho/awesome-api-security
* A collection of API Security tools and resources: https://github.com/arainho/awesome-api-security
* Organize your API security assessment by using MindAPI - Bringing order to API hacking chaos!: https://github.com/dsopas/MindAPI | [https://dsopas.github.io/MindAPI/play/ MindAPI]
* Organize your API security assessment by using MindAPI - Bringing order to API hacking chaos!: https://github.com/dsopas/MindAPI | [https://dsopas.github.io/MindAPI/play/ MindAPI]
* Decode JSON Web Tokens (Online): https://jwt.io
* Decode JSON Web Tokens (Online): https://jwt.io
* [https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/JSON%20Web%20Token JWT - JSON Web Token]
* [https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/JSON%20Web%20Token JWT - JSON Web Token]
=== Intercepting proxies ===
These let you view, edit, and replay requests, and are extremely useful for finding vulnerabilities in web applications, mobile and APIs.
* https://portswigger.net/burp (If a WAF is blocking Burpsuite then [https://stackoverflow.com/questions/70129432/how-to-bypass-cloudflare-protection-with-burp try editing your user-agent string])
* https://www.zaproxy.org
* https://mitmproxy.org
* https://www.postman.com [https://enlacehacktivista.org/index.php?title=Learn_to_hack#API_Hacking (API focused)]
* https://github.com/projectdiscovery/proxify


=== Fuzzing ===
=== Fuzzing ===
Line 34: Line 41:
# https://wordlists-cdn.assetnote.io/data/kiterunner/swagger-wordlist.txt
# https://wordlists-cdn.assetnote.io/data/kiterunner/swagger-wordlist.txt
* https://wordlists.assetnote.io
* https://wordlists.assetnote.io
== Intercepting proxies ==
These let you view, edit, and replay requests, and are extremely useful for finding vulnerabilities in web applications, mobile and APIs.
* https://portswigger.net/burp (If a WAF is blocking Burpsuite then [https://stackoverflow.com/questions/70129432/how-to-bypass-cloudflare-protection-with-burp try editing your user-agent string])
* https://www.zaproxy.org
* https://mitmproxy.org
* https://www.postman.com [https://enlacehacktivista.org/index.php?title=Learn_to_hack#API_Hacking (API focused)]
* https://github.com/projectdiscovery/proxify

Revision as of 18:00, 7 August 2023

Web Application Programming Interfaces (APIs) make up 83% of all web traffic. Organizations are using them more and more to deliver content, handle and transfer data and to implement more functionality into their services and web applications, not to mention APIs have direct back-end database access. Knights white paper show cases how web APIs can be exploited via API1:2023 - Broken Object Level Authorization (BOLA) to transfer money in and out of bank accounts and change Visa ATM debit PIN codes. Exploiting web APIs has also been a vector for a lot of data breaches.

Currently there is a severe lack of security testing against APIs (mobile APIs especially) from the white hats, not a lot of efforts in testing and protecting APIs and typically organizations "protect" their APIs using WAFs which are ineffective at defending APIs as they are designed to protect web applications. It's an easier attack vector (for now). Learn how to hack web APIs to facilitate your targeted attacks!

Labs

Prerequisite reading

Tools

Intercepting proxies

These let you view, edit, and replay requests, and are extremely useful for finding vulnerabilities in web applications, mobile and APIs.

Fuzzing

Wordlists

  • Web API specific wordlists - See Fuzzing:
  1. https://wordlists-cdn.assetnote.io/rawdata/kiterunner/routes-large.json.tar.gz
  2. https://wordlists-cdn.assetnote.io/data/kiterunner/routes-large.kite.tar.gz
  3. https://wordlists-cdn.assetnote.io/rawdata/kiterunner/routes-small.json.tar.gz
  4. https://wordlists-cdn.assetnote.io/data/kiterunner/routes-small.kite.tar.gz
  5. https://wordlists-cdn.assetnote.io/rawdata/kiterunner/swagger-files.tar
  6. https://wordlists-cdn.assetnote.io/data/kiterunner/swagger-wordlist.txt