Wapiti
Wapiti is a black-box web application vulnerability scanner that audits security by scanning deployed web pages for scripts and forms to inject payloads. It detects vulnerabilities like SQL injections, XSS, file disclosures, command execution, and more.
Description
Wapiti allows users to audit the security of web applications without access to source code. It performs black-box scans by crawling web pages, identifying scripts and forms, and fuzzing them with payloads to detect vulnerabilities. This makes it suitable for testing live deployments where source code is unavailable.
Key use cases include penetration testing of web apps, identifying common injection flaws, XSS risks, file handling issues, and server misconfigurations. It supports various scopes like URL, page, folder, subdomain, or domain, and integrates features like authentication, proxy usage, and headless browsing for realistic testing scenarios.
The tool leverages databases like Nikto's for dangerous file detection and supports advanced attacks such as SSRF via external services. Additional utilities like wapiti-getcookie help in cookie management for authenticated scans.
How It Works
Wapiti conducts black-box scans by crawling web applications to find scripts and forms, then fuzzes them with payloads to detect vulnerabilities. It checks for database injections (SQL, XPath), reflected/permanent XSS, file disclosures (include, fopen), command execution (eval, system), XXE, CRLF injection, weak htaccess, backup files, Shellshock, directory brute-forcing, and SSRF. Uses mitmproxy for traffic interception, Playwright for browser automation, and supports Tor/proxies for anonymity.
Installation
sudo apt install wapitiFlags
Examples
wapiti -hwapiti -u URLwapiti --swagger URIwapiti --data data -u URLwapiti --scope url -u URLwapiti -p PROXY_URL -u URLwapiti --tor -u URLwapiti-getcookie -hwapiti-getcookie -u URL -c COOKIE