Vulnerability Module

The vulnerability module performs active security testing to identify exploitable weaknesses. This module requires explicit authorization as it performs intrusive testing.


⚠️ Important Warning

LEGAL NOTICE: This module performs active security testing that may:

  • Send malicious payloads to targets

  • Attempt to exploit vulnerabilities

  • Trigger security alerts

  • Potentially cause service disruption

Only use with explicit written authorization.


Why This Order of Tests?

Vulnerability checks run last in reconFTW's pipeline for important reasons:

  1. Dependency Chain: Tests require data from previous phases:

    • URLs from web analysis → XSS, SQLi, LFI testing

    • Parameters from param_discovery → Injection point testing

    • JavaScript analysis → Prototype pollution candidates

  2. Detection Risk: Vuln scanning generates suspicious traffic:

    • SQL injection payloads like ' OR 1=1--

    • XSS payloads with <script> tags

    • SSRF callbacks to external servers

    Running this phase last means all passive/semi-active recon is complete before potential detection.

  3. Resource Intensity: Fuzzing and exploitation testing consume significant resources. Running them on a refined target list (after filtering) is more efficient than testing everything.


Callback Servers for Blind Vulnerabilities

Some vulnerabilities don't show direct responses. Blind SSRF, out-of-band XXE, and blind command injection require callback detection.

reconFTW supports:

  • interactsh: ProjectDiscovery's callback server (default)

  • Burp Collaborator: If configured

Configure in reconftw.cfg:


Module Overview

Function
Vulnerability Type
Tools

nuclei_check

CVEs, misconfigs, exposures

nuclei

xss

Cross-Site Scripting

dalfox

sqli

SQL Injection

sqlmap, ghauri

cors

CORS Misconfiguration

Corsy

open_redirect

Open Redirect

Oralyzer

ssrf_checks

Server-Side Request Forgery

ffuf, interactsh

crlf_checks

CRLF Injection

crlfuzz

lfi

Local File Inclusion

ffuf

ssti

Server-Side Template Injection

ffuf

command_injection

Command Injection

commix

prototype_pollution

Prototype Pollution

ppmap

smuggling

HTTP Request Smuggling

smuggler

webcache

Web Cache Poisoning

Web-Cache-Vulnerability-Scanner

4xxbypass

403/401 Bypass

nomore403

fuzzparams

Parameter Fuzzing

nuclei

test_ssl

SSL/TLS Issues

testssl

spraying

Password Spraying

brutespray

brokenLinks

Broken Link Hijacking

katana


Configuration Options


Nuclei Scanning

nuclei_check - Full Vulnerability Scanning

Nuclei is the primary vulnerability scanner, checking for thousands of known vulnerabilities.

Template Categories:

  • CVEs (known vulnerabilities)

  • Exposures (sensitive files, directories)

  • Misconfigurations

  • Default credentials

  • Takeovers

  • Technologies

How It Works:

Output:

Sample Output:

Configuration:

Excluding Templates:


Injection Vulnerabilities

xss - Cross-Site Scripting

Tests for XSS vulnerabilities using Dalfox.

How It Works:

XSS Types Tested:

  • Reflected XSS

  • DOM-based XSS

  • Blind XSS (with callback server)

Output:

Sample Output:

Configuration:


sqli - SQL Injection

Tests for SQL injection using SQLMap and optionally Ghauri.

How It Works:

SQLi Types:

  • Error-based

  • Union-based

  • Blind (Boolean/Time-based)

  • Stacked queries

Output:

Sample Output:

Configuration:


ssti - Server-Side Template Injection

Tests for template injection vulnerabilities.

How It Works:

Payloads Tested:

Output:

Configuration:


lfi - Local File Inclusion

Tests for LFI/path traversal vulnerabilities.

How It Works:

Payloads Tested:

Output:

Configuration:


command_injection - Command Injection

Tests for OS command injection using Commix.

How It Works:

