Convert Figma logo to code with AI

fuzzdb-project logofuzzdb

Dictionary of attack patterns and primitives for black-box application fault injection and resource discovery.

8,141
2,080
8,141
16

Top Related Projects

56,766

SecLists is the security tester's companion. It's a collection of multiple types of lists used during security assessments, collected in one place. List types include usernames, passwords, URLs, sensitive data patterns, fuzzing payloads, web shells, and many more.

A list of useful payloads and bypass for Web Application Security and Pentest/CTF

A collection of Burpsuite Intruder payloads, BurpBounty payloads, fuzz lists, malicious file uploads and web pentesting methodologies and checklists.

5,858

Web application fuzzer

The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data.

🎯 SQL Injection Payload List

Quick Overview

FuzzDB is a comprehensive collection of attack patterns and primitives for security testing and fuzzing. It serves as a resource for application security testing and research, providing various payloads, regex patterns, and wordlists that can be used to identify vulnerabilities in software applications.

Pros

  • Extensive collection of attack patterns and payloads for various types of security testing
  • Regularly updated with new content and contributions from the security community
  • Well-organized directory structure for easy navigation and usage
  • Can be integrated into various security testing tools and frameworks

Cons

  • Requires knowledge of security testing concepts to use effectively
  • Some payloads may be outdated or less relevant for modern applications
  • Large repository size may be overwhelming for beginners
  • Lacks built-in tools or scripts for direct usage (primarily a data repository)

Getting Started

To use FuzzDB in your security testing:

  1. Clone the repository:

    git clone https://github.com/fuzzdb-project/fuzzdb.git
    
  2. Navigate to the desired directory based on the type of testing you're performing (e.g., attack, discovery, wordlists-user-passwd).

  3. Use the files in your preferred security testing tool or script. For example, you can use wordlists with tools like Burp Suite, OWASP ZAP, or custom scripts.

  4. Keep the repository updated by pulling the latest changes:

    cd fuzzdb
    git pull
    

Remember to use these resources responsibly and only on systems you have permission to test.

Competitor Comparisons

56,766

SecLists is the security tester's companion. It's a collection of multiple types of lists used during security assessments, collected in one place. List types include usernames, passwords, URLs, sensitive data patterns, fuzzing payloads, web shells, and many more.

Pros of SecLists

  • More comprehensive and regularly updated content
  • Better organization with clear categorization of wordlists
  • Includes specialized lists for various security testing scenarios

Cons of SecLists

  • Larger repository size, which may be overwhelming for some users
  • Some lists may contain redundant or less relevant entries
  • Requires more time to navigate and find specific wordlists

Code Comparison

SecLists:

/Passwords
/Usernames
/Fuzzing
/Discovery
/Web-Shells

FuzzDB:

/attack
/discovery
/wordlists-user-passwd
/regex

Summary

SecLists offers a more extensive collection of wordlists and payloads, with better organization and frequent updates. However, its large size may be overwhelming for some users. FuzzDB provides a more compact and focused set of resources, which can be easier to navigate but may lack some specialized lists found in SecLists. Both repositories serve as valuable resources for security testing, with SecLists being more suitable for comprehensive assessments and FuzzDB for quick, targeted testing.

A list of useful payloads and bypass for Web Application Security and Pentest/CTF

Pros of PayloadsAllTheThings

  • More comprehensive coverage of various attack vectors and techniques
  • Better organized with clear categorization of payloads
  • Regularly updated with new payloads and techniques

Cons of PayloadsAllTheThings

  • May be overwhelming for beginners due to the sheer volume of information
  • Less focus on specific fuzzing techniques compared to FuzzDB

Code Comparison

PayloadsAllTheThings (SQL Injection):

' OR '1'='1
' OR 1=1--
' UNION SELECT NULL,NULL,NULL--

FuzzDB (SQL Injection):

'
"
1'1
1 exec sp_

Both repositories provide valuable resources for security testing and penetration testing. PayloadsAllTheThings offers a wider range of attack vectors and payloads, making it suitable for more advanced users and comprehensive security assessments. FuzzDB, on the other hand, focuses more on fuzzing techniques and may be more approachable for beginners.

PayloadsAllTheThings is actively maintained and frequently updated, ensuring users have access to the latest attack techniques. FuzzDB, while still useful, may not be as up-to-date in some areas.

Ultimately, both repositories can be valuable tools in a security professional's arsenal, and using them in combination can provide a more robust testing approach.

