Convert Figma logo to code with AI

offensive-security logoexploitdb

The legacy Exploit Database repository - New repo located at https://gitlab.com/exploit-database/exploitdb

7,703
1,878
7,703
1

Top Related Projects

Metasploit Framework

linux-kernel-exploits Linux平台提权漏洞集合

windows-kernel-exploits Windows平台提权漏洞集合

Command line utility for searching and downloading exploits

7,927

Attack Surface Management Platform

4,522

w3af: web application attack and audit framework, the open source web vulnerability scanner.

Quick Overview

The Exploit Database (ExploitDB) is a comprehensive archive of public exploits and corresponding vulnerable software, developed for use by penetration testers and vulnerability researchers. Maintained by Offensive Security, it serves as a valuable resource for security professionals to study, test, and improve their understanding of various vulnerabilities and exploit techniques.

Pros

  • Extensive collection of exploits, covering a wide range of software and systems
  • Regularly updated with new exploits and vulnerabilities
  • Includes a searchable database and command-line tool for easy access
  • Provides detailed information about each exploit, including author, date, and affected software versions

Cons

  • Some exploits may be outdated or no longer applicable to current software versions
  • Potential for misuse by malicious actors if not handled responsibly
  • Requires careful handling and a controlled environment for testing
  • May not always include the most recent or zero-day exploits due to responsible disclosure practices

Getting Started

To use the ExploitDB repository:

  1. Clone the repository:

    git clone https://github.com/offensive-security/exploitdb.git
    
  2. Update the repository regularly:

    cd exploitdb
    git pull
    
  3. Use the searchsploit tool to find exploits:

    ./searchsploit [search term]
    
  4. For more detailed usage instructions, refer to the README.md file in the repository.

Note: Always use this tool responsibly and in compliance with applicable laws and regulations. Only test exploits in controlled environments with proper authorization.

Competitor Comparisons

Metasploit Framework

Pros of Metasploit-Framework

  • More comprehensive framework for penetration testing and exploit development
  • Actively maintained with frequent updates and community contributions
  • Includes a wide range of tools and utilities for various stages of penetration testing

Cons of Metasploit-Framework

  • Steeper learning curve due to its complexity and extensive feature set
  • Larger codebase and resource footprint, potentially slower to load and execute
  • May require more setup and configuration for specific use cases

Code Comparison

ExploitDB typically contains standalone exploit scripts, while Metasploit-Framework uses a modular structure. Here's a simplified example:

ExploitDB (Python exploit):

import socket

target = "192.168.1.100"
payload = b"\x90" * 20 + shellcode

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((target, 80))
s.send(payload)
s.close()

Metasploit-Framework (Ruby module):

class MetasploitModule < Msf::Exploit::Remote
  def initialize(info = {})
    super(update_info(info,
      'Name'           => 'Example Exploit',
      'Description'    => 'This is an example exploit module',
      'Author'         => ['Anonymous'],
      'Target'         => [['Generic', {'Ret' => 0x41414141}]]
    ))
  end

  def exploit
    connect
    payload = "\x90" * 20 + payload.encoded
    sock.put(payload)
    handler
    disconnect
  end
end

linux-kernel-exploits Linux平台提权漏洞集合

Pros of linux-kernel-exploits

  • Focused specifically on Linux kernel exploits, providing a more targeted resource
  • Includes detailed documentation and usage instructions for each exploit
  • Regularly updated with new exploits and vulnerabilities

Cons of linux-kernel-exploits

  • Limited scope compared to ExploitDB, which covers a broader range of platforms and exploit types
  • Smaller community and fewer contributors, potentially leading to slower updates
  • Less comprehensive search functionality and categorization

Code Comparison

ExploitDB example (Python):

import sys
import struct

def exploit(target_ip, target_port):
    payload = b"A" * 1024 + struct.pack("<I", 0xdeadbeef)
    # ... (rest of the exploit code)

linux-kernel-exploits example (C):

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main() {
    char *argv[] = {"/bin/sh", NULL};
    execve("/bin/sh", argv, NULL);
    return 0;
}

Both repositories provide valuable resources for security researchers and penetration testers. ExploitDB offers a more comprehensive collection of exploits across various platforms, while linux-kernel-exploits focuses specifically on Linux kernel vulnerabilities. The choice between the two depends on the user's specific needs and target environment.

windows-kernel-exploits Windows平台提权漏洞集合

Pros of windows-kernel-exploits

  • Focused specifically on Windows kernel exploits, providing a more targeted resource
  • Includes pre-compiled executables for easier testing and deployment
  • Organized by Windows version, making it simpler to find relevant exploits

Cons of windows-kernel-exploits

  • Limited scope compared to ExploitDB's broader range of vulnerabilities
  • Less frequently updated, potentially missing newer exploits
  • Lacks the extensive searchability and filtering options of ExploitDB

