CRLFuzz is a fast tool to scan CRLF vulnerability written in Go.
Installation
The installation is easy. You can download a prebuilt binary from releases page, unpack and run! or with
curl -sSfL https://git.io/crlfuzz | sh -s — -b /usr/local/bin
If you have go1.13+ compiler installed and configured:
GO111MODULE=on go get -v github.com/dwisiswant0/crlfuzz/cmd/crlfuzz
In order to update the tool, you can use -u flag with go get command.
git clone https://github.com/dwisiswant0/crlfuzz
cd crlfuzz/cmd/crlfuzz
go build .
mv crlfuzz /usr/local/bin
Usage
crlfuzz -u “http://target”
crlfuzz -h
This will display help for the tool. Here are all the switches it supports.
| Flag | Description |
|---|---|
| -u, –url | Define single URL to fuzz |
| -l, –list | Fuzz URLs within file |
| -X, –method | Specify request method to use (default: GET) |
| -o, –output | File to save results |
| -d, –data | Define request data |
| -H, –header | Pass custom header to target |
| -x, –proxy | Use specified proxy to fuzz |
| -c, –concurrent | Set the concurrency level (default: 25) |
| -s, –silent | Silent mode |
| -v, –verbose | Verbose mode |
| -V, –version | Show current CRLFuzz version |
| -h, –help | Display its help |
You can define a target in 3 ways:
crlfuzz -u “http://target”
crlfuzz -l /path/to/urls.txt
In case you want to chained with other tools.
subfinder -d target -silent | httpx -silent | crlfuzz
By default, CRLFuzz makes requests with GET method. If you want to change it, you can use the -X flag.
crlfuzz -u “http://target” -X “GET”
You can also save fuzzing results to a file with -o flag.
crlfuzz -l /path/to/urls.txt -o /path/to/results.txt
If you want to send a data request using POST, DELETE. PATCH or other methods, you just need to use -d flag.
crlfuzz -u “http://target” -X “POST” -d “data=body”
May you want to use custom headers to add cookies or other header parts.
crlfuzz -u “http://target” -H “Cookie: …” -H “User-Agent: …”
Using a proxy, proxy string can be specified with a protocol:// prefix to specify alternative proxy protocols.
crlfuzz -u “http://target” -x http://127.0.0.1:8080
Concurrency
Concurrency is the number of fuzzing at the same time. Default value CRLFuzz provide is 25, you can change it by using -c flag.
crlfuzz -l /path/to/urls.txt -c 50
If you activate this silent mode with the -s flag, you will only see vulnerable targets.
crlfuzz -l /path/to/urls.txt -s | tee vuln-urls.txt
Unlike silent mode, it will display error details if there is an error with the -v flag.
crlfuzz -l /path/to/urls.txt -v
To display the current version of CRLFuzz with the -V flag.
crlfuzz -V
You can use CRLFuzz as a library.
package main
import (
“fmt”
“github.com/dwisiswant0/crlfuzz/pkg/crlfuzz”
)
func main() {
target := “http://target”
method := “GET”
// Generates a potentially CRLF vulnerable URLs
for _, url := range crlfuzz.GenerateURL(target) {
// Scan against target
vuln, err := crlfuzz.Scan(url, method, “”, []string{}, “”)
if err != nil {
panic(err)
}
if vuln {
fmt.Printf(“VULN! %s\n”, url)
}
}
}
PHP 8.5 is included in Ubuntu 26.04's default repositories and is the recommended version for…
Ubuntu 26.04 LTS "Resolute Raccoon" arrived on April 23, 2026 with Linux kernel 7.0, GNOME 50,…
Kubernetes is the standard platform for running containerized workloads across multiple servers with self-healing, rolling…
Ubuntu 26.04 LTS "Resolute Raccoon" was released on April 23, 2026 with Linux kernel 7.0, GNOME desktop, and standard security support until April 2031. A clean install gives you a known-good starting point on new hardware, when replacing another operating system, or when an upgrade path is not practical. This guide walks through how to install Ubuntu 26.04: downloading and verifying the ISO, writing a bootable USB drive, completing the installer, and doing the initial setup after the first boot. Before you start: You need a USB drive with at least 12 GB of free space. Back up any existing data on the target machine — the installer can erase the entire disk. Install Ubuntu 26.04: Download the ISO…
The correct timezone affects more than the clock on your screen. It drives cron job scheduling, systemd timer execution, log file timestamps, database record timing, and SSL certificate validity checks. A mismatched timezone can cause scheduled jobs to fire at the wrong hour and make log timestamps impossible to match with real-world events. This guide shows how to change timezone on Ubuntu using the timedatectl command (the recommended approach for servers and remote machines) and through the graphical Date & Time settings on desktop systems. The steps apply to all current Ubuntu releases including 24.04 and 26.04. <strong>Prerequisite:</strong> Only the root user or a user with sudo access can change the system timezone. Check the Current Timezone Before You Change It Run timedatectl with no arguments to see the active timezone and clock status: bashtimedatectl Sample output: Local…
Atom is a free, open-source, cross-platform code editor developed by GitHub. Built on Electron, it uses…