Injection Techniques:

  • Classic injection (;, |, &)

  • Blind injection (time-based)

  • File-based injection

Output:

Configuration:


Server-Side Vulnerabilities

ssrf_checks - Server-Side Request Forgery

Tests for SSRF vulnerabilities using callback servers.

How It Works:

Requires: Collaborator server (interactsh, Burp Collaborator)

SSRF Payloads:

Output:

Configuration:


cors - CORS Misconfiguration

Tests for CORS misconfigurations that allow unauthorized cross-origin access.

Issues Detected:

  • Wildcard origin (*)

  • Reflected origin

  • Null origin allowed

  • Credentials with wildcard

How It Works:

Output:

Sample Output:

Configuration:


crlf_checks - CRLF Injection

Tests for HTTP header injection via CRLF.

How It Works:

Output:

Configuration:


Advanced Vulnerabilities

prototype_pollution - Prototype Pollution

Tests for JavaScript prototype pollution in client-side code.

How It Works:

Output:

Configuration:


smuggling - HTTP Request Smuggling

Tests for HTTP request smuggling vulnerabilities.

Techniques Tested:

  • CL.TE (Content-Length vs Transfer-Encoding)

  • TE.CL

  • TE.TE

Output:

Configuration:


webcache - Web Cache Poisoning

Tests for web cache poisoning vulnerabilities.

Issues Detected:

  • Cache key manipulation

  • Unkeyed header poisoning

  • Parameter cloaking

Output:

Configuration:


Bypass Techniques

open_redirect - Open Redirect

Tests for open redirect vulnerabilities.

How It Works:

Output:

Sample Output:

Configuration:


4xxbypass - 403/401 Bypass

Attempts to bypass access controls returning 403/401 responses.

Techniques:

  • Header manipulation (X-Forwarded-For, etc.)

  • Path manipulation

  • HTTP method changes

  • Protocol downgrades

How It Works:

Output:

Sample Output:

Configuration:


SSL/TLS Analysis

test_ssl - SSL/TLS Security

Full SSL/TLS security analysis.

Issues Detected:

  • Expired certificates

  • Weak ciphers

  • Protocol vulnerabilities (POODLE, BEAST, etc.)

  • Certificate chain issues

  • HSTS misconfigurations

Output:

Configuration:


Credential Testing

spraying - Password Spraying

Attempts common passwords against discovered services.

Services Tested:

  • SSH

  • FTP

  • HTTP Basic Auth

  • Database ports

  • And more...

How It Works:

Output:

Configuration:

⚠️ Warning: Password spraying can lock out accounts. Use with caution.


Parameter Fuzzing

fuzzparams - Parameter Value Fuzzing

Fuzzes parameter values with nuclei templates.

How It Works:

Output:

Configuration:


Identifies broken links that could be hijacked.

How It Works:

Output:

Configuration:


Enabling Vulnerability Scanning

Vulnerability scanning is disabled by default. To enable:

Method 1: Use -a Flag

Method 2: Enable in Config

Method 3: Selective Enabling


Output Summary

File
Content

nuclei_output/*.txt

Nuclei findings by severity

vulns/xss.txt

XSS vulnerabilities

vulns/sqli.txt

SQL injection

vulns/cors.txt

CORS misconfigs

vulns/ssrf.txt

SSRF vulnerabilities

vulns/lfi.txt

LFI/path traversal

vulns/ssti.txt

Template injection

vulns/open_redirect.txt

Open redirects

vulns/4xxbypass.txt

Access control bypasses

vulns/testssl.txt

SSL/TLS issues


Best Practices

  1. Authorization First: Always have written permission before scanning

  2. Rate Limiting: Use -q flag to avoid overwhelming targets

  3. Scope Awareness: Use -x to exclude out-of-scope targets

  4. Verification: Manually verify findings before reporting

  5. Responsible Disclosure: Follow responsible disclosure practices

  6. Callback Servers: Set up proper callback infrastructure for blind vulns


Next Steps

Last updated