Nuclei + Wordfence = ♥

88,905 Nuclei Templates for WordPress Security Scanning 🥳

GitHub Workflow Status pre-commit Templates added
Project Demo
--- Level up your WordPress security game! This project's got a treasure trove of fresh [Nuclei](https://github.com/projectdiscovery/nuclei) templates for WordPress. Scan for weaknesses in Core, plugins, and themes – all based on the latest intel from [Wordfence.com](https://www.wordfence.com/threat-intel/vulnerabilities/). Here's why this is your new best friend: * **Massive collection**: No more hunting for individual templates, you've got a whole arsenal at your fingertips. * **Always on point**: These templates stay updated with the freshest threats, so you're never behind the curve. * **Open source magic**: Need to tweak a template for a specific situation? No problem, you've got full control. If you're guarding a WordPress site, this project is your secret weapon to identify vulnerabilities before the bad guys do. Stop wasting time and secure your sites like a pro! --- > [!TIP] > If you found this project helpful, please consider buying me a coffee.
>
> [![Buy Me A Coffee](https://img.shields.io/badge/Buy%20Me%20A%20Coffee-FFDD00?style=for-the-badge&logo=buy-me-a-coffee&logoColor=black)](https://www.buymeacoffee.com/topscoder) ### ✨ What's in it?!
categorytotal
wp-plugins81,876
wp-themes6,248
wp-core787
other0
severitytotal
critical8,703
high15,569
medium23,576
low41,057
info0
## 🚀 Quick Start To install this `nuclei-wordfence-cve` repository for use with Nuclei, you can use the following commands: ```bash export GITHUB_TEMPLATE_REPO=topscoder/nuclei-wordfence-cve nuclei -update-templates ``` Once you have installed this template repo using the commands above, you can run the following command to scan for vulnerabilities using Nuclei: ```bash nuclei -t github/topscoder/nuclei-wordfence-cve -u https://target.com ``` Wordfence provides two separate feeds for vulnerabilities. The first feed includes only production vulnerabilities, each with an assigned CVE. The second feed contains candidate vulnerabilities, which do not yet have a CVE assigned and may or may not be promoted to the production feed. To differentiate templates generated from these feeds, a tag is assigned to each template—either production or candidate—allowing you to target them using a tag filter. _Include only production templates:_ ```bash nuclei -t github/topscoder/nuclei-wordfence-cve -tags production -u https://target.com ``` _Include only candidate templates:_ ```bash nuclei -t github/topscoder/nuclei-wordfence-cve -tags candidate -u https://target.com ``` ### 💻 Examples Here are some examples how to use the templates: * To scan for **all known vulnerabilities** in WordPress, you can run the following command: ```bash nuclei -t github/topscoder/nuclei-wordfence-cve -u https://target.com ``` * To scan for a **CVE specific vulnerability**, you can run the following command: ```bash nuclei -t github/topscoder/nuclei-wordfence-cve -template-id cve-2023-32961 -u https://target.com ``` * To scan only for **critical vulnerabilities**, you can run the following command: ```bash nuclei -t github/topscoder/nuclei-wordfence-cve -severity critical -u https://target.com ``` * To scan only for **WordPress core vulnerabilities**, you can run the following command: ```bash nuclei -t github/topscoder/nuclei-wordfence-cve -tags wp-core -u https://target.com ``` * To scan only for **WordPress plugin vulnerabilities**, you can run the following command: ```bash nuclei -t github/topscoder/nuclei-wordfence-cve -tags wp-plugin -u https://target.com ``` * To scan only for **WordPress theme vulnerabilities**, you can run the following command: ```bash nuclei -t github/topscoder/nuclei-wordfence-cve -tags wp-theme -u https://target.com ``` * To go wild, you can combine and combine and combine: ```bash nuclei -t github/topscoder/nuclei-wordfence-cve -tags wp-plugin,wp-theme -severity critical,high ``` * To go even wilder, you can use the template condition flag (`-tc`) that allows complex expressions like the following ones: ```bash nuclei -t github/topscoder/nuclei-wordfence-cve -template-condition "contains(to_lower(name),'cross-site scripting') || contains(to_upper(name),'XSS')" -u https://target.com nuclei -t github/topscoder/nuclei-wordfence-cve -template-condition "contains(to_lower(name),'sql injection') || contains(to_lower(description),'sql injection')" -u https://target.com nuclei -t github/topscoder/nuclei-wordfence-cve -template-condition "contains(to_lower(name),'file inclusion') || contains(to_lower(description),'file inclusion')" -u https://target.com nuclei -t github/topscoder/nuclei-wordfence-cve -template-condition "contains(to_upper(name),'CSRF') || contains(to_upper(description),'CSRF')" -u https://target.com ``` ## 🤖 Severity recalculation Template severity is adjusted by the parser to better reflect real-world impact. The `determine_severity` function in `src/lib/wordfence_api_parser.py` inspects the vulnerability title and description and will downscale issues that are limited to authenticated users (e.g., require login or elevated roles). Example (simplified): - If the title or description contains the word `authenticated` (and not `unauthenticated`), the function treats the issue as lower risk and returns `Low` instead of a higher CVSS label. This helps avoid assigning `Medium`/`High` severities to vulnerabilities that only affect logged-in users, which reduces noise when scanning publicly accessible sites. ## 👥 Contributing If you would like to contribute to this project, please feel free to fork the repository and submit a pull request. ## 📚 License This project is licensed under the MIT License. > [!NOTE] > ~~ Please use it responsibly!