A framework for using AFL to fuzz web applications and detect SQL/command injection vulnerabilities.
Witcher is a framework for fuzzing web applications using AFL (American Fuzzy Lop) to detect security vulnerabilities like SQL injection and command injection. It applies mutational fuzzing and fault escalation techniques to explore web applications and identify flaws that could be exploited by attackers. The tool is designed to bring coverage-guided fuzzing, commonly used for binary programs, to the web application domain.
Security researchers, penetration testers, and developers focused on web application security who need to identify injection vulnerabilities in PHP, Python, Java, Node.js, or Ruby applications.
Developers choose Witcher because it extends AFL's proven fuzzing capabilities to web applications, providing a specialized, open-source solution for detecting SQL and command injection vulnerabilities through grey-box coverage-guided mutational fuzzing.
Witcher is the first framework for using AFL to fuzz web applications.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages AFL-based mutational fuzzing to systematically explore web application paths, applying grey-box coverage guidance for efficient vulnerability discovery.
Specifically targets SQL and command injection vulnerabilities through fault escalation techniques, as validated in the S&P 2023 publication.
Supports PHP, Python, Java, Node.js, and Ruby via pre-built Docker containers, enabling security testing across diverse server-side codebases.
Allows detailed customization through JSON config files, including timeouts, script handling, and core allocation, for tailored security assessments.
Requires building and managing multiple Docker containers with submodules, making initial setup error-prone and time-consuming, as seen in the build scripts.
Only detects SQL and command injection flaws, missing other common web vulnerabilities like cross-site scripting (XSS) or CSRF, limiting its scope.
Documentation is research-oriented, with heavy reliance on academic papers and experimental scripts, lacking practical guides for production use.
Instrumentation and fuzzing processes incur significant CPU and memory usage, unsuitable for resource-constrained or live environments.