A collection of Burpsuite Intruder payloads, BurpBounty payloads, fuzz lists, malicious file uploads and web pentesting methodologies and checklists.

Pros of IntruderPayloads

  • More focused on specific attack vectors and techniques
  • Includes custom payloads for various web application vulnerabilities
  • Regularly updated with new payloads and attack patterns

Cons of IntruderPayloads

  • Smaller overall collection compared to FuzzDB
  • Less organized structure, making it harder to navigate
  • Limited documentation on payload usage and effectiveness

Code Comparison

FuzzDB example (SQL injection):

' OR '1'='1
' OR 1=1--
' UNION SELECT NULL,NULL,NULL--

IntruderPayloads example (SQL injection):

' OR 1=1-- -
' UNION ALL SELECT NULL,NULL,NULL,NULL--
' AND 1=0 UNION ALL SELECT 'INJ','ECT','ION',NULL--

Both repositories provide valuable resources for security testing and penetration testing. FuzzDB offers a more comprehensive and well-organized collection, while IntruderPayloads focuses on specific attack vectors with custom payloads. The choice between the two depends on the user's specific needs and preferences in terms of payload variety, organization, and update frequency.

5,858

Web application fuzzer

Pros of wfuzz

  • More versatile and feature-rich fuzzing tool
  • Supports multiple protocols (HTTP, HTTPS, FTP, etc.)
  • Offers advanced filtering and payload processing capabilities

Cons of wfuzz

  • Steeper learning curve due to more complex functionality
  • Requires Python installation and dependencies
  • May be overkill for simple fuzzing tasks

Code comparison

wfuzz:

wfuzz -c -z file,wordlist/general/common.txt --hc 404 http://example.com/FUZZ

fuzzdb:

for word in $(cat fuzzdb/discovery/predictable-filepaths/filename-dirname-bruteforce.txt); do
    curl -s -o /dev/null -w "%{http_code}" http://example.com/$word
done

Summary

wfuzz is a more powerful and flexible fuzzing tool, offering support for various protocols and advanced features. However, it comes with a steeper learning curve and requires Python setup. fuzzdb, on the other hand, is primarily a collection of fuzzing payloads and patterns, which can be easily integrated into custom scripts or other tools. It's simpler to use but less feature-rich compared to wfuzz. The choice between the two depends on the specific requirements of your fuzzing project and your level of expertise.

The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data.

Pros of big-list-of-naughty-strings

  • Focused specifically on edge-case strings for input validation testing
  • Well-organized and categorized list of problematic strings
  • Regularly updated with community contributions

Cons of big-list-of-naughty-strings

  • Limited scope compared to fuzzdb's comprehensive security testing resources
  • Lacks attack payloads and other security-specific test cases
  • No built-in tools or scripts for automated testing

Code Comparison

big-list-of-naughty-strings:

undefined
undef
null
NULL
(null)
nil
NIL
true
false
True
False

fuzzdb:

<script>alert(1)</script>
"><script>alert(1)</script>
'><script>alert(1)</script>
<img src=x onerror=alert(1)>
<svg/onload=alert(1)>

The code snippets demonstrate the difference in focus between the two projects. big-list-of-naughty-strings concentrates on problematic input strings, while fuzzdb includes more diverse security-related payloads and attack vectors.

Both repositories serve valuable purposes in software testing and security. big-list-of-naughty-strings is ideal for general input validation testing, while fuzzdb offers a broader range of resources for comprehensive security testing and penetration testing scenarios.

🎯 SQL Injection Payload List

Pros of sql-injection-payload-list

  • Focused specifically on SQL injection payloads, providing a comprehensive collection
  • Well-organized with payloads categorized by database type and injection technique
  • Regularly updated with new and relevant SQL injection payloads

Cons of sql-injection-payload-list

  • Limited scope compared to FuzzDB, which covers a broader range of security testing scenarios
  • Lacks additional resources like attack pattern dictionaries and web-focused test cases
  • May not be as extensively tested or vetted as FuzzDB

Code Comparison

sql-injection-payload-list:

' OR '1'='1
' OR '1'='1'--
' OR '1'='1'#
' OR '1'='1'/*

FuzzDB:

'
"
1'1
1 exec sp_ (or exec xp_)
1 and 1=1
1' and 1=(select count(*) from tablenames); --

Both repositories provide SQL injection payloads, but FuzzDB offers a wider variety of attack vectors and testing scenarios. sql-injection-payload-list focuses solely on SQL injection, providing a more extensive collection of payloads specific to this attack type. FuzzDB, on the other hand, includes payloads for various security testing purposes beyond just SQL injection.

