EX

Exploit-DB

global API

Exploit-DB

Type: vulnerability
Module: ExploitDb

Capabilities

Exploit Search CVE Correlation Platform Filtering Shellcode Archive Google Hacking DB Proof of Concept Code

Try Exploit-DB

API Endpoint

Results

Overview

Exploit-DB is a public archive of exploits and vulnerable software maintained by Offensive Security (the creators of Kali Linux). It is the definitive repository for proof-of-concept exploit code, shellcode, and technical vulnerability papers. Each entry is classified by platform, type, and associated CVE identifier. The archive includes both verified exploits (tested by Offensive Security staff) and community submissions, with a searchable database dating back to the 1990s.

For OSINT and vulnerability intelligence, Exploit-DB provides concrete evidence of exploitability. While the NVD catalogs vulnerabilities, Exploit-DB shows whether working exploit code exists in the wild, making it critical for risk assessment and prioritization during attack surface analysis. The distinction between a theoretical vulnerability and one with a publicly available exploit is the difference between a medium-priority patch and an emergency remediation.

The archive is frequently cited in security advisories, penetration testing reports, and academic research. Its longevity and community trust make it the de facto standard for exploit code publication and archival.

Data Coverage

Data TypeDescription
Exploit CodeWorking proof-of-concept exploit code in multiple languages
CVE MappingAssociated CVE identifiers for each exploit
Platform/TypeTarget OS, application, and exploit type classification
Verification StatusWhether Offensive Security verified the exploit
ShellcodePlatform-specific shellcode payloads (x86, x64, ARM, MIPS)
GHDB DorksGoogle search queries that find vulnerable systems
PapersTechnical vulnerability research papers and write-ups
AuthorExploit author and original disclosure information

Exploit Classification Taxonomy

Exploit-DB classifies entries across multiple dimensions, enabling precise filtering for intelligence workflows:

CategoryTypesDescription
PlatformWindows, Linux, macOS, iOS, Android, HardwareTarget operating system or platform
TypeLocal, Remote, WebApps, DoSAttack vector classification
LanguagePython, C, Ruby, PHP, JavaScript, AssemblyExploit implementation language
VerificationVerified, UnverifiedOffensive Security testing status
Date Range1990s - PresentHistorical archive depth

Google Hacking Database (GHDB)

The GHDB is a specialized subset of Exploit-DB containing Google search queries (dorks) that reveal exposed sensitive information, vulnerable systems, and misconfigured services. Categories include:

GHDB CategoryDescriptionExample Use
FootholdsQueries revealing entry pointsLogin portals, admin panels
FilesExposed sensitive filesBackup archives, configuration files
DirectoriesOpen directory listingsUnprotected file shares
Vulnerable ServersKnown vulnerable software versionsSpecific CMS versions
Error MessagesInformation-leaking error pagesDatabase errors, stack traces
Network DataExposed network informationFirewall rules, VPN configurations

Integration with Prismatic

Prismatic Platform integrates Exploit-DB as a critical exploitability intelligence source. When Shodan, Censys, or BinaryEdge detect services with known software versions, the platform automatically queries Exploit-DB to determine whether public exploits exist.

# Search exploits by keyword
{:ok, results} = ExploitDb.search("Apache 2.4.49")
# => [
#   %{
#     edb_id: 50383,
#     title: "Apache HTTP Server 2.4.49 - Path Traversal & RCE",
#     cve: "CVE-2021-41773",
#     type: :webapps,
#     platform: :multiple,
#     verified: true,
#     date_published: ~D[2021-10-07],
#     author: "Ash Daulton",
#     language: :python
#   }
# ]

# Search by CVE identifier
{:ok, exploits} = ExploitDb.by_cve("CVE-2021-44228")
# => [%{edb_id: 50592, title: "Apache Log4j 2 - RCE", ...}, ...]

# Get exploit details with code
{:ok, exploit} = ExploitDb.get(50383)
# => %{
#   edb_id: 50383,
#   title: "Apache HTTP Server 2.4.49 - Path Traversal & RCE",
#   code: "#!/usr/bin/env python3\n...",
#   verified: true,
#   platform: :multiple,
#   type: :webapps
# }

# Search GHDB dorks
{:ok, dorks} = ExploitDb.search_ghdb("WordPress", category: :footholds)

# Search shellcode by platform
{:ok, shellcodes} = ExploitDb.search_shellcode(platform: :linux_x86_64)

# Bulk CVE-to-exploit mapping
{:ok, mapping} = ExploitDb.bulk_cve_check([
  "CVE-2021-44228", "CVE-2023-34362", "CVE-2024-3094"
])

Vulnerability Risk Assessment Pipeline

