Web Application Firewall fingerprinting tool

superior_hosting_service

Firewall

Wafme0w Fast and lightweight Web Application Firewall Fingerprinting tool


Features

Based on Wafw00f, its features are:

  • Can detect 153 different Firewalls
  • Concurrent fingerprinting
  • STDIN supported
  • Fast detection mode for huge target lists
  • Multiple output formats supported (JSON, file, stdout)

Benchmark

Scanned Alexa top 100 domains. Running on i7-7700K CPU @ 4.20GHz × 4 (8 Threads)

toolflagsTime elapsedWafs foundGeneric Wafs foundDiff
wafme0w–fast –concurrency 301min 37s (Best)2011+0%
wafme0w–concurrency 303min 51s22 (Best)16+138%
wafw00f13min 3s2016+707%
wafw00f-a15min 8s2023 (Best)+836%

Getting started


Installation

wafme0w requires go >= 1.19 to install successfully. Run the following command to install the latest version:

go install -v github.com/Lu1sDV/wafme0w/cmd/wafme0w@latest

Running Wafme0w

To run the tool on a target, just use the following command.

cat /tmp/alexa-top-30.txt | wafme0w --concurrency 30 --no-warning --no-generic


             /\_/\           ___
            = o_o =_______    \ \ 
             __^      __(  \.__) )
            <_____>__(_____)____/

                Wafme0w v1.0.0

Fast Web Application Firewall Fingerprinting tool

[~] https://microsoftonline.com no WAFs have been found
[~] https://reddit.com no WAFs have been found
[+] https://canva.com is behind Cloudflare (Cloudflare Inc.)
[~] https://whatsapp.com no WAFs have been found
[~] https://microsoft.com no WAFs have been found
[~] https://live.com no WAFs have been found
[~] https://163.com no WAFs have been found
[~] https://yandex.ru no WAFs have been found
[~] https://zhihu.com no WAFs have been found
[~] https://taobao.com no WAFs have been found
[~] https://wikipedia.org no WAFs have been found
[~] https://qq.com no WAFs have been found
[~] https://bilibili.com no WAFs have been found
[~] https://bing.com no WAFs have been found
[~] https://vk.com no WAFs have been found
[~] https://facebook.com no WAFs have been found
[~] https://twitch.tv no WAFs have been found
[~] https://google.com no WAFs have been found
[~] https://yahoo.com no WAFs have been found
[~] https://linkedin.com no WAFs have been found
[~] https://twitter.com no WAFs have been found
[~] https://office.com no WAFs have been found
[+] https://zoom.us is behind Cloudflare (Cloudflare Inc.)
[~] https://csdn.net no WAFs have been found
[~] https://github.com no WAFs have been found
[~] https://baidu.com no WAFs have been found
[~] https://netflix.com no WAFs have been found
[+] https://amazon.com is behind Cloudfront (Amazon)
[~] https://instagram.com no WAFs have been found
[~] https://youtube.com no WAFs have been found

Wafme0w Go library


Usage Example:

package main

import (
	"bytes"
	"fmt"
	"github.com/Lu1sDV/wafme0w/pkg/wafme0w"
	"os"
)

func main() {
	targets := []byte("https://google.com\nhttps://paypal.com\n")
	targetsReader := bytes.NewReader(targets)
	/*
		Otherwise you can also load your targets from a file
		targetsReader, err := os.Open("/tmp/alexa-top-20.txt")
		if err != nil {
			panic(err)
		}
	*/
	fingerPrintsFile, err := os.Open("/PATH/TO/wafme0w/cmd/wafme0w/resources/waf-fingerprints.json")
	//fingerprints at https://github.com/Lu1sDV/wafme0w/blob/main/cmd/wafme0w/resources/waf-fingerprints.json 
	opts := &wafme0w.Options{Inputs: targetsReader,
		FingerPrints: fingerPrintsFile,
		Silent:       true,
		Concurrency:  10,
		//FastMode:     true,
		//OutputFile: "myout.json",
	}
	runner := wafme0w.NewRunner(opts)
	result, err := runner.Scan()
	if err != nil {
		panic(err)
	}
	fmt.Printf("%#v\n", result)
}

The Wafme0w is a github repository by Luis Di Vittorio