While sql-injection-payload-list excels in its specialized focus, FuzzDB offers a more comprehensive toolkit for security testing across different domains. The choice between the two depends on the specific needs of the user and the scope of their security testing efforts.

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

FuzzDB was created to increase the likelihood of finding application security vulnerabilities through dynamic application security testing. It's the first and most comprehensive open dictionary of fault injection patterns, predictable resource locations, and regex for matching server responses.

Attack Patterns - FuzzDB contains comprehensive lists of attack payload primitives for fault injection testing. These patterns, categorized by attack and where appropriate platform type, are known to cause issues like OS command injection, directory listings, directory traversals, source exposure, file upload bypass, authentication bypass, XSS, http header crlf injections, SQL injection, NoSQL injection, and more. For example, FuzzDB catalogs 56 patterns that can potentially be interpreted as a null byte and contains lists of commonly used methods such as "get, put, test," and name-value pairs than trigger debug modes.

Discovery - The popularity of standard software packaging distribution formats and installers resulted in resources like logfiles and administrative directories frequently being located in a small number of predictable locations. FuzzDB contains a comprehensive dictionary, sorted by platform type, language, and application, making brute force testing less brutish.
https://github.com/fuzzdb-project/fuzzdb/tree/master/discovery

Response Analysis - Many interesting server responses are predictable strings. FuzzDB contains a set of regex pattern dictionaries to match against server responses. In addition to common server error messages, FuzzDB contains regex for credit cards, social security numbers, and more.

Other useful stuff - Webshells in different languages, common password and username lists, and some handy wordlists.

Documentation - Many directories contain a README.md file with usage notes. A collection of documentation from around the web that is helpful for using FuzzDB to construct test cases is also included.

Usage tips for pentesting with FuzzDB

https://github.com/fuzzdb-project/fuzzdb/wiki/usagehints

How people use FuzzDB

FuzzDB is like an application security scanner, without the scanner. Some ways to use FuzzDB:

  • Website and application service black-box penetration testing with
  • OWASP Zap proxy's FuzzDB Zap Extension
  • Burp Proxy's intruder tool and scanner
  • PappyProxy, a console-based intercepting proxy
  • To identify interesting service responses using grep patterns for PII, credit card numbers, error messages, and more
  • Inside custom tools for testing software and application protocols
  • Crafting security test cases for GUI or command line software with standard test automation tools
  • Incorporating into other Open Source software or commercial products
  • In training materials and documentation
  • To learn about software exploitation techniques
  • To improve your security testing product or service

How were the patterns collected?

Many, many hours of research and pentesting. And

  • analysis of default app installs
  • analysis of system and application documentation
  • analysis of error messages
  • researching old web exploits for repeatable attack strings
  • scraping scanner payloads from http logs
  • various books, articles, blog posts, mailing list threads
  • other open source fuzzers and pentest tools and the input of contributors: https://github.com/fuzzdb-project/fuzzdb/graphs/contributors

Places you can find FuzzDB

Other security tools and projects that incorporate FuzzzDB in whole or part

Download

Preferred method is to check out sources via git, new payloads are added frequently

git clone https://github.com/fuzzdb-project/fuzzdb.git --depth 1

While in the FuzzDB dir, you can update your local repo with the command

git pull

This Stackoverflow gives ideas on how to keep a local repository tidy: https://stackoverflow.com/questions/38171899/how-to-reduce-the-depth-of-an-existing-git-clone/46004595#46004595

You can also browse the FuzzDB github sources and there is always a fresh zip file

Note: Some antivirus/antimalware software will alert on FuzzDB. To resolve, the filepath should be whitelisted. There is nothing in FuzzDB that can harm your computer as-is, however due to the risk of local file include attacks it's not recommended to store this repository on a server or other important system. Use at your own risk.

Who

FuzzDB was created by Adam Muntner (amuntner @ gmail.com) FuzzDB (c) Copyright Adam Muntner, 2010-2019 Portions copyrighted by others, as noted in commit comments and README.md files.

The FuzzDB license is New BSD and Creative Commons by Attribution. The ultimate goal of this project is to make the patterns contained within obsolete. If you use this project in your work, research, or commercial product, you are required to cite it. That's it. I always enjoy hearing about how people are using it to find an interesting bug or in a tool, send me an email and let me know.

Submissions are always welcome!

Official FuzzDB project page: https://github.com/fuzzdb-project/fuzzdb/