Security Notes
  • Whoami
  • Pentesting
    • WEP-Pen
      • Reconnaissance
      • Enumeration
      • OWSAP TOP 10
        • Injection
          • Cross Site Scripting
            • Cross Site Scripting
            • Exploitation
            • Protections
          • SQL Injection
            • SQL Injection Overview
          • NoSQL Injection
          • CRLF Injection
          • XML Injection
        • Broken Access Control
          • Path Traversal
          • Sensitive Cookie with Improper SameSite Attribute
          • Link Following
          • Incorrect Default Permissions
          • Information disclosure
          • CSRF
            • csrf checklist
          • 403 bypass
          • Exposure of WSDL File Containing Sensitive Information
          • bussiness logic checklist
          • 2FA bypass checklist
          • admin panal checklist
          • idor checklist
          • Authentication checklist
          • reset_password_checklist
          • ATO
        • Cryptographic Failures
          • Cryptographic Failure
          • Weak Encoding for Password
          • Improper Following of a Certificate's Chain of Trust
            • Understanding Digital Certificates : Self-Signed and CA-Signed Certificate **
            • Transport Layer Security (TLS) and SSL **
          • Clear Text Transmission Of Sensitive Data
            • SSLStripping **
        • Insecure Design
        • Security Misconfiguration
          • CORS Miscofigration
          • Mail Server Misconfiguration
        • Vulnerable and Outdated Components
          • Using Components with Known Vulnerabilities
        • Identification and Authentication Failures
          • JWT Hacking
          • SAML Authentication bypass
        • Software and Data Integrity Failures
          • mass assignment
          • PostMessage Vulnerabilities
            • PostMessage Vulnerabilities
            • Blocking main page to steal postmessage
            • Bypassing SOP with Iframes - part 1
            • Bypassing SOP with Iframes - part 2
            • Steal postmessage modifying iframe location
        • Security Logging and Monitoring Failures
        • Server-Side Request Forgery (SSRF)
          • SSRF
      • Checklists
        • aem misconfiguration
        • exif_geo
        • xss
        • Session Management
        • Authorization
        • cookie
        • Django
        • Symfony
        • json
        • bypass rate limit
        • Rce
        • Register Page
      • eWPTXv2 Preparation
        • Encoding & Filtering
        • Evasion Basics
        • Cross-site scripting (XSS)
        • XSS Filter Evasion
        • Cross-site request forgery (CSRF
        • HTML5
      • API-Pen
        • API Discovry
        • Reverse Engineering API Documentation
        • Excessive Data Exposure
        • Vulnerability Scanning
        • API Authentication Attacks
          • Classic Authentication Attacks
          • API Token Attacks
        • API Authorization Attacks
          • Broken Object Level Authorization (BOLA)
          • Broken Function Level Authorization
        • Improper Assets Management
        • Mass Assignment
        • SSRF
        • Injection Attacks in API
        • Evasive Maneuvers
        • GraphQL Vulnerabilities
    • NET-Pen
      • Active Directory Pentesting
        • Active Directory Components
        • Initial Attack Vectors
          • LLMNR Poisoning
          • SMB Relay Attacks
          • IPv6 Attacks ( IPv6 DNS Takeover )
          • Printer Hacking
          • Methodology
          • Some Other Attacks
            • Zerologon (CVE-2020-1472)
            • PrintNightmare (CVE-2021-1675)
        • Post-Compromise Attacks
          • Pass Attacks
          • Kerberoasting Attack
          • Token Impersonation Attack
          • LNK File Attack
          • GPP / cPassword Attacks
          • Mimikatz
          • Methodology
        • We've Compromised the Domain
          • Dumping the NTDS.dit
          • Golden Ticket Attacks
          • Methodology
        • Case Study
        • Password Attacks
      • Attack Vectors by Port
        • FTP 21
        • SSH 22
        • Telnet 23 - 2323
        • SMTP 25
        • DNS 53
        • Kerberos 88
        • POP 110-995
        • RPC 111
        • Ident 113
        • NNTP 119
        • NetBIOS 137-138
        • SMB / Samba 135-139, 445
        • MSRPC 135
        • SNMP 161
        • LDAP 389,636
        • Modbus 502
        • OpenSSL 1337
        • Ms-SQL 1433
        • Oracle Listener 1521 1522 1529
        • NFS 2049
        • MySql 3306
        • RDP 3389
        • ADB Android Debug Bridge 5555
        • WinRM 5985 5986
        • VNC 5800 5900
        • Redis 6379
        • Unreal IRC 6667
        • Tomcat 8080
        • MongoDB 27017
        • http 80
      • Network basics
      • Information Gathering
      • Privilege Escalation
        • Windows Privilege Escalation
        • Linux Privilege Escalation
    • write-ups
      • How i found a Privilege Escalation via Impersonation Features feature
      • How I was able to discover ATO Via IDOR vulnerability
      • Easy full Account Takeover via Facebook OAuth Misconfiguration
Powered by GitBook
On this page
  1. Pentesting
  2. WEP-Pen
  3. API-Pen

API Discovry

Web API Indicators

Common API URL Patterns

  • URLs:

    • https://target-name.com/api/v1

    • https://api.target-name.com/v1

    • https://target-name.com/docs

    • https://dev.target-name.com/rest

Directory Names to Look For

  • /api

  • /api/v1

  • /v1, /v2, /v3

  • /rest

  • /swagger, /swagger.json

  • /doc, /docs

  • /graphql, /graphiql, /altair, /playground

Subdomains Indicating API Use

  • api.target-name.com

  • uat.target-name.com

  • dev.target-name.com

  • developer.target-name.com

  • test.target-name.com

HTTP Response Indicators

  • Look for messages such as:

    • {"message": "Missing Authorization token"}

Third-Party Sources for API Information

  • GitHub: Search for API documentation or implementations.

  • Postman Explore: Explore public APIs and their documentation.

  • ProgrammableWeb: Find categorized APIs.

  • APIs Guru: A curated list of APIs.

  • Public APIs GitHub: A collective repository of free APIs.

  • RapidAPI Hub: Access to thousands of APIs.

Passive Reconnaissance

Passive reconnaissance involves gathering information without direct interaction, typically relying on Open Source Intelligence (OSINT).

Tools/Sites for Passive Recon

  • Google Dorking: Use advanced Google search techniques to discover APIs. Example queries:

    • General: target API, target API docs

    • Specific: inurl:"/api/v1" site:target.com

    • Technology-focused: intitle:json site:target.com

    • Additional queries:

  • GitDorking: Search GitHub for API-related files and information. Useful search terms:

    • filename:swagger.json

    • extension:.json

    • Keywords: "api key", "authorization: Bearer", "access_token", "secret", "token"

    GitHub Tabs to Check:

    • Code Tab: Look for relevant files and keywords in the code.

    • Issues Tab: Check for unresolved issues that may involve exposed keys.

    • Pull Requests Tab: Review proposed changes for potential exposed APIs.

  • Shodan: Utilize Shodan to find open APIs and gather details about open ports. Example queries:

  • Wayback Machine: Access archived web pages to find old or deprecated API endpoints (Zombie APIs).

  • TruffleHog: Automate the discovery of exposed secrets in GitHub repositories. Usage Example:

    sudo docker run -it -v "$PWD:/pwd" trufflesecurity/trufflehog:latest github --org=target-name

Active Reconnaissance

Active reconnaissance involves directly interacting with your target, often through scanning to uncover APIs and gather actionable information.

Tools/Sites for Active Recon

  • Nmap: Identify open ports and enumerate HTTP services.

    nmap -sV --script=http-enum <target> -p 80,443,8000,8080
  • Amass: Discover active subdomains and filter for API endpoints. (Don’t forget to include your API keys to check available services using amass enum -list command.)

    amass enum -active -d target-name.com | grep api
  • Gobuster: Use Gobuster with an API-specific wordlist to find directories on a target.

    gobuster dir -u target-name.com:8000 -w /home/hapihacker/api/wordlists/common_apis_160
  • Kiterunner: Discover API endpoints using various HTTP methods. Quick Scan:

    kr scan http://target.com -w ~/api/wordlists/data/kiterunner/routes-large.kite

    Replay Requests:

    kr kb replay "GET .../api/privatisations/count" -w ~/api/wordlists/data/kiterunner/routes-
PreviousAPI-PenNextReverse Engineering API Documentation

Last updated 6 months ago