mirror of
https://github.com/projectdiscovery/nuclei.git
synced 2025-12-24 05:15:27 +00:00
Docker Usage Documentation (#4155)
* Docker usage documentation and links between them * typo update --------- Co-authored-by: sandeep <8293321+ehsandeep@users.noreply.github.com>
This commit is contained in:
parent
2d175da0d5
commit
5d8f0232a0
@ -24,6 +24,8 @@ title: 'Install'
|
|||||||
```bash
|
```bash
|
||||||
docker pull projectdiscovery/nuclei:latest
|
docker pull projectdiscovery/nuclei:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Docker-specific usage instructions can be found [here](./running#running-with-docker).
|
||||||
</Tab>
|
</Tab>
|
||||||
<Tab title="Github">
|
<Tab title="Github">
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
@ -7,29 +7,29 @@ title: 'Running Nuclei'
|
|||||||
|
|
||||||
## Running **Nuclei**
|
## Running **Nuclei**
|
||||||
|
|
||||||
Nuclei templates can be primarily executed in two ways,
|
Nuclei templates can be primarily executed in two ways:
|
||||||
|
|
||||||
1. **Templates** (`-t/templates`)
|
1. **Templates** (`-t/templates`)
|
||||||
|
|
||||||
As default, all the templates (except nuclei-ignore list) gets executed from default template installation path.
|
As default, all the templates (except nuclei-ignore list) get executed from the default template installation path.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
nuclei -u https://example.com
|
nuclei -u https://example.com
|
||||||
```
|
```
|
||||||
|
|
||||||
Custom template directory or multiple template directory can be executed as follows,
|
Custom template directory or multiple template directory can be executed as follows:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
nuclei -u https://example.com -t cves/ -t exposures/
|
nuclei -u https://example.com -t cves/ -t exposures/
|
||||||
```
|
```
|
||||||
|
|
||||||
Custom template Github repos are downloaded under `github` directory. Custom repo templates can be passed as follows
|
Custom template Github repos are downloaded under `github` directory. Custom repo templates can be passed as follows:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
nuclei -u https://example.com -t github/private-repo
|
nuclei -u https://example.com -t github/private-repo
|
||||||
```
|
```
|
||||||
|
|
||||||
Similarly, Templates can be executed against list of URLs.
|
Similarly, Templates can be executed against a list of URLs.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
nuclei -list http_urls.txt
|
nuclei -list http_urls.txt
|
||||||
@ -41,7 +41,7 @@ nuclei -list http_urls.txt
|
|||||||
nuclei -u https://example.com -w workflows/
|
nuclei -u https://example.com -w workflows/
|
||||||
```
|
```
|
||||||
|
|
||||||
Similarly, Workflows can be executed against list of URLs.
|
Similarly, Workflows can be executed against a list of URLs.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
nuclei -list http_urls.txt -w workflows/wordpress-workflow.yaml
|
nuclei -list http_urls.txt -w workflows/wordpress-workflow.yaml
|
||||||
@ -77,7 +77,9 @@ And this example will run all the templates available under `~/nuclei-templates/
|
|||||||
nuclei -u https://example.com -tags config -t exposures/
|
nuclei -u https://example.com -tags config -t exposures/
|
||||||
```
|
```
|
||||||
|
|
||||||
Multiple filters works together with AND condition, below example runs all template with `cve` tags AND has `critical` OR `high` severity AND `geeknik` as author of template.
|
Multiple filters works together with AND condition,
|
||||||
|
below example runs all templates with `cve` tags
|
||||||
|
AND has `critical` OR `high` severity AND `geeknik` as author of template.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
nuclei -u https://example.com -tags cve -severity critical,high -author geeknik
|
nuclei -u https://example.com -tags cve -severity critical,high -author geeknik
|
||||||
@ -861,3 +863,25 @@ nuclei -passive -target http_data
|
|||||||
```
|
```
|
||||||
|
|
||||||
<Note>Passive mode support is limited for templates having `{{BasedURL}}` or `{{BasedURL/}}` as base path.</Note>
|
<Note>Passive mode support is limited for templates having `{{BasedURL}}` or `{{BasedURL/}}` as base path.</Note>
|
||||||
|
|
||||||
|
## Running With Docker
|
||||||
|
If Nuclei was installed within a Docker container based on the [installation instructions](./install),
|
||||||
|
the executable does not have the context of the host machine. This means that the executable will not be able to access
|
||||||
|
local files such as those used for input lists or templates. To resolve this, the container should be run with volumes
|
||||||
|
mapped to the local filesystem to allow access to these files.
|
||||||
|
|
||||||
|
### Basic Usage
|
||||||
|
This example runs a Nuclei container against `google.com`, prints the results to JSON and removes the container once it
|
||||||
|
has completed:
|
||||||
|
```sh
|
||||||
|
docker run --rm projectdiscovery/nuclei -u google.com -jsonl
|
||||||
|
```
|
||||||
|
|
||||||
|
### Using Volumes
|
||||||
|
This example runs a Nuclei container against a list of URLs, writes the results to a `.jsonl` file and removes the
|
||||||
|
container once it has completed.
|
||||||
|
```sh
|
||||||
|
# This assumes there's a file called `urls.txt` in the current directory
|
||||||
|
docker run --rm -v ./:/app/ projectdiscovery/nuclei -l /app/urls.txt -jsonl /app/results.jsonl
|
||||||
|
# The results will be written to `./results.jsonl` on the host machine once the container has completed
|
||||||
|
```
|
||||||
Loading…
x
Reference in New Issue
Block a user