exploitdb
The legacy Exploit Database repository - New repo located at https://gitlab.com/exploit-database/exploitdb
Top Related Projects
Metasploit Framework
linux-kernel-exploits Linux平台提权漏洞集合
windows-kernel-exploits Windows平台提权漏洞集合
Command line utility for searching and downloading exploits
Attack Surface Management Platform
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:
-
Clone the repository:
git clone https://github.com/offensive-security/exploitdb.git
-
Update the repository regularly:
cd exploitdb git pull
-
Use the searchsploit tool to find exploits:
./searchsploit [search term]
-
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
- Database: ExploitDB maintains its own extensive database, while getsploit aggregates from multiple sources.
- Interface: ExploitDB offers both CLI and web interfaces, whereas getsploit is primarily CLI-focused.
- Integration: getsploit is designed for easier integration into custom scripts and automation workflows.
- Community: ExploitDB has a larger community and more frequent updates due to its association with Offensive Security.
- 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.
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.
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 designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
New repo can be found here: https://gitlab.com/exploit-database/exploitdb
Top Related Projects
Metasploit Framework
linux-kernel-exploits Linux平台提权漏洞集合
windows-kernel-exploits Windows平台提权漏洞集合
Command line utility for searching and downloading exploits
Attack Surface Management Platform
w3af: web application attack and audit framework, the open source web vulnerability scanner.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot