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

Related tags

Frameworks fuzzdb
Overview

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/

Comments
  • XOR in shell delimiters

    XOR in shell delimiters

    in this file https://github.com/fuzzdb-project/fuzzdb/blob/master/attack/os-cmd-execution/shell-delimiters.txt the ^ operator is not intended for commands; I'm not sure why is it included as a shell delimiter ?

    Can someone please explain?

    opened by AddaxSoft 7
  • Randomize Regex fuzzer payloads

    Randomize Regex fuzzer payloads

    The ability to randomize the payloads would be beneficial. For example when fuzzing a numerical id I used the expression [1-9]\d{2,4} which generated a predictable sequence of

    • 100
    • 1000
    • 10000
    • 10001
    • 10002
    • ...

    I hope you see some merit in this enhancement request.

    Thanks

    opened by MrChris123 3
  • AngularJS sandbox escaping strings

    AngularJS sandbox escaping strings

    A number of AngularJS sandbox escape strings have been published recently that can lead to XSS. Can they be added to the fuzzdb? http://blog.portswigger.net/2016/01/xss-without-html-client-side-template.html

    opened by mbaluda 3
  • Attacks from SecLists in `attack/file-upload/malicious-images` are missing and contains webpages source code instead

    Attacks from SecLists in `attack/file-upload/malicious-images` are missing and contains webpages source code instead

    I was searching for the uber.gif there and to my surprise i noticed it isn't ubersized as i remembered so i took a look at the directory and all the images in there contains the github webpage source code of the page hosting the image at SecLists :)

    I'm now going to make a pull request for this one soon, i'm also going to add two poc-gif-php variations that are present in the SecLists repository as well.

    opened by manuelbua 3
  • Firefox blocking download of master.zip due to virus, spyware and/or malware

    Firefox blocking download of master.zip due to virus, spyware and/or malware

    Probably nothing that you can do on your end, but I wanted to let you know that Firefox 47.0.1 and Firefox 48 are blocking download of master.zip.

    Firefox 47.0.1 states This file may contain a virus or spyware.

    Firefox 48.0 states This file contains a virus or malware.

    I believe that Firefox uses Google's Safe Browsing API to handle this, but not sure how to report false positives.

    opened by geeknik 3
  • Change .fuzz.txt to .txt

    Change .fuzz.txt to .txt

    It seems seems very redundant a distribution used for fuzzing to have a .fuzz.txt in most file names. Can we clean that up by changing all files from .fuzz.txt back to just .txt? What was the reason for this change? It seems inconsistently applied across the folders.

    opened by meeas 3
  • _oracle_default_passwords.txt needs work

    _oracle_default_passwords.txt needs work

    fuzzdb/wordlists-user-passwd/oracle/_oracle_default_passwords.txt

    Strip useful data out of comma delim file and make .fuzz.txt files with username and passwds, they should be a paired set of files.

    opened by amuntner 3
  • Patch for /trunk/discovery/PredictableRes/OracleAppServer.fuzz.txt

    Patch for /trunk/discovery/PredictableRes/OracleAppServer.fuzz.txt

    opened by GoogleCodeExporter 3
  • Deduplicate entries in traversals-8-deep-exotic-encoding.txt

    Deduplicate entries in traversals-8-deep-exotic-encoding.txt

    It seems that https://github.com/fuzzdb-project/fuzzdb/blob/master/attack/path-traversal/traversals-8-deep-exotic-encoding.txt currently has 887 entries. When doing an:

    cat traversals-8-deep-exotic-encoding.txt | sort | uniq | wc -l

    we're down to 652. This seems to be caused by duplicated entries like e.g.:

    https://github.com/fuzzdb-project/fuzzdb/blob/2863f7a/attack/path-traversal/traversals-8-deep-exotic-encoding.txt#L8

    https://github.com/fuzzdb-project/fuzzdb/blob/2863f7a/attack/path-traversal/traversals-8-deep-exotic-encoding.txt#L263

    https://github.com/fuzzdb-project/fuzzdb/blob/2863f7a/attack/path-traversal/traversals-8-deep-exotic-encoding.txt#L375

    Whats the reason for having those duplicated entries and doesn't it make sense to remove duplicated entries from the list?

    opened by iasdeoupxe 2
  • Patch for /trunk/discovery/PredictableRes/SAP.fuzz.txt

    Patch for /trunk/discovery/PredictableRes/SAP.fuzz.txt

    Added SAP URLs from Metasploit SAP URL Scanner: sap_icm_paths.txt
    

    Original issue reported on code.google.com by [email protected] on 23 Apr 2014 at 4:14

    Attachments:

    auto-migrated Type-Patch 
    opened by GoogleCodeExporter 2
  • opening html docs files triggers security vulnerability pop ups ( spam or feature -- maybe its intended ?? )

    opening html docs files triggers security vulnerability pop ups ( spam or feature -- maybe its intended ?? )

    What steps will reproduce the problem?
    1. In Mozilla - open 
    fuzzdb-1.09.tgz\fuzzdb-1.09\attack-payloads\sql-injection\detect\docs\docs.sql_i
    njection_cheetsheet.html 
    
    What is the expected output? What do you see instead?
    Expect to a harmless document.
    
    File has characters that cant be read. If you click through and open - you 
    start getting 'security vulnerability detected'  popups.
    
    What version of the product are you using? On what operating system?
    Tarball - fuzzdb-1.09.tgz
    
    Please provide any additional information below.
    Could be something else on my machine, but just in case, submitting this
    

    Original issue reported on code.google.com by [email protected] on 19 Feb 2013 at 5:08

    Priority-Medium Type-Defect auto-migrated 
    opened by GoogleCodeExporter 2
  • Spelling

    Spelling

    This PR corrects misspellings identified by the check-spelling action.

    The misspellings have been reported at https://github.com/jsoref/fuzzdb/commit/eee35105074eae0af8a41a28bb4e0b8f1eb02feb#commitcomment-55978375

    The action reports that the changes in this PR would make it happy: https://github.com/jsoref/fuzzdb/commit/d65636fceb7632f0cbece179fd7cbd53265fe54c

    Note: this PR does not include the action. If you're interested in running a spell check on every PR and push, that can be offered separately.

    For the sake of argument, all corrections were automatically suggested by Google Sheets (advice vs advise was thrown in by a human other than me -- in principle this is a spell check PR, not a grammar PR, and I don't have a tool for grammar, although it is theoretically possible to try to talk to grammarly.com) and no validation was made as to whether the internet or any other entities agree with the validity. I claim that I am intentionally not looking too closely at the content.

    This means that it's likely some scripts may suffer from API or ABI breaks. I don't have any sympathy for the consumers, but I'm more than happy to skip files / drop hunks if that means other portions of this PR will be acceptable.

    opened by jsoref 0
  • Terminology fixes

    Terminology fixes

    We're updating ZAP to use less controversial terminology terms: https://github.com/zaproxy/zaproxy/issues/6029 Are you ok accepting a PR which changes white / black list terms in_documentation to allow / deny lists? No payloads will be updated, just the docs. We import fuzzdb when there are changes changes so if we just fix this in ZAP then it will just get overwritten next time..

    opened by psiinon 0
Owner
FuzzDB Project
Official FuzzDB Project Repo
FuzzDB Project
Dependency Injection System

Aura.Di A serializable dependency injection container with constructor and setter injection, interface and trait awareness, configuration inheritance,

Aura for PHP 342 Dec 1, 2022
A resource-oriented application framework

BEAR.Sunday A resource-oriented application framework What's BEAR.Sunday This resource orientated framework has both externally and internally a REST

Akihito Koriyama 6 May 11, 2022
A resource-oriented application framework

BEAR.Sunday A resource-oriented application framework What's BEAR.Sunday This resource orientated framework has both externally and internally a REST

BEAR.Sunday 236 Dec 27, 2022
Implementing programming best practices and patterns, and creating a custom PHP framework from scratch.

Implementing programming best practices and patterns, and creating a custom PHP framework from scratch.

Sajidur Rahman 3 Jul 2, 2022
Mind is the PHP code framework designed for developers. It offers a variety of solutions for creating design patterns, applications and code frameworks.

Mind Mind is the PHP code framework designed for developers. It offers a variety of solutions for creating design patterns, applications and code fram

null 0 Dec 13, 2021
LaravelS is an out-of-the-box adapter between Swoole and Laravel/Lumen.

?? LaravelS is an out-of-the-box adapter between Swoole and Laravel/Lumen.

Biao Xie 3.7k Dec 29, 2022
A resource-oriented micro PHP framework

Bullet Bullet is a resource-oriented micro PHP framework built around HTTP URIs. Bullet takes a unique functional-style approach to URL routing by par

Vance Lucas 415 Dec 27, 2022
The Semaphore Component manages semaphores, a mechanism to provide exclusive access to a shared resource.

Semaphore Component The Semaphore Component manages semaphores, a mechanism to provide exclusive access to a shared resource. Resources Documentation

Symfony 29 Nov 16, 2022
This package has framework agnostic Cross-Origin Resource Sharing (CORS) implementation.

Description This package has framework agnostic Cross-Origin Resource Sharing (CORS) implementation. It is complaint with PSR-7 HTTP message interface

null 60 Nov 9, 2022
A simple, secure, and scalable PHP application framework

Opulence Introduction Opulence is a PHP web application framework that simplifies the difficult parts of creating and maintaining a secure, scalable w

Opulence 732 Dec 30, 2022
Newsprint is a simple web application that will fetch the front page of a newspaper and display it on an eink display

Newsprint is a simple web application that will fetch the front page of a newspaper and display it on an eink display. The specific resolutions and sizes have been setup to work with a 32" eInk place & play display from Visionect but can be modified for other screen resolutions.

Greg Raiz 199 Dec 20, 2022
Provides database storage and retrieval of application settings, with a fallback to the config classes.

Provides database storage and retrieval of application settings, with a fallback to the config classes.

CodeIgniter 4 web framework 47 Dec 29, 2022
💾 High-performance PHP application server, load-balancer and process manager written in Golang. RR2 releases repository.

RoadRunner is an open-source (MIT licensed) high-performance PHP application server, load balancer, and process manager. It supports running as a serv

Spiral Scout 45 Nov 29, 2022
🤯 High-performance PHP application server, load-balancer and process manager written in Golang

RoadRunner is an open-source (MIT licensed) high-performance PHP application server, load balancer, and process manager. It supports running as a serv

Spiral Scout 6.9k Jan 3, 2023
Opulence is a PHP web application framework that simplifies the difficult parts of creating and maintaining a secure, scalable website.

Opulence Introduction Opulence is a PHP web application framework that simplifies the difficult parts of creating and maintaining a secure, scalable w

Opulence 733 Sep 8, 2022
Parses YAML files and adds them to Slim's config application instance method.

Slim Config - YAML Parses YAML files and adds them into Slim's config singleton. Uses Symfony's YAML Component to parse files (http://github.com/symfo

Bill Rex 4 Mar 10, 2022
A sample CakePHP api application using CakeDC/cakephp-api and swoole as server

CakePHP Application Skeleton composer create-project --prefer-dist cakephp/app Added sample data using https://github.com/annexare/Countries Created m

Marcelo Rocha 3 Jul 28, 2022
High-Performance Long-Living PHP Framework for modern enterprise application development

Documentation · Discord · Telegram · Twitter Spiral Framework is a High-Performance Long-Living Full-Stack framework and group of over sixty PSR-compa

Spiral Scout 1.4k Jan 1, 2023
Mako skeleton application.

Mako Framework Mako is a lightweight and easy to use PHP framework based on the MVC architectural design pattern. Check out the documentation and crea

Mako Framework 27 Nov 12, 2022