Skip to content

Commit cda1fc0

Browse files
authored
Merge pull request #4882 from projectdiscovery/dev
nuclei v3.2.0
2 parents 0f4ad12 + d292ac8 commit cda1fc0

File tree

315 files changed

+19595
-4823
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

315 files changed

+19595
-4823
lines changed

.github/workflows/performance-test.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ jobs:
1515
os: [ubuntu-latest, macOS-latest]
1616

1717
runs-on: ${{ matrix.os }}
18+
if: github.repository == 'projectdiscovery/nuclei'
1819
steps:
1920
- name: Set up Go
2021
uses: actions/setup-go@v4

.github/workflows/publish-docs.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
fi
3030
go generate pkg/templates/templates.go
3131
go build -o "cmd/docgen/docgen" cmd/docgen/docgen.go
32-
./cmd/docgen/docgen ../SYNTAX-REFERENCE.md ../nuclei-jsonschema.json
32+
./cmd/docgen/docgen SYNTAX-REFERENCE.md nuclei-jsonschema.json
3333
git status -s | wc -l | xargs -I {} echo CHANGES={} >> $GITHUB_OUTPUT
3434
3535
- name: Commit files

.gitignore

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,19 @@ pkg/protocols/common/helpers/deserialization/testdata/ValueObject2.ser
2020
.gitignore
2121
pkg/js/devtools/bindgen/cmd/bindgen/bindgen
2222
pkg/js/devtools/jsdocgen/jsdocgen
23+
pkg/js/devtools/tsgen/tsgen
24+
pkg/js/devtools/tsgen/cmd/tsgen/tsgen
2325
*.DS_Store
2426
pkg/protocols/headless/engine/.cache
2527
/nuclei
2628
/bindgen
2729
/jsdocgen
30+
/tsgen
2831
/scrapefuncs
2932
/integration_tests/.cache/
30-
/integration_tests/.nuclei-config/
31-
/*.yaml
33+
/*.yaml
34+
**/*-config
35+
**/*-cache
36+
/fuzzplayground
37+
integration_tests/fuzzplayground
38+

Makefile

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,19 @@ tidy:
3232
$(GOMOD) tidy
3333
devtools:
3434
$(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "bindgen" pkg/js/devtools/bindgen/cmd/bindgen/main.go
35-
$(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "jsdocgen" pkg/js/devtools/jsdocgen/main.go
35+
$(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "tsgen" pkg/js/devtools/tsgen/cmd/tsgen/main.go
3636
$(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "scrapefuncs" pkg/js/devtools/scrapefuncs/main.go
37+
jsupdate:
38+
$(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "bindgen" pkg/js/devtools/bindgen/cmd/bindgen/main.go
39+
$(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "tsgen" pkg/js/devtools/tsgen/cmd/tsgen/main.go
40+
./bindgen -dir pkg/js/libs -out pkg/js/generated
41+
./tsgen -dir pkg/js/libs -out pkg/js/generated/ts
42+
ts:
43+
$(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "tsgen" pkg/js/devtools/tsgen/cmd/tsgen/main.go
44+
./tsgen -dir pkg/js/libs -out pkg/js/generated/ts
45+
fuzzplayground:
46+
$(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "fuzzplayground" cmd/tools/fuzzplayground/main.go
47+
memogen:
48+
$(GOBUILD) $(GOFLAGS) -ldflags '$(LDFLAGS)' -o "memogen" cmd/memogen/memogen.go
49+
./memogen -src pkg/js/libs -tpl cmd/memogen/function.tpl
3750

README.md

Lines changed: 26 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
<p align="center">
2121
<a href="#how-it-works">How</a> •
2222
<a href="#install-nuclei">Install</a> •
23-
<a href="#for-security-engineers">For Security Engineers</a> •
24-
<a href="#for-developers-and-organizations">For Developers</a> •
2523
<a href="https://docs.projectdiscovery.io/tools/nuclei/">Documentation</a> •
2624
<a href="#credits">Credits</a> •
2725
<a href="https://nuclei.projectdiscovery.io/faq/nuclei/">FAQs</a> •
@@ -115,12 +113,17 @@ Usage:
115113

116114
Flags:
117115
TARGET:
118-
-u, -target string[] target URLs/hosts to scan
119-
-l, -list string path to file containing a list of target URLs/hosts to scan (one per line)
120-
-eh, -exclude-hosts string[] hosts to exclude to scan from the input list (ip, cidr, hostname)
121-
-resume string resume scan using resume.cfg (clustering will be disabled)
122-
-sa, -scan-all-ips scan all the IP's associated with dns record
123-
-iv, -ip-version string[] IP version to scan of hostname (4,6) - (default 4)
116+
-u, -target string[] target URLs/hosts to scan
117+
-l, -list string path to file containing a list of target URLs/hosts to scan (one per line)
118+
-eh, -exclude-hosts string[] hosts to exclude to scan from the input list (ip, cidr, hostname)
119+
-resume string resume scan using resume.cfg (clustering will be disabled)
120+
-sa, -scan-all-ips scan all the IP's associated with dns record
121+
-iv, -ip-version string[] IP version to scan of hostname (4,6) - (default 4)
122+
123+
TARGET-FORMAT:
124+
-im, -input-mode string mode of input file (list, burp, jsonl, yaml, openapi, swagger) (default "list")
125+
-ro, -required-only use only required fields in input format when generating requests
126+
-sfv, -skip-format-validation skip format validation (like missing vars) when parsing input file
124127

125128
TEMPLATES:
126129
-nt, -new-templates run only new templates added in latest nuclei-templates release
@@ -136,6 +139,7 @@ TEMPLATES:
136139
-tl list all available templates
137140
-sign signs the templates with the private key defined in NUCLEI_SIGNATURE_PRIVATE_KEY env variable
138141
-code enable loading code protocol-based templates
142+
-dut, -disable-unsigned-templates disable running unsigned templates or templates with mismatched signature
139143

140144
FILTERING:
141145
-a, -author string[] templates to run based on authors (comma-separated, file)
@@ -144,8 +148,8 @@ FILTERING:
144148
-itags, -include-tags string[] tags to be executed even if they are excluded either by default or configuration
145149
-id, -template-id string[] templates to run based on template ids (comma-separated, file, allow-wildcard)
146150
-eid, -exclude-id string[] templates to exclude based on template ids (comma-separated, file)
147-
-it, -include-templates string[] templates to be executed even if they are excluded either by default or configuration
148-
-et, -exclude-templates string[] template or template directory to exclude (comma-separated, file)
151+
-it, -include-templates string[] path to template file or directory to be executed even if they are excluded either by default or configuration
152+
-et, -exclude-templates string[] path to template file or directory to exclude (comma-separated, file)
149153
-em, -exclude-matchers string[] template matchers to exclude in result
150154
-s, -severity value[] templates to run based on severity. Possible values: info, low, medium, high, critical, unknown
151155
-es, -exclude-severity value[] templates to exclude based on severity. Possible values: info, low, medium, high, critical, unknown
@@ -217,6 +221,7 @@ INTERACTSH:
217221
FUZZING:
218222
-ft, -fuzzing-type string overrides fuzzing type set in template (replace, prefix, postfix, infix)
219223
-fm, -fuzzing-mode string overrides fuzzing mode set in template (multiple, single)
224+
-fuzz enable loading fuzzing templates
220225

221226
UNCOVER:
222227
-uc, -uncover enable uncover engine
@@ -233,6 +238,8 @@ RATE-LIMIT:
233238
-c, -concurrency int maximum number of templates to be executed in parallel (default 25)
234239
-hbs, -headless-bulk-size int maximum number of headless hosts to be analyzed in parallel per template (default 10)
235240
-headc, -headless-concurrency int maximum number of headless templates to be executed in parallel (default 10)
241+
-jsc, -js-concurrency int maximum number of javascript runtimes to be executed in parallel (default 120)
242+
-pc, -payload-concurrency int max payload concurrency for each template (default 25)
236243

237244
OPTIMIZATIONS:
238245
-timeout int time to wait in seconds before timeout (default 10)
@@ -294,22 +301,26 @@ CLOUD:
294301
-cup, -cloud-upload upload scan results to pdcp dashboard
295302
-sid, -scan-id string upload scan results to given scan id
296303

304+
AUTHENTICATION:
305+
-sf, -secret-file string[] path to config file containing secrets for nuclei authenticated scan
306+
-ps, -prefetch-secrets prefetch secrets from the secrets file
307+
297308

298309
EXAMPLES:
299310
Run nuclei on single host:
300-
$ nuclei -target example.com
311+
$ nuclei -target example.com
301312

302313
Run nuclei with specific template directories:
303-
$ nuclei -target example.com -t http/cves/ -t ssl
314+
$ nuclei -target example.com -t http/cves/ -t ssl
304315

305316
Run nuclei against a list of hosts:
306-
$ nuclei -list hosts.txt
317+
$ nuclei -list hosts.txt
307318

308319
Run nuclei with a JSON output:
309-
$ nuclei -target example.com -json-export output.json
320+
$ nuclei -target example.com -json-export output.json
310321

311322
Run nuclei with sorted Markdown outputs (with environment variables):
312-
$ MARKDOWN_EXPORT_SORT_MODE=template nuclei -target example.com -markdown-export nuclei_report/
323+
$ MARKDOWN_EXPORT_SORT_MODE=template nuclei -target example.com -markdown-export nuclei_report/
313324

314325
Additional documentation is available at: https://docs.nuclei.sh/getting-started/running
315326
```

0 commit comments

Comments
 (0)