Home

Awesome

<h1 align="center"> Fuzzing Templates </h1> <h4 align="center">Community curated list of fuzzing templates for the nuclei engine to find unknown security vulnerabilities.</h4> <p align="center"> <a href="https://github.com/projectdiscovery/fuzzing-templates/issues"><img src="https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat"></a> <a href="https://twitter.com/pdnuclei"><img src="https://img.shields.io/twitter/follow/pdnuclei.svg?logo=twitter"></a> <a href="https://discord.gg/projectdiscovery"><img src="https://img.shields.io/discord/695645237418131507.svg?logo=discord"></a> </p> <p align="center"> <a href="https://nuclei.projectdiscovery.io/templating-guide/protocols/http-fuzzing/">Documentation</a> • <a href="https://github.com/projectdiscovery/fuzzing-templates/graphs/contributors">Contributions</a> • <a href="https://github.com/projectdiscovery/fuzzing-templates/discussions">Discussion</a> • <a href="https://discord.gg/projectdiscovery">Community</a> </p>

[!Caution] This repository is archived and merged into nuclei-templates project under /dast directory.

Fuzzing templates are used with nuclei scanner which powers the actual scanning engine. This repository contains various fuzzing templates for the scanner provided by our team, as well as contributed by the community.

We welcome contributions from the community through pull requests or issues to increase the coverage of security testing. Unlike the nuclei-templates project, which focuses on known vulnerabilities, fuzzing templates are specifically designed to discover previously unknown vulnerabilities in applications.

image

📖 Documentation

Please navigate to https://docs.projectdiscovery.io/templates/protocols/http/fuzzing-overview for detailed documentation to build your own fuzzing template. We have also added a set of templates to help you understand how things work.

🌪️ Using Fuzzing Templates

  1. Install Nuclei
go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest
  1. Run Fuzzing Templates

Input for fuzzing templates:

Current fuzzing support is limited to URLs with with query parameters, so any urls with no query parameters will be simply ignored.

$ cat fuzz_endpoints.txt

http://127.0.0.1:8082/info?name=test&another=value&random=data
http://127.0.0.1:8082/redirect?redirect_url=/info?name=redirected_from_url
http://127.0.0.1:8082/request?url=https://example.com
http://127.0.0.1:8082/email?text=important_user
http://127.0.0.1:8082/permissions?cmd=whoami
http://127.0.0.1:8082/info?name=redirected_from_url

[!NOTE] You can use katana with query url filter (-f qurl) to get list of endpoints to run with url fuzzing templates

Running fuzzing templates:

nuclei -list fuzz_endpoints.txt -dast

[!NOTE] You can use existing nuclei options to filter / run specific dast templates by tags or templates

💬 Discussion

Got questions / doubts / ideas to discuss? Feel free to open a discussion on GitHub discussions board.

👨‍💻 Community

You are welcome to join the active Discord Community to discuss directly with project maintainers and share things with others around security and automation. Additionally, you may follow us on Twitter to be updated on all the things about Nuclei.

<p align="center"> <a href="https://github.com/projectdiscovery/fuzzing-templates/graphs/contributors"> <img src="https://contrib.rocks/image?repo=projectdiscovery/fuzzing-templates&max=300"> </a> </p>

Thanks again for your contribution and keeping this community vibrant. ❤️