{"id":13801752,"url":"https://github.com/projectdiscovery/nuclei-burp-plugin","last_synced_at":"2025-04-13T10:06:25.224Z","repository":{"id":37470509,"uuid":"448849019","full_name":"projectdiscovery/nuclei-burp-plugin","owner":"projectdiscovery","description":"Nuclei plugin for BurpSuite","archived":false,"fork":false,"pushed_at":"2024-09-11T09:29:20.000Z","size":63116,"stargazers_count":1231,"open_issues_count":23,"forks_count":120,"subscribers_count":29,"default_branch":"main","last_synced_at":"2025-04-06T05:14:53.676Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/projectdiscovery.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-17T10:31:33.000Z","updated_at":"2025-04-04T02:25:04.000Z","dependencies_parsed_at":"2023-10-10T17:44:09.069Z","dependency_job_id":"a050f381-4257-449f-b116-0745c2ce6b14","html_url":"https://github.com/projectdiscovery/nuclei-burp-plugin","commit_stats":{"total_commits":140,"total_committers":4,"mean_commits":35.0,"dds":"0.27142857142857146","last_synced_commit":"7a07d0887e3d52a0a04a6a4edfbc8dbc72e3b3bf"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectdiscovery%2Fnuclei-burp-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectdiscovery%2Fnuclei-burp-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectdiscovery%2Fnuclei-burp-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/projectdiscovery%2Fnuclei-burp-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/projectdiscovery","download_url":"https://codeload.github.com/projectdiscovery/nuclei-burp-plugin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248688575,"owners_count":21145765,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T00:01:26.888Z","updated_at":"2025-04-13T10:06:25.184Z","avatar_url":"https://github.com/projectdiscovery.png","language":"Java","funding_links":[],"categories":["Tool Integration","Java"],"sub_categories":["SSRF"],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://nuclei.projectdiscovery.io\"\u003e\u003cimg src=\"static/nuclei-logo.png\" width=\"200px\" alt=\"Nuclei Burp Plugin\"\u003e\u003c/a\u003e\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003eNuclei Template Generator Burp Plugin\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://discord.gg/projectdiscovery\"\u003e\u003cimg src=\"https://img.shields.io/discord/695645237418131507.svg?logo=discord\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://twitter.com/pdnuclei\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/pdnuclei.svg?logo=twitter\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\nA `Burp Suite` plugin intended to help with [`nuclei`](https://github.com/projectdiscovery/nuclei) template generation.\n\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cbr/\u003e\n  \u003ca href=\"https://www.youtube.com/watch?v=PMHCnaU7dfo\" target=\"_blank\"\u003e\u003cimg src=\"static/video_thumbnail.png\" alt=\"Nuclei Burp Plugin Demo Video\"\u003e\u003c/a\u003e  \n  \u003cbr/\u003e\u003cbr/\u003e\n  \u003ca href=\"https://nuclei.projectdiscovery.io\" target=\"_blank\"\u003e\u003cimg src=\"static/demo.gif\" alt=\"Nuclei Burp Plugin Demo\"\u003e\u003c/a\u003e\n  \u003cbr/\u003e\u003cbr/\u003e\n  \u003ca href=\"https://nuclei.projectdiscovery.io\" target=\"_blank\"\u003e\u003cimg src=\"static/v1_1_0-demo.gif\" alt=\"Nuclei Burp Plugin v1.1.0 Demo\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n## Features\n\n### Template matcher generation\n\n* `Word` and `Binary` matcher creation using selected response snippets from `Proxy` history or `Repeater` contexts\n* Multi-line selections are split to separate words for readability\n* Binary matchers are created for selections containing non-`ASCII` characters\n* The `part` field is auto-set based on whether the selection was in the request header or body\n* Every generated template auto-includes a `Status` matcher, using the `HTTP` status code of the response\n\n### Modifying generated templates\n* New matchers and requests can be added to previously generated templates, by highlighting a part of a response\n* In case of a CVE, template information fields can be filled in automatically (Right-click on a template, Add → Classification → CVE)\n\n### Request template generation\n\n* In the `Intruder` tab, selected payload positions can be used to generate request templates, using one of the following attack types: `Battering ram`, `Pitchfork` or `Cluster bomb`\n* The selected text snippet from an `HTTP` request under the `Proxy` or `Repeater` tab can be used to generate a request template with the attack type defaulting to `Battering ram`\n* Templates containing multiple requests can be generated by selecting multiple proxy items and clicking generate\n\n### Template execution\n\n* Generated templates can be executed instantly, and the output is shown in the same window for convenience\n* The plugin auto-generates the CLI command, using the absolute nuclei path, absolute template path and target information extracted from the desired request\n* History of unique, executed commands are stored, can be quick searched and re-executed within the current session\n* CLI flag filtering and completion support can be accessed using the `CTRL + R` keyboard shorcut \n\n### Experimental features\n\n* (Non-contextual) `YAML` property and value **auto-complete**, using reserved words from the nuclei [`JSON` schema](https://github.com/projectdiscovery/nuclei/blob/master/nuclei-jsonschema.json)\n* **Syntax highlighting** of `YAML` properties, based on reserved words\n\n### Productivity\n\n* Almost every action can be triggered using keyboard shortcuts:\n    * **F1**: open nuclei template documentation\n    * **Ctrl + Enter**: execute current template\n    * **Ctrl + Shift + E**: jump to the template editor\n    * **Ctrl + L**: jump to the CLI input field\n    * **Ctrl + R**: show CLI argument helper\n    * **Ctrl + S**: save the current template\n    * **Ctrl + Plus/Minus**: increase/decrease font size\n    * **Ctrl + Q**: quit\n* Tab support:\n    * **Ctrl + Tab** or **Ctrl + PageDown**: open next tab\n    * **Ctrl + Shift + Tab** or **Ctrl + PageUp**: open previous tab\n    * **Ctrl + [1-9]**: move to n-th tab\n    * **Mouse Scroll Up/Down** over the tabs: navigate to next or previous tab\n    * **Ctrl + W** or **Middle Mouse Button Click**: close current tab\n* The template path is auto-updated if the template is saved to a new location\n* The `template-id` is recommended as file name when saving\n\n### Settings\n\n* The plugin attempts to auto-detect and complete the configuration values\n* The code searches for the nuclei binary path, using the values from the process's environmental `PATH` variable.  \n  **Note**: the Burp Suite binary, opposed to the stand-alone BurpSuite jar, might not have access to\n  the current user's `PATH` variable.\n* The target template path is calculated based on the default nuclei template directory, configured under `\u003cUSER_HOME\u003e/.config/nuclei/.templates-config.json`\n* The name of the currently logged-in operating system user is used as a default value for the template author configuration\n* The user can decide whether to display the generated template in a dedicated window or embedded under \"Generator\", within the Nuclei tab\n\n### Look and feel\n\n* The template generator window supports Dark and Light themes. The presented theme is chosen based on the selected Burp Suite theme, under `User Options`\n* Support for **colored** nuclei output\n* Modifiable font size in the template editor and command output\n\n## Building the code\n\nUse `mvn clean package -DskipTests` to build the project yourself. It requires Maven `3.x` and Java `11+`.\n\nOn macOS the dependencies for the plugin can be met using Homebrew: `brew install mvn openjdk@11`\n\nAlternatively, different builds can be downloaded from the [Actions](https://github.com/projectdiscovery/nuclei-burp-plugin/actions) section. The built artifact can be found under the latest build's `Artifacts`\nsection. These artifacts are generated after every commit, but are only stored for a limited amount of time.\n\n## Installation\n\nBy building the code:\n1. Build the code yourself or download a pre-built/[release](https://github.com/projectdiscovery/nuclei-burp-plugin/releases) version\n2. Go to `Extender` in `Burp Suite`\n3. Click the `Add` button in the `Extensions` tab\n4. Leave the `Extension Type` on `Java`\n5. Select the path to the plugin (`.jar`)\n\nThrough [BApp Store](https://portswigger.net/bappstore/526f5564b7414bfe978e650d8ea6567b):\n1. Go to `Extender` in `Burp Suite`\n2. Select the `BApp Store` tab\n3. Search for **Nuclei Template Generator Plugin**\n4. Clink on **Install**\n\nNote: this plugin does **NOT** require **Burp Suite Professional**.\n\n## Screenshots\n\n![Generated Word matcher on response header](static/generated_header_word_matcher_template.png \"Generated Word matcher on response header\")\n![Generated multi-word matcher on response body](static/generated_body_multi_word_matcher_template.png \"Generated multi-word matcher on response body\")\n![Generated request template using Battering ram](static/generated_batteringram_request_template.png \"Generated request template using Battering ram\")\n\n### Credits\n\nCreated with ❤️ by [@forgedhallpass](https://github.com/forgedhallpass)\n\n### License\n\nNuclei and this plugin are distributed under [MIT License](LICENSE).\n\n\u003ch1 align=\"left\"\u003e\n  \u003ca href=\"https://discord.gg/projectdiscovery\"\u003e\u003cimg src=\"static/join-discord.png\" width=\"380\" alt=\"Join Discord\"\u003e\u003c/a\u003e \u003ca href=\"https://nuclei.projectdiscovery.io\"\u003e\u003cimg src=\"static/check-nuclei-documentation.png\" width=\"380\" alt=\"Check Nuclei Documentation\"\u003e\u003c/a\u003e\n\u003c/h1\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprojectdiscovery%2Fnuclei-burp-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprojectdiscovery%2Fnuclei-burp-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprojectdiscovery%2Fnuclei-burp-plugin/lists"}