defmodule PrismaticPerimeter.Vulnerability.ExploitAssessment do
  @moduledoc """
  Assesses vulnerability exploitability by correlating detected
  software versions with public exploit availability.
  """

  def assess_exploitability(domain) do
    with {:ok, services} <- Shodan.host_search("hostname:#{domain}"),
         {:ok, technologies} <- BuiltWith.lookup(domain),
         {:ok, cves} <- map_to_cves(services, technologies),
         {:ok, exploits} <- check_exploit_availability(cves) do
      {:ok, %{
        domain: domain,
        detected_services: length(services),
        total_cves: length(cves),
        exploitable_cves: Enum.count(exploits, & &1.has_exploit),
        verified_exploits: Enum.count(exploits, & &1.verified),
        critical_exploitable: filter_critical_exploitable(cves, exploits),
        risk_score: calculate_exploit_risk(cves, exploits),
        prioritized_patches: prioritize_by_exploitability(cves, exploits)
      }}
    end
  end

  defp check_exploit_availability(cves) do
    cves
    |> Enum.map(fn cve ->
      case ExploitDb.by_cve(cve.id) do
        {:ok, exploits} ->
          %{cve: cve, has_exploit: true, verified: any_verified?(exploits),
            exploit_count: length(exploits)}
        {:error, :not_found} ->
          %{cve: cve, has_exploit: false, verified: false, exploit_count: 0}
      end
    end)
    |> then(&{:ok, &1})
  end
end

Exploit Availability Impact on Security Ratings

The existence of public exploits significantly impacts how the Prismatic Perimeter security rating engine scores vulnerabilities:

Exploit StatusCVSS AdjustmentRating Impact
No public exploitBase CVSS scoreStandard weighting
Unverified exploitCVSS + 1.0Moderate increase
Verified exploitCVSS + 2.0Significant increase
Active exploitation (CISA KEV)CVSS + 3.0Critical -- immediate action

API Access and Data Retrieval

Exploit-DB provides its data through multiple channels, each suited to different integration patterns:

Access MethodDescriptionBest For
Web InterfaceFull-text search with filtering at exploit-db.comManual research
searchsploitCLI tool (included in Kali Linux) for offline searchAir-gapped environments
Git RepositoryRaw database as a Git repo for bulk accessFull mirror, CI/CD integration
RSS FeedsNew exploit notificationsReal-time alerting
GHDB APIProgrammatic access to Google dork databaseAutomated reconnaissance

searchsploit Usage

The searchsploit tool provides offline access to the full Exploit-DB archive, essential for environments where real-time internet access is restricted:

searchsploit apache 2.4.49        # Search by keyword
searchsploit -t "path traversal"  # Title-only search
searchsploit --cve CVE-2021-44228 # Search by CVE
searchsploit -m 50383             # Mirror exploit to current directory
searchsploit -u                   # Update local database
searchsploit --json apache 2.4    # JSON output for automation

Rate Limits and Access

AspectDetails
AuthenticationNone required for public access
Rate LimitNo official limit for web; Git clone for bulk
Data FormatHTML (web), text (exploits), JSON (searchsploit)
CostCompletely free and open source
Update FrequencyDaily community submissions
Archive Size45,000+ exploits, 1,500+ shellcodes, 3,000+ papers

Use Cases

Vulnerability Prioritization

  • Assess whether vulnerabilities discovered in target infrastructure are actively exploitable
  • Prioritize patching based on public exploit availability rather than CVSS alone
  • Combine with CISA Known Exploited Vulnerabilities (KEV) catalog for urgency assessment
  • Feed exploitability data into Prismatic Perimeter risk scores

Security Assessment Preparation

  • Red team assessment preparation using known exploits for detected services
  • Identify Google dorks that expose sensitive information on target domains
  • Correlate detected software versions with known working exploits
  • Map the complete exploit landscape for a target's technology stack

Threat Intelligence

  • Track new exploit publications for technologies used by monitored organizations
  • Monitor exploit trends to identify emerging attack vectors
  • Correlate exploit publications with observed attack patterns in GreyNoise
  • Feed exploit timeline data into threat intelligence reports

Compliance and Reporting

  • Provide evidence-based vulnerability risk assessments for compliance audits
  • Document exploitability status in NIS2 security measure validations
  • Support SOC 2 vulnerability management program documentation
  • NVD - NIST National Vulnerability Database for CVE details
  • Shodan - Service detection revealing exploitable software
  • Censys - Internet-wide scanning for vulnerability context
  • BuiltWith - Technology detection identifying target software
  • VirusTotal - Malware analysis for exploit payloads
  • URLhaus - Malware distribution tracking related to exploit delivery
  • GreyNoise - Mass exploitation campaign detection

Connect & Contribute

Created by Tomáš Korcak (korczis) | Open Source under GHL