VAF: Very Advanced (Web) Fuzzer

In VAF there will also be a vaf_linux_amd64 binary for linux users already compiled by me, but that’s not going to be always updated

  • Clone and cd into the repo
  • Install nim

Linux: Install

nim using: curl https://nim-lang.org/choosenim/init.sh -sSf | sh and adding nim to path

Windows: Download

nim from https://nim-lang.org/install_windows.html and run finish.exe (you might need to reopen a cmd window for nim to load)

  • Run

nimble build

A vaf binary file will be created in your directory ready to be used

Using VAF

Using vaf is simple, here’s the current help text:

Usage:
vaf – very advanced fuzzer [options]


Options:
-h, –help
-u, –url=URL choose url, replace area to fuzz with []
-w, –wordlist=WORDLIST choose the wordlist to use
-sc, –status=STATUS set on which status to print, set this param to ‘any’ to print on any status (default: 200)
-pr, –prefix=PREFIX prefix, e.g. set this to / for content discovery if your url doesnt have a / at the end (default: )
-sf, –suffix=SUFFIX suffix, e.g. use this for extensions if you are doing content discovery (default: )
-pd, –postdata=POSTDATA only used if ‘-m post’ is set (default: {})
-m, –method=METHOD suffix, e.g. use this for extensions if you are doing content discovery (default: get)
-pif, –printifreflexive print only if the output reflected in the page, useful for finding xss
-ue, –urlencode url encode the payloads
-pu, –printurl prints the url that has been requested

Screenshots

  • (with every status code printed, suffixes .php,.html and no prefixes)
  • (with url printed, every status code printed, suffixes .php,.html and no prefixes)
  • (post data fuzzing)

Examples

  • Fuzz post data:

vaf.exe -w example_wordlists\short.txt -u https://jsonplaceholder.typicode.com/posts -m post -sc 201 -pd “{\”title\”: \”[]\”}”

  • Fuzz GET URLs

vaf.exe -w example_wordlists\short.txt -u https://example.org/[] -sf .html

Tips

  • Add a trailing , in the suffixes or prefixes argument to try the word without any suffix/prefix like this: -pf .php, or -sf .php,
  • Use -pif with a bunch of xss payloads as the wordlist to find XSS
  • Make an issue if you want to suggest a feature
R K

Recent Posts

Nginx Commands in Linux: Start, Stop, Reload, Test, and Log

Nginx is a high-performance web server and reverse proxy trusted by some of the largest…

4 hours ago

ufw Command in Linux: Manage Firewall Rules with Examples

ufw (Uncomplicated Firewall) sits on top of iptables (or nftables on newer systems) and replaces…

5 hours ago

who Command in Linux: Show All Logged-In Users and Sessions

When you share a server with a team or investigate unexpected activity, the first question…

5 hours ago

file Command in Linux: Identify File Types Without Extensions

The file command inspects the actual contents of a file and reports its type — regardless of…

2 days ago

chattr Command in Linux: Set File Attributes with lsattr

chattr sets and removes special file attributes that operate at the filesystem level, separate from standard…

2 days ago

env Command in Linux: Show and Set Environment Variables

env prints the current environment, sets or removes variables for a single command, and can start…

2 days ago