Code Comparison

windows-kernel-exploits (MS16-135 example):

BOOL EnablePrivilege(HANDLE hToken, LPCTSTR lpszPrivilege, BOOL bEnablePrivilege)
{
    TOKEN_PRIVILEGES tp;
    LUID luid;
    if (!LookupPrivilegeValue(NULL, lpszPrivilege, &luid)) {
        printf("LookupPrivilegeValue error: %u\n", GetLastError());
        return FALSE;
    }

ExploitDB (similar privilege escalation example):

BOOL SetPrivilege(HANDLE hToken, LPCTSTR lpszPrivilege, BOOL bEnablePrivilege)
{
    TOKEN_PRIVILEGES tp;
    LUID luid;
    if (!LookupPrivilegeValue(NULL, lpszPrivilege, &luid)) {
        _tprintf(_T("LookupPrivilegeValue error: %u\n"), GetLastError());
        return FALSE;
    }

Both repositories provide valuable resources for security researchers and penetration testers. windows-kernel-exploits offers a more specialized collection of Windows kernel exploits, while ExploitDB provides a comprehensive database of various exploits across multiple platforms and systems.

Command line utility for searching and downloading exploits

Pros of getsploit

  • Lightweight and focused on command-line usage
  • Supports multiple exploit databases, including ExploitDB and Vulners
  • Allows for easy integration into custom scripts and workflows

Cons of getsploit

  • Smaller community and less frequent updates
  • Limited to command-line interface, lacking a web-based frontend
  • May have a smaller exploit database compared to ExploitDB

Code Comparison

ExploitDB (searchsploit):

./searchsploit apache 2.4.49

getsploit:

getsploit search apache 2.4.49

Both tools offer similar functionality for searching exploits, but getsploit provides a more streamlined command structure.

Key Differences

  1. Database: ExploitDB maintains its own extensive database, while getsploit aggregates from multiple sources.
  2. Interface: ExploitDB offers both CLI and web interfaces, whereas getsploit is primarily CLI-focused.
  3. Integration: getsploit is designed for easier integration into custom scripts and automation workflows.
  4. Community: ExploitDB has a larger community and more frequent updates due to its association with Offensive Security.
  5. Scope: ExploitDB is part of a larger ecosystem of penetration testing tools, while getsploit is more focused on exploit discovery and retrieval.

Both tools serve similar purposes but cater to different user preferences and use cases within the security testing landscape.

7,927

Attack Surface Management Platform

Pros of Sn1per

  • Automated and comprehensive scanning tool for multiple vulnerabilities
  • Includes a web interface for easier management and reporting
  • Offers both free and professional versions with additional features

Cons of Sn1per

  • Less frequently updated compared to ExploitDB
  • Requires more setup and dependencies to run effectively
  • May generate false positives due to its aggressive scanning approach

Code Comparison

Sn1per (bash script excerpt):

if [ "$REPORT" = "1" ]; then
    echo -e "$OKBLUE[*]$RESET Generating report..."
    $SNIPER_DIR/bin/sniper -t $TARGET -m $MODE -w $WORKSPACE -l $LOOT_DIR --report $REPORT_NAME
fi

ExploitDB (Python script excerpt):

def search(search_term):
    results = []
    for exploit in exploits:
        if search_term.lower() in exploit['description'].lower():
            results.append(exploit)
    return results

While Sn1per focuses on automating the scanning process, ExploitDB primarily serves as a repository for exploits. Sn1per's code snippet demonstrates its automation capabilities, while ExploitDB's code shows its search functionality for finding specific exploits.

4,522

w3af: web application attack and audit framework, the open source web vulnerability scanner.

Pros of w3af

  • Actively maintained web application security scanner
  • Provides a comprehensive set of tools for web vulnerability assessment
  • Offers both command-line and graphical user interfaces

Cons of w3af

  • Focused solely on web application security, limiting its scope compared to ExploitDB
  • May require more technical expertise to use effectively
  • Can be resource-intensive when scanning large applications

Code Comparison

w3af (Python):

def get_long_desc(self):
    return """
    This plugin finds CSRF vulnerabilities.

    To detect this vulnerability the plugin will send several requests to the server...
    """

ExploitDB (typically contains exploit code in various languages):

#!/usr/bin/python
import sys
import requests

if len(sys.argv) != 2:
    print("Usage: {} <target>".format(sys.argv[0]))
    sys.exit(1)

target = sys.argv[1]
payload = "...malicious payload..."

Key Differences

  • ExploitDB is a database of exploits, while w3af is an active scanning tool
  • w3af focuses on web application security, ExploitDB covers a broader range of vulnerabilities
  • ExploitDB provides ready-to-use exploit code, w3af offers automated scanning and reporting
  • w3af is more suitable for continuous security testing, ExploitDB for specific exploit research

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README