mirror of https://github.com/daffainfo/nuclei.git
nuclei v3 : misc updates (#4247)
* use parsed options while signing * update project layout to v3 * fix .gitignore * remove example template * misc updates * bump tlsx version * hide template sig warning with env * js: retain value while using log * fix nil pointer derefernce * misc doc update --------- Co-authored-by: sandeep <8293321+ehsandeep@users.noreply.github.com>dev
parent
3276703244
commit
dc44105baf
|
@ -8,7 +8,7 @@ updates:
|
||||||
|
|
||||||
# Maintain dependencies for go modules
|
# Maintain dependencies for go modules
|
||||||
- package-ecosystem: "gomod"
|
- package-ecosystem: "gomod"
|
||||||
directory: "v2/"
|
directory: "/"
|
||||||
schedule:
|
schedule:
|
||||||
interval: "weekly"
|
interval: "weekly"
|
||||||
target-branch: "dev"
|
target-branch: "dev"
|
||||||
|
|
|
@ -34,17 +34,15 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
go clean -modcache
|
go clean -modcache
|
||||||
go mod tidy
|
go mod tidy
|
||||||
working-directory: v2/
|
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: go build .
|
run: go build .
|
||||||
working-directory: v2/cmd/nuclei/
|
working-directory: cmd/nuclei/
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||||
run: go test ./...
|
run: go test ./...
|
||||||
working-directory: v2/
|
|
||||||
|
|
||||||
- name: Integration Tests
|
- name: Integration Tests
|
||||||
timeout-minutes: 50
|
timeout-minutes: 50
|
||||||
|
@ -59,12 +57,12 @@ jobs:
|
||||||
- name: Race Condition Tests
|
- name: Race Condition Tests
|
||||||
if: ${{ matrix.os != 'windows-latest' }} # known issue: https://github.com/golang/go/issues/46099
|
if: ${{ matrix.os != 'windows-latest' }} # known issue: https://github.com/golang/go/issues/46099
|
||||||
run: go run -race . -l ../functional-test/targets.txt -id tech-detect,tls-version
|
run: go run -race . -l ../functional-test/targets.txt -id tech-detect,tls-version
|
||||||
working-directory: v2/cmd/nuclei/
|
working-directory: cmd/nuclei/
|
||||||
|
|
||||||
- name: Example SDK Simple
|
- name: Example SDK Simple
|
||||||
run: go run .
|
run: go run .
|
||||||
working-directory: v2/examples/simple/
|
working-directory: examples/simple/
|
||||||
|
|
||||||
- name: Example SDK Advanced
|
- name: Example SDK Advanced
|
||||||
run: go run .
|
run: go run .
|
||||||
working-directory: v2/examples/advanced/
|
working-directory: examples/advanced/
|
||||||
|
|
|
@ -30,4 +30,4 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
chmod +x run.sh
|
chmod +x run.sh
|
||||||
bash run.sh ${{ matrix.os }}
|
bash run.sh ${{ matrix.os }}
|
||||||
working-directory: v2/cmd/functional-test
|
working-directory: cmd/functional-test
|
||||||
|
|
|
@ -25,4 +25,3 @@ jobs:
|
||||||
with:
|
with:
|
||||||
version: latest
|
version: latest
|
||||||
args: --timeout 5m
|
args: --timeout 5m
|
||||||
working-directory: v2/
|
|
|
@ -28,9 +28,8 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
go clean -modcache
|
go clean -modcache
|
||||||
go mod tidy
|
go mod tidy
|
||||||
working-directory: v2/
|
|
||||||
|
|
||||||
# Max GH exection time 6H => timeout after that
|
# Max GH exection time 6H => timeout after that
|
||||||
- name: Running performance with big list
|
- name: Running performance with big list
|
||||||
run: go run -race . -l ../functional-test/targets-150.txt
|
run: go run -race . -l ../functional-test/targets-150.txt
|
||||||
working-directory: v2/cmd/nuclei/
|
working-directory: cmd/nuclei/
|
|
@ -31,7 +31,6 @@ jobs:
|
||||||
go build -o "cmd/docgen/docgen" cmd/docgen/docgen.go
|
go build -o "cmd/docgen/docgen" cmd/docgen/docgen.go
|
||||||
./cmd/docgen/docgen ../SYNTAX-REFERENCE.md ../nuclei-jsonschema.json
|
./cmd/docgen/docgen ../SYNTAX-REFERENCE.md ../nuclei-jsonschema.json
|
||||||
git status -s | wc -l | xargs -I {} echo CHANGES={} >> $GITHUB_OUTPUT
|
git status -s | wc -l | xargs -I {} echo CHANGES={} >> $GITHUB_OUTPUT
|
||||||
working-directory: v2
|
|
||||||
|
|
||||||
- name: Commit files
|
- name: Commit files
|
||||||
if: steps.generate-docs.outputs.CHANGES > 0
|
if: steps.generate-docs.outputs.CHANGES > 0
|
||||||
|
|
|
@ -23,7 +23,6 @@ jobs:
|
||||||
with:
|
with:
|
||||||
args: "release --rm-dist"
|
args: "release --rm-dist"
|
||||||
version: latest
|
version: latest
|
||||||
workdir: v2/
|
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||||
SLACK_WEBHOOK: "${{ secrets.RELEASE_SLACK_WEBHOOK }}"
|
SLACK_WEBHOOK: "${{ secrets.RELEASE_SLACK_WEBHOOK }}"
|
||||||
|
|
|
@ -26,4 +26,3 @@ jobs:
|
||||||
with:
|
with:
|
||||||
args: "release --clean --snapshot"
|
args: "release --clean --snapshot"
|
||||||
version: latest
|
version: latest
|
||||||
workdir: v2/
|
|
|
@ -20,4 +20,4 @@ jobs:
|
||||||
go run . -ut
|
go run . -ut
|
||||||
go run . -validate
|
go run . -validate
|
||||||
go run . -validate -w workflows
|
go run . -validate -w workflows
|
||||||
working-directory: v2/cmd/nuclei/
|
working-directory: cmd/nuclei/
|
|
@ -1,27 +1,27 @@
|
||||||
.idea
|
.idea
|
||||||
.vscode
|
.vscode
|
||||||
.devcontainer
|
.devcontainer
|
||||||
v2/vendor
|
vendor
|
||||||
v2/dist
|
dist
|
||||||
integration_tests/nuclei
|
integration_tests/nuclei
|
||||||
integration_tests/integration-test
|
integration_tests/integration-test
|
||||||
v2/cmd/nuclei/main
|
cmd/nuclei/main
|
||||||
v2/cmd/nuclei/nuclei
|
cmd/nuclei/nuclei
|
||||||
v2/cmd/integration-test/nuclei
|
cmd/integration-test/nuclei
|
||||||
v2/cmd/functional-test/nuclei_dev
|
cmd/functional-test/nuclei_dev
|
||||||
v2/cmd/functional-test/nuclei_main
|
cmd/functional-test/nuclei_main
|
||||||
v2/cmd/functional-test/functional-test
|
cmd/functional-test/functional-test
|
||||||
v2/cmd/docgen/docgen
|
cmd/docgen/docgen
|
||||||
v2/pkg/protocols/common/helpers/deserialization/testdata/Deserialize.class
|
pkg/protocols/common/helpers/deserialization/testdata/Deserialize.class
|
||||||
v2/pkg/protocols/common/helpers/deserialization/testdata/ValueObject.class
|
pkg/protocols/common/helpers/deserialization/testdata/ValueObject.class
|
||||||
v2/pkg/protocols/common/helpers/deserialization/testdata/ValueObject2.ser
|
pkg/protocols/common/helpers/deserialization/testdata/ValueObject2.ser
|
||||||
*.exe
|
*.exe
|
||||||
v2/.gitignore
|
.gitignore
|
||||||
v2/pkg/js/devtools/bindgen/cmd/bindgen
|
pkg/js/devtools/bindgen/cmd/bindgen
|
||||||
v2/pkg/js/devtools/jsdocgen/jsdocgen
|
pkg/js/devtools/jsdocgen/jsdocgen
|
||||||
bindgen
|
./bindgen
|
||||||
jsdocgen
|
./jsdocgen
|
||||||
nuclei
|
./scrapefuncs
|
||||||
v2/scrapefuncs
|
|
||||||
*.DS_Store
|
*.DS_Store
|
||||||
v2/pkg/protocols/headless/engine/.cache
|
pkg/protocols/headless/engine/.cache
|
||||||
|
./nuclei
|
||||||
|
|
|
@ -7,9 +7,9 @@
|
||||||
<env name="TESTS" value="http/dsl-functions.yaml" />
|
<env name="TESTS" value="http/dsl-functions.yaml" />
|
||||||
</envs>
|
</envs>
|
||||||
<kind value="PACKAGE" />
|
<kind value="PACKAGE" />
|
||||||
<package value="github.com/projectdiscovery/nuclei/v2/cmd/integration-test" />
|
<package value="github.com/projectdiscovery/nuclei/v3/cmd/integration-test" />
|
||||||
<directory value="$PROJECT_DIR$" />
|
<directory value="$PROJECT_DIR$" />
|
||||||
<filePath value="$PROJECT_DIR$/v2/cmd/integration-test/integration-test.go" />
|
<filePath value="$PROJECT_DIR$/cmd/integration-test/integration-test.go" />
|
||||||
<method v="2" />
|
<method v="2" />
|
||||||
</configuration>
|
</configuration>
|
||||||
</component>
|
</component>
|
|
@ -2,10 +2,10 @@
|
||||||
<configuration default="false" name="RegressionTests" type="ShConfigurationType">
|
<configuration default="false" name="RegressionTests" type="ShConfigurationType">
|
||||||
<option name="SCRIPT_TEXT" value="" />
|
<option name="SCRIPT_TEXT" value="" />
|
||||||
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
|
<option name="INDEPENDENT_SCRIPT_PATH" value="true" />
|
||||||
<option name="SCRIPT_PATH" value="$PROJECT_DIR$/v2/cmd/functional-test/run.sh" />
|
<option name="SCRIPT_PATH" value="$PROJECT_DIR$/cmd/functional-test/run.sh" />
|
||||||
<option name="SCRIPT_OPTIONS" value="" />
|
<option name="SCRIPT_OPTIONS" value="" />
|
||||||
<option name="INDEPENDENT_SCRIPT_WORKING_DIRECTORY" value="true" />
|
<option name="INDEPENDENT_SCRIPT_WORKING_DIRECTORY" value="true" />
|
||||||
<option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$/v2/cmd/functional-test/" />
|
<option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$/cmd/functional-test/" />
|
||||||
<option name="INDEPENDENT_INTERPRETER_PATH" value="true" />
|
<option name="INDEPENDENT_INTERPRETER_PATH" value="true" />
|
||||||
<option name="INTERPRETER_PATH" value="/bin/zsh" />
|
<option name="INTERPRETER_PATH" value="/bin/zsh" />
|
||||||
<option name="INTERPRETER_OPTIONS" value="" />
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<working_directory value="$PROJECT_DIR$/v2" />
|
<working_directory value="$PROJECT_DIR$/v2" />
|
||||||
<go_parameters value="-i" />
|
<go_parameters value="-i" />
|
||||||
<kind value="DIRECTORY" />
|
<kind value="DIRECTORY" />
|
||||||
<directory value="$PROJECT_DIR$/v2/" />
|
<directory value="$PROJECT_DIR$/" />
|
||||||
<filePath value="$PROJECT_DIR$" />
|
<filePath value="$PROJECT_DIR$" />
|
||||||
<framework value="gotest" />
|
<framework value="gotest" />
|
||||||
<method v="2" />
|
<method v="2" />
|
||||||
|
|
106
DESIGN.md
106
DESIGN.md
|
@ -82,9 +82,9 @@ A brief overview of the methods is provided below -
|
||||||
|
|
||||||
For reference protocol requests implementations, one can look at the below packages -
|
For reference protocol requests implementations, one can look at the below packages -
|
||||||
|
|
||||||
1. [pkg/protocols/http](./v2/pkg/protocols/http)
|
1. [pkg/protocols/http](./pkg/protocols/http)
|
||||||
2. [pkg/protocols/dns](./v2/pkg/protocols/dns)
|
2. [pkg/protocols/dns](./pkg/protocols/dns)
|
||||||
3. [pkg/protocols/network](./v2/pkg/protocols/network)
|
3. [pkg/protocols/network](./pkg/protocols/network)
|
||||||
|
|
||||||
### Executer
|
### Executer
|
||||||
|
|
||||||
|
@ -189,9 +189,9 @@ Polling for interactions and server registration only starts when a template use
|
||||||
|
|
||||||
Next we arrive in the `RunEnumeration` function of the runner.
|
Next we arrive in the `RunEnumeration` function of the runner.
|
||||||
|
|
||||||
`HostErrorsCache` is initialised which is used throughout the run of Nuclei enumeration to keep track of errors per host and skip further requests if the errors are greater than the provided threshold. The functionality for the error tracking cache is defined in [hosterrorscache.go](https://github.com/projectdiscovery/nuclei/blob/main/v2/pkg/protocols/common/hosterrorscache/hosterrorscache.go) and is pretty simplistic in nature.
|
`HostErrorsCache` is initialised which is used throughout the run of Nuclei enumeration to keep track of errors per host and skip further requests if the errors are greater than the provided threshold. The functionality for the error tracking cache is defined in [hosterrorscache.go](https://github.com/projectdiscovery/nuclei/blob/main/pkg/protocols/common/hosterrorscache/hosterrorscache.go) and is pretty simplistic in nature.
|
||||||
|
|
||||||
Next the `WorkflowLoader` is initialised which used to load workflows. It exists in `v2/pkg/parsers/workflow_loader.go`
|
Next the `WorkflowLoader` is initialised which used to load workflows. It exists in `pkg/parsers/workflow_loader.go`
|
||||||
|
|
||||||
The loader is initialised moving forward which is responsible for Using Catalog, Passed Tags, Filters, Paths, etc. to return compiled `Templates` and `Workflows`.
|
The loader is initialised moving forward which is responsible for Using Catalog, Passed Tags, Filters, Paths, etc. to return compiled `Templates` and `Workflows`.
|
||||||
|
|
||||||
|
@ -387,7 +387,7 @@ Almost all of these protocols have boilerplate functions for which default imple
|
||||||
|
|
||||||
Step by step description of how to add a new protocol to Nuclei -
|
Step by step description of how to add a new protocol to Nuclei -
|
||||||
|
|
||||||
1. Add the protocol implementation in `pkg/protocols` directory. If it's a small protocol with fewer options, considering adding it to the `pkg/protocols/others` directory. Add the enum for the new protocol to `v2/pkg/templates/types/types.go`.
|
1. Add the protocol implementation in `pkg/protocols` directory. If it's a small protocol with fewer options, considering adding it to the `pkg/protocols/others` directory. Add the enum for the new protocol to `pkg/templates/types/types.go`.
|
||||||
|
|
||||||
2. Add the protocol request structure to the `Template` structure fields. This is done in `pkg/templates/templates.go` with the corresponding import line.
|
2. Add the protocol request structure to the `Template` structure fields. This is done in `pkg/templates/templates.go` with the corresponding import line.
|
||||||
|
|
||||||
|
@ -395,7 +395,7 @@ Step by step description of how to add a new protocol to Nuclei -
|
||||||
|
|
||||||
import (
|
import (
|
||||||
...
|
...
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/others/websocket"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/others/websocket"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Template is a YAML input file which defines all the requests and
|
// Template is a YAML input file which defines all the requests and
|
||||||
|
@ -479,52 +479,52 @@ $ go tool pprof -http=:8081 mem.pprof
|
||||||
|
|
||||||
## Project Structure
|
## Project Structure
|
||||||
|
|
||||||
- [v2/pkg/reporting](./v2/pkg/reporting) - Reporting modules for nuclei.
|
- [pkg/reporting](./pkg/reporting) - Reporting modules for nuclei.
|
||||||
- [v2/pkg/reporting/exporters/sarif](./v2/pkg/reporting/exporters/sarif) - Sarif Result Exporter
|
- [pkg/reporting/exporters/sarif](./pkg/reporting/exporters/sarif) - Sarif Result Exporter
|
||||||
- [v2/pkg/reporting/exporters/markdown](./v2/pkg/reporting/exporters/markdown) - Markdown Result Exporter
|
- [pkg/reporting/exporters/markdown](./pkg/reporting/exporters/markdown) - Markdown Result Exporter
|
||||||
- [v2/pkg/reporting/exporters/es](./v2/pkg/reporting/exporters/es) - Elasticsearch Result Exporter
|
- [pkg/reporting/exporters/es](./pkg/reporting/exporters/es) - Elasticsearch Result Exporter
|
||||||
- [v2/pkg/reporting/dedupe](./v2/pkg/reporting/dedupe) - Dedupe module for Results
|
- [pkg/reporting/dedupe](./pkg/reporting/dedupe) - Dedupe module for Results
|
||||||
- [v2/pkg/reporting/trackers/gitlab](./v2/pkg/reporting/trackers/gitlab) - GitLab Issue Tracker Exporter
|
- [pkg/reporting/trackers/gitlab](./pkg/reporting/trackers/gitlab) - GitLab Issue Tracker Exporter
|
||||||
- [v2/pkg/reporting/trackers/jira](./v2/pkg/reporting/trackers/jira) - Jira Issue Tracker Exporter
|
- [pkg/reporting/trackers/jira](./pkg/reporting/trackers/jira) - Jira Issue Tracker Exporter
|
||||||
- [v2/pkg/reporting/trackers/github](./v2/pkg/reporting/trackers/github) - GitHub Issue Tracker Exporter
|
- [pkg/reporting/trackers/github](./pkg/reporting/trackers/github) - GitHub Issue Tracker Exporter
|
||||||
- [v2/pkg/reporting/format](./v2/pkg/reporting/format) - Result Formatting Functions
|
- [pkg/reporting/format](./pkg/reporting/format) - Result Formatting Functions
|
||||||
- [v2/pkg/parsers](./v2/pkg/parsers) - Implements template as well as workflow loader for initial template discovery, validation and - loading.
|
- [pkg/parsers](./pkg/parsers) - Implements template as well as workflow loader for initial template discovery, validation and - loading.
|
||||||
- [v2/pkg/types](./v2/pkg/types) - Contains CLI options as well as misc helper functions.
|
- [pkg/types](./pkg/types) - Contains CLI options as well as misc helper functions.
|
||||||
- [v2/pkg/progress](./v2/pkg/progress) - Progress tracking
|
- [pkg/progress](./pkg/progress) - Progress tracking
|
||||||
- [v2/pkg/operators](./v2/pkg/operators) - Operators for Nuclei
|
- [pkg/operators](./pkg/operators) - Operators for Nuclei
|
||||||
- [v2/pkg/operators/common/dsl](./v2/pkg/operators/common/dsl) - DSL functions for Nuclei YAML Syntax
|
- [pkg/operators/common/dsl](./pkg/operators/common/dsl) - DSL functions for Nuclei YAML Syntax
|
||||||
- [v2/pkg/operators/matchers](./v2/pkg/operators/matchers) - Matchers implementation
|
- [pkg/operators/matchers](./pkg/operators/matchers) - Matchers implementation
|
||||||
- [v2/pkg/operators/extractors](./v2/pkg/operators/extractors) - Extractors implementation
|
- [pkg/operators/extractors](./pkg/operators/extractors) - Extractors implementation
|
||||||
- [v2/pkg/catalog](./v2/pkg/catalog) - Template loading from disk helpers
|
- [pkg/catalog](./pkg/catalog) - Template loading from disk helpers
|
||||||
- [v2/pkg/catalog/config](./v2/pkg/catalog/config) - Internal configuration management
|
- [pkg/catalog/config](./pkg/catalog/config) - Internal configuration management
|
||||||
- [v2/pkg/catalog/loader](./v2/pkg/catalog/loader) - Implements loading and validation of templates and workflows.
|
- [pkg/catalog/loader](./pkg/catalog/loader) - Implements loading and validation of templates and workflows.
|
||||||
- [v2/pkg/catalog/loader/filter](./v2/pkg/catalog/loader/filter) - Filter filters templates based on tags and paths
|
- [pkg/catalog/loader/filter](./pkg/catalog/loader/filter) - Filter filters templates based on tags and paths
|
||||||
- [v2/pkg/output](./v2/pkg/output) - Output module for nuclei
|
- [pkg/output](./pkg/output) - Output module for nuclei
|
||||||
- [v2/pkg/workflows](./v2/pkg/workflows) - Workflow execution logic + declarations
|
- [pkg/workflows](./pkg/workflows) - Workflow execution logic + declarations
|
||||||
- [v2/pkg/utils](./v2/pkg/utils) - Utility functions
|
- [pkg/utils](./pkg/utils) - Utility functions
|
||||||
- [v2/pkg/model](./v2/pkg/model) - Template Info + misc
|
- [pkg/model](./pkg/model) - Template Info + misc
|
||||||
- [v2/pkg/templates](./v2/pkg/templates) - Templates core starting point
|
- [pkg/templates](./pkg/templates) - Templates core starting point
|
||||||
- [v2/pkg/templates/cache](./v2/pkg/templates/cache) - Templates cache
|
- [pkg/templates/cache](./pkg/templates/cache) - Templates cache
|
||||||
- [v2/pkg/protocols](./v2/pkg/protocols) - Protocol Specification
|
- [pkg/protocols](./pkg/protocols) - Protocol Specification
|
||||||
- [v2/pkg/protocols/file](./v2/pkg/protocols/file) - File protocol
|
- [pkg/protocols/file](./pkg/protocols/file) - File protocol
|
||||||
- [v2/pkg/protocols/network](./v2/pkg/protocols/network) - Network protocol
|
- [pkg/protocols/network](./pkg/protocols/network) - Network protocol
|
||||||
- [v2/pkg/protocols/common/expressions](./v2/pkg/protocols/common/expressions) - Expression evaluation + Templating Support
|
- [pkg/protocols/common/expressions](./pkg/protocols/common/expressions) - Expression evaluation + Templating Support
|
||||||
- [v2/pkg/protocols/common/interactsh](./v2/pkg/protocols/common/interactsh) - Interactsh integration
|
- [pkg/protocols/common/interactsh](./pkg/protocols/common/interactsh) - Interactsh integration
|
||||||
- [v2/pkg/protocols/common/generators](./v2/pkg/protocols/common/generators) - Payload support for Requests (Sniper, etc.)
|
- [pkg/protocols/common/generators](./pkg/protocols/common/generators) - Payload support for Requests (Sniper, etc.)
|
||||||
- [v2/pkg/protocols/common/executer](./v2/pkg/protocols/common/executer) - Default Template Executer
|
- [pkg/protocols/common/executer](./pkg/protocols/common/executer) - Default Template Executer
|
||||||
- [v2/pkg/protocols/common/replacer](./v2/pkg/protocols/common/replacer) - Template replacement helpers
|
- [pkg/protocols/common/replacer](./pkg/protocols/common/replacer) - Template replacement helpers
|
||||||
- [v2/pkg/protocols/common/helpers/eventcreator](./v2/pkg/protocols/common/helpers/eventcreator) - Result event creator
|
- [pkg/protocols/common/helpers/eventcreator](./pkg/protocols/common/helpers/eventcreator) - Result event creator
|
||||||
- [v2/pkg/protocols/common/helpers/responsehighlighter](./v2/pkg/protocols/common/helpers/responsehighlighter) - Debug response highlighter
|
- [pkg/protocols/common/helpers/responsehighlighter](./pkg/protocols/common/helpers/responsehighlighter) - Debug response highlighter
|
||||||
- [v2/pkg/protocols/common/helpers/deserialization](./v2/pkg/protocols/common/helpers/deserialization) - Deserialization helper functions
|
- [pkg/protocols/common/helpers/deserialization](./pkg/protocols/common/helpers/deserialization) - Deserialization helper functions
|
||||||
- [v2/pkg/protocols/common/hosterrorscache](./v2/pkg/protocols/common/hosterrorscache) - Host errors cache for tracking erroring hosts
|
- [pkg/protocols/common/hosterrorscache](./pkg/protocols/common/hosterrorscache) - Host errors cache for tracking erroring hosts
|
||||||
- [v2/pkg/protocols/offlinehttp](./v2/pkg/protocols/offlinehttp) - Offline http protocol
|
- [pkg/protocols/offlinehttp](./pkg/protocols/offlinehttp) - Offline http protocol
|
||||||
- [v2/pkg/protocols/http](./v2/pkg/protocols/http) - HTTP protocol
|
- [pkg/protocols/http](./pkg/protocols/http) - HTTP protocol
|
||||||
- [v2/pkg/protocols/http/race](./v2/pkg/protocols/http/race) - HTTP Race Module
|
- [pkg/protocols/http/race](./pkg/protocols/http/race) - HTTP Race Module
|
||||||
- [v2/pkg/protocols/http/raw](./v2/pkg/protocols/http/raw) - HTTP Raw Request Support
|
- [pkg/protocols/http/raw](./pkg/protocols/http/raw) - HTTP Raw Request Support
|
||||||
- [v2/pkg/protocols/headless](./v2/pkg/protocols/headless) - Headless Module
|
- [pkg/protocols/headless](./pkg/protocols/headless) - Headless Module
|
||||||
- [v2/pkg/protocols/headless/engine](./v2/pkg/protocols/headless/engine) - Internal Headless implementation
|
- [pkg/protocols/headless/engine](./pkg/protocols/headless/engine) - Internal Headless implementation
|
||||||
- [v2/pkg/protocols/dns](./v2/pkg/protocols/dns) - DNS protocol
|
- [pkg/protocols/dns](./pkg/protocols/dns) - DNS protocol
|
||||||
- [v2/pkg/projectfile](./v2/pkg/projectfile) - Project File Implementation
|
- [pkg/projectfile](./pkg/projectfile) - Project File Implementation
|
||||||
|
|
||||||
### Notes
|
### Notes
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ FROM golang:1.21-alpine AS build-env
|
||||||
RUN apk add build-base
|
RUN apk add build-base
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY . /app
|
COPY . /app
|
||||||
WORKDIR /app/v2
|
WORKDIR /app
|
||||||
RUN go mod download
|
RUN go mod download
|
||||||
RUN go build ./cmd/nuclei
|
RUN go build ./cmd/nuclei
|
||||||
|
|
||||||
|
@ -11,6 +11,6 @@ RUN go build ./cmd/nuclei
|
||||||
FROM alpine:3.18.2
|
FROM alpine:3.18.2
|
||||||
RUN apk -U upgrade --no-cache \
|
RUN apk -U upgrade --no-cache \
|
||||||
&& apk add --no-cache bind-tools chromium ca-certificates
|
&& apk add --no-cache bind-tools chromium ca-certificates
|
||||||
COPY --from=build-env /app/v2/nuclei /usr/local/bin/
|
COPY --from=build-env /app/nuclei /usr/local/bin/
|
||||||
|
|
||||||
ENTRYPOINT ["nuclei"]
|
ENTRYPOINT ["nuclei"]
|
|
@ -25,7 +25,7 @@ docs:
|
||||||
test:
|
test:
|
||||||
$(GOTEST) $(GOFLAGS) ./...
|
$(GOTEST) $(GOFLAGS) ./...
|
||||||
integration:
|
integration:
|
||||||
cd ../integration_tests; bash run.sh
|
cd integration_tests; bash run.sh
|
||||||
functional:
|
functional:
|
||||||
cd cmd/functional-test; bash run.sh
|
cd cmd/functional-test; bash run.sh
|
||||||
tidy:
|
tidy:
|
|
@ -59,7 +59,7 @@ We have a [dedicated repository](https://github.com/projectdiscovery/nuclei-temp
|
||||||
Nuclei requires **go1.21** to install successfully. Run the following command to install the latest version -
|
Nuclei requires **go1.21** to install successfully. Run the following command to install the latest version -
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest
|
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
|
||||||
```
|
```
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
@ -379,7 +379,7 @@ We have [a discussion thread around this](https://github.com/projectdiscovery/nu
|
||||||
|
|
||||||
### Using Nuclei From Go Code
|
### Using Nuclei From Go Code
|
||||||
|
|
||||||
Complete guide of using Nuclei as Library/SDK is available at [lib](v2/lib/README.md)
|
Complete guide of using Nuclei as Library/SDK is available at [godoc](https://pkg.go.dev/github.com/projectdiscovery/nuclei/v3/lib#section-readme)
|
||||||
|
|
||||||
|
|
||||||
### Resources
|
### Resources
|
||||||
|
|
|
@ -55,7 +55,7 @@ Nuclei使用零误报的定制模板向目标发送请求,同时可以对主
|
||||||
Nuclei需要**go1**才能安装成功。执行下列命令安装最新版本的Nuclei
|
Nuclei需要**go1**才能安装成功。执行下列命令安装最新版本的Nuclei
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest
|
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
|
||||||
```
|
```
|
||||||
|
|
||||||
**更多的安装方式 [请点击此处](https://nuclei.projectdiscovery.io/nuclei/get-started/).**
|
**更多的安装方式 [请点击此处](https://nuclei.projectdiscovery.io/nuclei/get-started/).**
|
||||||
|
|
|
@ -55,7 +55,7 @@ Kami memiliki [repositori khusus](https://github.com/projectdiscovery/nuclei-tem
|
||||||
Nuclei membutuhkan **go1.21** agar dapat diinstall. Jalankan perintah berikut untuk menginstal versi terbaru -
|
Nuclei membutuhkan **go1.21** agar dapat diinstall. Jalankan perintah berikut untuk menginstal versi terbaru -
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest
|
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
|
||||||
```
|
```
|
||||||
|
|
||||||
**Metode [instalasi lain dapat ditemukan di sini](https://nuclei.projectdiscovery.io/nuclei/get-started/).**
|
**Metode [instalasi lain dapat ditemukan di sini](https://nuclei.projectdiscovery.io/nuclei/get-started/).**
|
||||||
|
|
|
@ -53,7 +53,7 @@ Nuclei는 템플릿을 기반으로 대상 간에 요청을 보내기 위해 사
|
||||||
Nuclei를 성공적으로 설치하기 위해서 **go1.21**가 필요합니다. 다음 명령을 실행하여 최신 버전을 설치합니다.
|
Nuclei를 성공적으로 설치하기 위해서 **go1.21**가 필요합니다. 다음 명령을 실행하여 최신 버전을 설치합니다.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest
|
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
|
||||||
```
|
```
|
||||||
|
|
||||||
**자세한 설치 방법은 [여기](https://nuclei.projectdiscovery.io/nuclei/get-started/)에서 찾을 수 있습니다.**
|
**자세한 설치 방법은 [여기](https://nuclei.projectdiscovery.io/nuclei/get-started/)에서 찾을 수 있습니다.**
|
||||||
|
|
|
@ -10,10 +10,10 @@ import (
|
||||||
|
|
||||||
"github.com/alecthomas/jsonschema"
|
"github.com/alecthomas/jsonschema"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/templates"
|
"github.com/projectdiscovery/nuclei/v3/pkg/templates"
|
||||||
)
|
)
|
||||||
|
|
||||||
var pathRegex = regexp.MustCompile(`github\.com/projectdiscovery/nuclei/v2/(?:internal|pkg)/(?:.*/)?([A-Za-z.]+)`)
|
var pathRegex = regexp.MustCompile(`github\.com/projectdiscovery/nuclei/v3/(?:internal|pkg)/(?:.*/)?([A-Za-z.]+)`)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
// Generate yaml syntax documentation
|
// Generate yaml syntax documentation
|
|
@ -11,7 +11,7 @@ import (
|
||||||
"github.com/logrusorgru/aurora"
|
"github.com/logrusorgru/aurora"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
|
@ -20,7 +20,7 @@ echo "::group::Installing nuclei templates"
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
echo "::group::Building latest release of nuclei"
|
echo "::group::Building latest release of nuclei"
|
||||||
go build -o nuclei$extension -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei
|
go build -o nuclei$extension -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
echo 'Starting Nuclei functional test'
|
echo 'Starting Nuclei functional test'
|
|
@ -7,9 +7,9 @@ import (
|
||||||
|
|
||||||
osutils "github.com/projectdiscovery/utils/os"
|
osutils "github.com/projectdiscovery/utils/os"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/templates"
|
"github.com/projectdiscovery/nuclei/v3/pkg/templates"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/templates/signer"
|
"github.com/projectdiscovery/nuclei/v3/pkg/templates/signer"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
)
|
)
|
||||||
|
|
||||||
var codeTestCases = []TestCaseInfo{
|
var codeTestCases = []TestCaseInfo{
|
|
@ -3,7 +3,7 @@ package main
|
||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
)
|
)
|
||||||
|
|
||||||
type customConfigDirTest struct{}
|
type customConfigDirTest struct{}
|
|
@ -1,7 +1,7 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
)
|
)
|
||||||
|
|
||||||
var dnsTestCases = []TestCaseInfo{
|
var dnsTestCases = []TestCaseInfo{
|
|
@ -6,7 +6,7 @@ import (
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
|
|
||||||
"github.com/julienschmidt/httprouter"
|
"github.com/julienschmidt/httprouter"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
)
|
)
|
||||||
|
|
||||||
var dslTestcases = []TestCaseInfo{
|
var dslTestcases = []TestCaseInfo{
|
|
@ -1,7 +1,7 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
)
|
)
|
||||||
|
|
||||||
var fileTestcases = []TestCaseInfo{
|
var fileTestcases = []TestCaseInfo{
|
|
@ -7,7 +7,7 @@ import (
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
|
|
||||||
"github.com/julienschmidt/httprouter"
|
"github.com/julienschmidt/httprouter"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
)
|
)
|
||||||
|
|
||||||
var flowTestcases = []TestCaseInfo{
|
var flowTestcases = []TestCaseInfo{
|
|
@ -8,8 +8,8 @@ import (
|
||||||
"net/url"
|
"net/url"
|
||||||
|
|
||||||
"github.com/julienschmidt/httprouter"
|
"github.com/julienschmidt/httprouter"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/output"
|
"github.com/projectdiscovery/nuclei/v3/pkg/output"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
)
|
)
|
||||||
|
|
||||||
var fuzzingTestCases = []TestCaseInfo{
|
var fuzzingTestCases = []TestCaseInfo{
|
|
@ -10,7 +10,7 @@ import (
|
||||||
|
|
||||||
"github.com/julienschmidt/httprouter"
|
"github.com/julienschmidt/httprouter"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
permissionutil "github.com/projectdiscovery/utils/permission"
|
permissionutil "github.com/projectdiscovery/utils/permission"
|
||||||
)
|
)
|
||||||
|
|
|
@ -7,7 +7,7 @@ import (
|
||||||
|
|
||||||
"github.com/julienschmidt/httprouter"
|
"github.com/julienschmidt/httprouter"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
)
|
)
|
||||||
|
|
||||||
var headlessTestcases = []TestCaseInfo{
|
var headlessTestcases = []TestCaseInfo{
|
|
@ -17,7 +17,7 @@ import (
|
||||||
"github.com/julienschmidt/httprouter"
|
"github.com/julienschmidt/httprouter"
|
||||||
"gopkg.in/yaml.v2"
|
"gopkg.in/yaml.v2"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
"github.com/projectdiscovery/retryablehttp-go"
|
"github.com/projectdiscovery/retryablehttp-go"
|
||||||
errorutil "github.com/projectdiscovery/utils/errors"
|
errorutil "github.com/projectdiscovery/utils/errors"
|
||||||
fileutil "github.com/projectdiscovery/utils/file"
|
fileutil "github.com/projectdiscovery/utils/file"
|
|
@ -9,7 +9,7 @@ import (
|
||||||
|
|
||||||
"github.com/logrusorgru/aurora"
|
"github.com/logrusorgru/aurora"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
sliceutil "github.com/projectdiscovery/utils/slice"
|
sliceutil "github.com/projectdiscovery/utils/slice"
|
||||||
)
|
)
|
||||||
|
|
|
@ -5,7 +5,7 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/ory/dockertest/v3"
|
"github.com/ory/dockertest/v3"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
osutils "github.com/projectdiscovery/utils/os"
|
osutils "github.com/projectdiscovery/utils/os"
|
||||||
"go.uber.org/multierr"
|
"go.uber.org/multierr"
|
||||||
)
|
)
|
|
@ -15,22 +15,22 @@ import (
|
||||||
"github.com/logrusorgru/aurora"
|
"github.com/logrusorgru/aurora"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"github.com/projectdiscovery/goflags"
|
"github.com/projectdiscovery/goflags"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/config"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/config"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/disk"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/disk"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/loader"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/loader"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/core"
|
"github.com/projectdiscovery/nuclei/v3/pkg/core"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/core/inputs"
|
"github.com/projectdiscovery/nuclei/v3/pkg/core/inputs"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/output"
|
"github.com/projectdiscovery/nuclei/v3/pkg/output"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/parsers"
|
"github.com/projectdiscovery/nuclei/v3/pkg/parsers"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/contextargs"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/contextargs"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/hosterrorscache"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/hosterrorscache"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/interactsh"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/interactsh"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/protocolinit"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolinit"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/protocolstate"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolstate"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/reporting"
|
"github.com/projectdiscovery/nuclei/v3/pkg/reporting"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/types"
|
"github.com/projectdiscovery/nuclei/v3/pkg/types"
|
||||||
"github.com/projectdiscovery/ratelimit"
|
"github.com/projectdiscovery/ratelimit"
|
||||||
)
|
)
|
||||||
|
|
|
@ -9,7 +9,7 @@ import (
|
||||||
|
|
||||||
"github.com/julienschmidt/httprouter"
|
"github.com/julienschmidt/httprouter"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
permissionutil "github.com/projectdiscovery/utils/permission"
|
permissionutil "github.com/projectdiscovery/utils/permission"
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
)
|
)
|
||||||
|
|
||||||
var multiProtoTestcases = []TestCaseInfo{
|
var multiProtoTestcases = []TestCaseInfo{
|
|
@ -4,7 +4,7 @@ import (
|
||||||
"net"
|
"net"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
osutils "github.com/projectdiscovery/utils/os"
|
osutils "github.com/projectdiscovery/utils/os"
|
||||||
)
|
)
|
||||||
|
|
|
@ -3,7 +3,7 @@ package main
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
)
|
)
|
||||||
|
|
||||||
var offlineHttpTestcases = []TestCaseInfo{
|
var offlineHttpTestcases = []TestCaseInfo{
|
|
@ -4,7 +4,7 @@ import (
|
||||||
"crypto/tls"
|
"crypto/tls"
|
||||||
"net"
|
"net"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
)
|
)
|
||||||
|
|
||||||
var sslTestcases = []TestCaseInfo{
|
var sslTestcases = []TestCaseInfo{
|
|
@ -3,7 +3,7 @@ package main
|
||||||
import (
|
import (
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
errorutil "github.com/projectdiscovery/utils/errors"
|
errorutil "github.com/projectdiscovery/utils/errors"
|
||||||
)
|
)
|
||||||
|
|
|
@ -4,8 +4,8 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/config"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/config"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
)
|
)
|
||||||
|
|
||||||
func getTemplatePath() string {
|
func getTemplatePath() string {
|
||||||
|
@ -27,7 +27,7 @@ type cwdTemplateTest struct{}
|
||||||
|
|
||||||
// Execute executes a test case and returns an error if occurred
|
// Execute executes a test case and returns an error if occurred
|
||||||
func (h *cwdTemplateTest) Execute(filePath string) error {
|
func (h *cwdTemplateTest) Execute(filePath string) error {
|
||||||
results, err := testutils.RunNucleiTemplateAndGetResults(filePath, "8x8exch02.8x8.com", debug)
|
results, err := testutils.RunNucleiTemplateAndGetResults(filePath, "8x8exch02.8x8.com", debug, "-ms")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
|
@ -6,7 +6,7 @@ import (
|
||||||
|
|
||||||
"github.com/gobwas/ws/wsutil"
|
"github.com/gobwas/ws/wsutil"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
)
|
)
|
||||||
|
|
||||||
var websocketTestCases = []TestCaseInfo{
|
var websocketTestCases = []TestCaseInfo{
|
|
@ -1,7 +1,7 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
)
|
)
|
||||||
|
|
||||||
var whoisTestCases = []TestCaseInfo{
|
var whoisTestCases = []TestCaseInfo{
|
|
@ -8,7 +8,7 @@ import (
|
||||||
|
|
||||||
"github.com/julienschmidt/httprouter"
|
"github.com/julienschmidt/httprouter"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/testutils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/testutils"
|
||||||
)
|
)
|
||||||
|
|
||||||
var workflowTestcases = []TestCaseInfo{
|
var workflowTestcases = []TestCaseInfo{
|
|
@ -16,20 +16,20 @@ import (
|
||||||
"github.com/projectdiscovery/gologger"
|
"github.com/projectdiscovery/gologger"
|
||||||
"github.com/projectdiscovery/gologger/levels"
|
"github.com/projectdiscovery/gologger/levels"
|
||||||
"github.com/projectdiscovery/interactsh/pkg/client"
|
"github.com/projectdiscovery/interactsh/pkg/client"
|
||||||
"github.com/projectdiscovery/nuclei/v2/internal/installer"
|
"github.com/projectdiscovery/nuclei/v3/internal/installer"
|
||||||
"github.com/projectdiscovery/nuclei/v2/internal/runner"
|
"github.com/projectdiscovery/nuclei/v3/internal/runner"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/config"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/config"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/model/types/severity"
|
"github.com/projectdiscovery/nuclei/v3/pkg/model/types/severity"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/operators/common/dsl"
|
"github.com/projectdiscovery/nuclei/v3/pkg/operators/common/dsl"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/uncover"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/uncover"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/http"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/http"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/templates"
|
"github.com/projectdiscovery/nuclei/v3/pkg/templates"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/templates/extensions"
|
"github.com/projectdiscovery/nuclei/v3/pkg/templates/extensions"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/templates/signer"
|
"github.com/projectdiscovery/nuclei/v3/pkg/templates/signer"
|
||||||
templateTypes "github.com/projectdiscovery/nuclei/v2/pkg/templates/types"
|
templateTypes "github.com/projectdiscovery/nuclei/v3/pkg/templates/types"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/types"
|
"github.com/projectdiscovery/nuclei/v3/pkg/types"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/types/scanstrategy"
|
"github.com/projectdiscovery/nuclei/v3/pkg/types/scanstrategy"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/utils/monitor"
|
"github.com/projectdiscovery/nuclei/v3/pkg/utils/monitor"
|
||||||
errorutil "github.com/projectdiscovery/utils/errors"
|
errorutil "github.com/projectdiscovery/utils/errors"
|
||||||
fileutil "github.com/projectdiscovery/utils/file"
|
fileutil "github.com/projectdiscovery/utils/file"
|
||||||
)
|
)
|
||||||
|
@ -54,6 +54,8 @@ func main() {
|
||||||
|
|
||||||
// sign the templates if requested - only glob syntax is supported
|
// sign the templates if requested - only glob syntax is supported
|
||||||
if options.SignTemplates {
|
if options.SignTemplates {
|
||||||
|
// use parsed options when initializing signer instead of default options
|
||||||
|
templates.UseOptionsForSigner(options)
|
||||||
tsigner, err := signer.NewTemplateSigner(nil, nil) // will read from env , config or generate new keys
|
tsigner, err := signer.NewTemplateSigner(nil, nil) // will read from env , config or generate new keys
|
||||||
if err != nil {
|
if err != nil {
|
||||||
gologger.Fatal().Msgf("couldn't initialize signer crypto engine: %s\n", err)
|
gologger.Fatal().Msgf("couldn't initialize signer crypto engine: %s\n", err)
|
|
@ -15,13 +15,13 @@ import (
|
||||||
"github.com/projectdiscovery/goflags"
|
"github.com/projectdiscovery/goflags"
|
||||||
"github.com/projectdiscovery/gologger"
|
"github.com/projectdiscovery/gologger"
|
||||||
"github.com/projectdiscovery/gologger/levels"
|
"github.com/projectdiscovery/gologger/levels"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/disk"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/disk"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/protocolinit"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolinit"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/protocolstate"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolstate"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/templates"
|
"github.com/projectdiscovery/nuclei/v3/pkg/templates"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/types"
|
"github.com/projectdiscovery/nuclei/v3/pkg/types"
|
||||||
"github.com/projectdiscovery/retryablehttp-go"
|
"github.com/projectdiscovery/retryablehttp-go"
|
||||||
errorutil "github.com/projectdiscovery/utils/errors"
|
errorutil "github.com/projectdiscovery/utils/errors"
|
||||||
"gopkg.in/yaml.v3"
|
"gopkg.in/yaml.v3"
|
|
@ -6,7 +6,7 @@ title: 'Install'
|
||||||
<Tabs>
|
<Tabs>
|
||||||
<Tab title="Go">
|
<Tab title="Go">
|
||||||
```bash
|
```bash
|
||||||
go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest
|
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
|
||||||
```
|
```
|
||||||
|
|
||||||
<Note>Nuclei require latest **GO** version to install successfully.</Note>
|
<Note>Nuclei require latest **GO** version to install successfully.</Note>
|
||||||
|
@ -30,7 +30,7 @@ title: 'Install'
|
||||||
<Tab title="Github">
|
<Tab title="Github">
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/projectdiscovery/nuclei.git; \
|
git clone https://github.com/projectdiscovery/nuclei.git; \
|
||||||
cd nuclei/v2/cmd/nuclei; \
|
cd nuclei/cmd/nuclei; \
|
||||||
go build; \
|
go build; \
|
||||||
mv nuclei /usr/local/bin/; \
|
mv nuclei /usr/local/bin/; \
|
||||||
nuclei -version;
|
nuclei -version;
|
||||||
|
|
|
@ -694,7 +694,7 @@ Nuclei comes with reporting module support with the release of [v2.3.0](https://
|
||||||
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| **Support** | <svg className="dark:fill-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg className="dark:fill-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg className="dark:fill-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg className="dark:fill-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg className="dark:fill-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg className="dark:fill-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg className="dark:fill-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> |
|
| **Support** | <svg className="dark:fill-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg className="dark:fill-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg className="dark:fill-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg className="dark:fill-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg className="dark:fill-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg className="dark:fill-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> | <svg className="dark:fill-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill-rule="evenodd" d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12zm16.28-2.72a.75.75 0 00-1.06-1.06l-5.97 5.97-2.47-2.47a.75.75 0 00-1.06 1.06l3 3a.75.75 0 001.06 0l6.5-6.5z"></path></svg> |
|
||||||
|
|
||||||
`-rc, -report-config` flag can be used to provide a config file to read configuration details of the platform to integrate. Here is an [example config file](https://github.com/projectdiscovery/nuclei/blob/master/v2/cmd/nuclei/issue-tracker-config.yaml) for all supported platforms.
|
`-rc, -report-config` flag can be used to provide a config file to read configuration details of the platform to integrate. Here is an [example config file](https://github.com/projectdiscovery/nuclei/blob/main/cmd/nuclei/issue-tracker-config.yaml) for all supported platforms.
|
||||||
|
|
||||||
For example, to create tickets on GitHub, create a config file with the following content and replace the appropriate values:
|
For example, to create tickets on GitHub, create a config file with the following content and replace the appropriate values:
|
||||||
|
|
||||||
|
|
|
@ -215,4 +215,4 @@ A collection of javascript protocol templates can be found [here](https://github
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
If you want to add a new module or function to nuclei javascript runtime please open a PR with your changes, refer [Contributing](https://github.com/projectdiscovery/nuclei/blob/7085b47c19dbe3a70b3d4eb23177995bda5c285a/v2/pkg/js/CONTRIBUTE.md) for more details.
|
If you want to add a new module or function to nuclei javascript runtime please open a PR with your changes, refer [Contributing](https://github.com/projectdiscovery/nuclei/blob/7085b47c19dbe3a70b3d4eb23177995bda5c285a/pkg/js/CONTRIBUTE.md) for more details.
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
nuclei "github.com/projectdiscovery/nuclei/v2/lib"
|
nuclei "github.com/projectdiscovery/nuclei/v3/lib"
|
||||||
"github.com/remeh/sizedwaitgroup"
|
"github.com/remeh/sizedwaitgroup"
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import nuclei "github.com/projectdiscovery/nuclei/v2/lib"
|
import nuclei "github.com/projectdiscovery/nuclei/v3/lib"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
ne, err := nuclei.NewNucleiEngine(
|
ne, err := nuclei.NewNucleiEngine(
|
|
@ -1,4 +1,4 @@
|
||||||
module github.com/projectdiscovery/nuclei/v2
|
module github.com/projectdiscovery/nuclei/v3
|
||||||
|
|
||||||
go 1.21
|
go 1.21
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ require (
|
||||||
github.com/projectdiscovery/ratelimit v0.0.11
|
github.com/projectdiscovery/ratelimit v0.0.11
|
||||||
github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917
|
github.com/projectdiscovery/rdap v0.9.1-0.20221108103045-9865884d1917
|
||||||
github.com/projectdiscovery/sarif v0.0.1
|
github.com/projectdiscovery/sarif v0.0.1
|
||||||
github.com/projectdiscovery/tlsx v1.1.5
|
github.com/projectdiscovery/tlsx v1.1.6-0.20231016194953-a3ff9518c766
|
||||||
github.com/projectdiscovery/uncover v1.0.6-0.20230601103158-bfd7e02a5bb1
|
github.com/projectdiscovery/uncover v1.0.6-0.20230601103158-bfd7e02a5bb1
|
||||||
github.com/projectdiscovery/utils v0.0.58
|
github.com/projectdiscovery/utils v0.0.58
|
||||||
github.com/projectdiscovery/wappalyzergo v0.0.109
|
github.com/projectdiscovery/wappalyzergo v0.0.109
|
|
@ -833,8 +833,8 @@ github.com/projectdiscovery/sarif v0.0.1 h1:C2Tyj0SGOKbCLgHrx83vaE6YkzXEVrMXYRGL
|
||||||
github.com/projectdiscovery/sarif v0.0.1/go.mod h1:cEYlDu8amcPf6b9dSakcz2nNnJsoz4aR6peERwV+wuQ=
|
github.com/projectdiscovery/sarif v0.0.1/go.mod h1:cEYlDu8amcPf6b9dSakcz2nNnJsoz4aR6peERwV+wuQ=
|
||||||
github.com/projectdiscovery/stringsutil v0.0.2 h1:uzmw3IVLJSMW1kEg8eCStG/cGbYYZAja8BH3LqqJXMA=
|
github.com/projectdiscovery/stringsutil v0.0.2 h1:uzmw3IVLJSMW1kEg8eCStG/cGbYYZAja8BH3LqqJXMA=
|
||||||
github.com/projectdiscovery/stringsutil v0.0.2/go.mod h1:EJ3w6bC5fBYjVou6ryzodQq37D5c6qbAYQpGmAy+DC0=
|
github.com/projectdiscovery/stringsutil v0.0.2/go.mod h1:EJ3w6bC5fBYjVou6ryzodQq37D5c6qbAYQpGmAy+DC0=
|
||||||
github.com/projectdiscovery/tlsx v1.1.5 h1:S8KV2ckcjW3hDBa/REmDdsZfHwYJ9eKoZ7rtgETkwkM=
|
github.com/projectdiscovery/tlsx v1.1.6-0.20231016194953-a3ff9518c766 h1:wa2wak7RAPA9QfCKZYXVvJCggbrIptc4ZkPjEvCKAKo=
|
||||||
github.com/projectdiscovery/tlsx v1.1.5/go.mod h1:0a0TdWb3fYeVpuPsJuf5AGtwZIKwkY0kxdO9lojU6S4=
|
github.com/projectdiscovery/tlsx v1.1.6-0.20231016194953-a3ff9518c766/go.mod h1:bFATagikCvdPOsmaN1h5VQSbZjTW8bCQ6bjoQEePUq8=
|
||||||
github.com/projectdiscovery/uncover v1.0.6-0.20230601103158-bfd7e02a5bb1 h1:Pu6LvDqn+iSlhCDKKWm1ItPc++kqqlU8OntZeB/Prak=
|
github.com/projectdiscovery/uncover v1.0.6-0.20230601103158-bfd7e02a5bb1 h1:Pu6LvDqn+iSlhCDKKWm1ItPc++kqqlU8OntZeB/Prak=
|
||||||
github.com/projectdiscovery/uncover v1.0.6-0.20230601103158-bfd7e02a5bb1/go.mod h1:Drl/CWD392mKtdXJhCBPlMkM0I6671pqedFphcnK5f8=
|
github.com/projectdiscovery/uncover v1.0.6-0.20230601103158-bfd7e02a5bb1/go.mod h1:Drl/CWD392mKtdXJhCBPlMkM0I6671pqedFphcnK5f8=
|
||||||
github.com/projectdiscovery/utils v0.0.58 h1:kk2AkSO84QZc9rDRI8jWA2Iia4uzb4sUcfh4h0xA20I=
|
github.com/projectdiscovery/utils v0.0.58 h1:kk2AkSO84QZc9rDRI8jWA2Iia4uzb4sUcfh4h0xA20I=
|
|
@ -17,11 +17,11 @@ export GORACE="halt_on_error=1"
|
||||||
|
|
||||||
echo "::group::Build nuclei"
|
echo "::group::Build nuclei"
|
||||||
rm nuclei 2>/dev/null
|
rm nuclei 2>/dev/null
|
||||||
cd ../v2/cmd/nuclei
|
cd ../cmd/nuclei
|
||||||
go build -race .
|
go build -race .
|
||||||
mv nuclei ../../../integration_tests/nuclei
|
mv nuclei ../../integration_tests/nuclei
|
||||||
echo -e "::endgroup::\n"
|
echo -e "::endgroup::\n"
|
||||||
cd ../../../integration_tests
|
cd ../../integration_tests
|
||||||
cmdstring=""
|
cmdstring=""
|
||||||
|
|
||||||
if [ -n "$1" ]; then
|
if [ -n "$1" ]; then
|
||||||
|
|
|
@ -20,4 +20,4 @@ code:
|
||||||
- type: word
|
- type: word
|
||||||
words:
|
words:
|
||||||
- "hello from input baz"
|
- "hello from input baz"
|
||||||
# digest: 4a0a00473045022100eb01da6b97893e7868c584f330a0cd52df9bddac005860bb8595ba5b8aed58c9022050043feac68d69045cf320cba9298a2eb2e792ea4720d045d01e803de1943e7d:4a3eb6b4988d95847d4203be25ed1d46
|
# digest: 4a0a00473045022100d407a3b848664b4c271abb4462a89a53fa2da6c21fd66011974ac395e2dc041c0220129a752a792337f6efe2e96562989016fe2709820b9583fd933f02be3b9d074f:4a3eb6b4988d95847d4203be25ed1d46
|
|
@ -18,4 +18,4 @@ code:
|
||||||
- type: word
|
- type: word
|
||||||
words:
|
words:
|
||||||
- "hello from input"
|
- "hello from input"
|
||||||
# digest: 4a0a00473045022100863e07e45c5fa8d808022dfd60679145e17b4ad6c97b493ef28adaf586407dc3022001f2b2d6e565123c0ef51921862352b0b5499b4adfbf5a92af20eb77107c4920:4a3eb6b4988d95847d4203be25ed1d46
|
# digest: 4b0a004830460221009db4541aa2af10aae5f39fe6e8789e2717c96ebbdadfdf33114ec0e82ec4da73022100fa98ee6611b606befc139946a169cca717f16ebf71beac97fdde1fe0c7fba774:4a3eb6b4988d95847d4203be25ed1d46
|
|
@ -26,4 +26,4 @@ code:
|
||||||
part: interactsh_protocol
|
part: interactsh_protocol
|
||||||
words:
|
words:
|
||||||
- "http"
|
- "http"
|
||||||
# digest: 4a0a004730450220785cbdcb0925c922fb34055b3b9277dec165e2f3ba938f5fd7488d400b11a1f5022100dc67027e9e8d6f249c8fc68d61866d636b137bd28e6870a716fbbe969f8b672b:4a3eb6b4988d95847d4203be25ed1d46
|
# digest: 4a0a0047304502205ebee72972ea0005ecdbcf7cd676ab861f3a44477a4b85dc1e745b7a628d2d7a022100ec4604673a1d43311ab343005464be5d4ee26b5a1f39206aa841056f3e2057dd:4a3eb6b4988d95847d4203be25ed1d46
|
|
@ -21,4 +21,4 @@ code:
|
||||||
- type: word
|
- type: word
|
||||||
words:
|
words:
|
||||||
- "hello from input"
|
- "hello from input"
|
||||||
# digest: 4a0a00473045022067a69eb337ffa56d1c8e2cc57b7f74a5eb3294e6f366c9074778b2da3f1d795d02210096d6acda6acd2fe0ff005b08a9c0b72b63f599532ec6493f44b8518265d0e5fd:4a3eb6b4988d95847d4203be25ed1d46
|
# digest: 4b0a004830460221009a87b77e770e688bb1ce05e75ac075cdb3f318aad18a6dbc3fc2ec729a8ba5990221009020d69ba3baf47f9d835d4b6bd644a9e4f2d699369acc2a15983f5c270d2e79:4a3eb6b4988d95847d4203be25ed1d46
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
echo "::group::Build nuclei"
|
echo "::group::Build nuclei"
|
||||||
rm integration-test nuclei 2>/dev/null
|
rm integration-test nuclei 2>/dev/null
|
||||||
cd ../v2/cmd/nuclei
|
cd ../cmd/nuclei
|
||||||
go build -race .
|
go build -race .
|
||||||
mv nuclei ../../../integration_tests/nuclei
|
mv nuclei ../../integration_tests/nuclei
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
echo "::group::Build nuclei integration-test"
|
echo "::group::Build nuclei integration-test"
|
||||||
cd ../integration-test
|
cd ../integration-test
|
||||||
go build
|
go build
|
||||||
mv integration-test ../../../integration_tests/integration-test
|
mv integration-test ../../integration_tests/integration-test
|
||||||
cd ../../../integration_tests
|
cd ../../integration_tests
|
||||||
echo "::endgroup::"
|
echo "::endgroup::"
|
||||||
|
|
||||||
echo "::group::Installing nuclei templates"
|
echo "::group::Installing nuclei templates"
|
||||||
|
|
|
@ -5,7 +5,7 @@ import (
|
||||||
|
|
||||||
"github.com/logrusorgru/aurora"
|
"github.com/logrusorgru/aurora"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/model/types/severity"
|
"github.com/projectdiscovery/nuclei/v3/pkg/model/types/severity"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
|
@ -15,8 +15,8 @@ import (
|
||||||
"github.com/charmbracelet/glamour"
|
"github.com/charmbracelet/glamour"
|
||||||
"github.com/olekukonko/tablewriter"
|
"github.com/olekukonko/tablewriter"
|
||||||
"github.com/projectdiscovery/gologger"
|
"github.com/projectdiscovery/gologger"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/config"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/config"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/external/customtemplates"
|
"github.com/projectdiscovery/nuclei/v3/pkg/external/customtemplates"
|
||||||
errorutil "github.com/projectdiscovery/utils/errors"
|
errorutil "github.com/projectdiscovery/utils/errors"
|
||||||
fileutil "github.com/projectdiscovery/utils/file"
|
fileutil "github.com/projectdiscovery/utils/file"
|
||||||
stringsutil "github.com/projectdiscovery/utils/strings"
|
stringsutil "github.com/projectdiscovery/utils/strings"
|
|
@ -6,7 +6,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/config"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/config"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
|
@ -13,7 +13,7 @@ import (
|
||||||
|
|
||||||
"github.com/Masterminds/semver/v3"
|
"github.com/Masterminds/semver/v3"
|
||||||
"github.com/projectdiscovery/gologger"
|
"github.com/projectdiscovery/gologger"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/config"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/config"
|
||||||
errorutil "github.com/projectdiscovery/utils/errors"
|
errorutil "github.com/projectdiscovery/utils/errors"
|
||||||
)
|
)
|
||||||
|
|
|
@ -8,7 +8,7 @@ import (
|
||||||
"runtime"
|
"runtime"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/config"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/config"
|
||||||
"github.com/projectdiscovery/retryablehttp-go"
|
"github.com/projectdiscovery/retryablehttp-go"
|
||||||
updateutils "github.com/projectdiscovery/utils/update"
|
updateutils "github.com/projectdiscovery/utils/update"
|
||||||
)
|
)
|
|
@ -3,7 +3,7 @@ package installer
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/config"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/config"
|
||||||
"github.com/projectdiscovery/utils/generic"
|
"github.com/projectdiscovery/utils/generic"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
|
@ -4,7 +4,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/projectdiscovery/gologger"
|
"github.com/projectdiscovery/gologger"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/config"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/config"
|
||||||
updateutils "github.com/projectdiscovery/utils/update"
|
updateutils "github.com/projectdiscovery/utils/update"
|
||||||
)
|
)
|
||||||
|
|
|
@ -13,9 +13,9 @@ import (
|
||||||
"github.com/olekukonko/tablewriter"
|
"github.com/olekukonko/tablewriter"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"github.com/projectdiscovery/gologger"
|
"github.com/projectdiscovery/gologger"
|
||||||
"github.com/projectdiscovery/nuclei/v2/internal/runner/nucleicloud"
|
"github.com/projectdiscovery/nuclei/v3/internal/runner/nucleicloud"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/output"
|
"github.com/projectdiscovery/nuclei/v3/pkg/output"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/templates/extensions"
|
"github.com/projectdiscovery/nuclei/v3/pkg/templates/extensions"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Get all the scan lists for a user/apikey.
|
// Get all the scan lists for a user/apikey.
|
|
@ -17,13 +17,13 @@ import (
|
||||||
"github.com/klauspost/compress/zlib"
|
"github.com/klauspost/compress/zlib"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"github.com/projectdiscovery/gologger"
|
"github.com/projectdiscovery/gologger"
|
||||||
"github.com/projectdiscovery/nuclei/v2/internal/runner/nucleicloud"
|
"github.com/projectdiscovery/nuclei/v3/internal/runner/nucleicloud"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/loader"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/loader"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/core"
|
"github.com/projectdiscovery/nuclei/v3/pkg/core"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/output"
|
"github.com/projectdiscovery/nuclei/v3/pkg/output"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/contextargs"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/contextargs"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/types"
|
"github.com/projectdiscovery/nuclei/v3/pkg/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
// runStandardEnumeration runs standard enumeration
|
// runStandardEnumeration runs standard enumeration
|
|
@ -6,8 +6,8 @@ import (
|
||||||
"runtime"
|
"runtime"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/config"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/config"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/types"
|
"github.com/projectdiscovery/nuclei/v3/pkg/types"
|
||||||
fileutil "github.com/projectdiscovery/utils/file"
|
fileutil "github.com/projectdiscovery/utils/file"
|
||||||
)
|
)
|
||||||
|
|
|
@ -8,8 +8,8 @@ import (
|
||||||
"github.com/projectdiscovery/gologger"
|
"github.com/projectdiscovery/gologger"
|
||||||
"github.com/projectdiscovery/hmap/store/hybrid"
|
"github.com/projectdiscovery/hmap/store/hybrid"
|
||||||
"github.com/projectdiscovery/httpx/common/httpx"
|
"github.com/projectdiscovery/httpx/common/httpx"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/contextargs"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/contextargs"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/utils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/utils"
|
||||||
stringsutil "github.com/projectdiscovery/utils/strings"
|
stringsutil "github.com/projectdiscovery/utils/strings"
|
||||||
"github.com/remeh/sizedwaitgroup"
|
"github.com/remeh/sizedwaitgroup"
|
||||||
)
|
)
|
|
@ -17,7 +17,7 @@ import (
|
||||||
|
|
||||||
jsoniter "github.com/json-iterator/go"
|
jsoniter "github.com/json-iterator/go"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/output"
|
"github.com/projectdiscovery/nuclei/v3/pkg/output"
|
||||||
"github.com/projectdiscovery/retryablehttp-go"
|
"github.com/projectdiscovery/retryablehttp-go"
|
||||||
)
|
)
|
||||||
|
|
|
@ -4,8 +4,8 @@ import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/model/types/severity"
|
"github.com/projectdiscovery/nuclei/v3/pkg/model/types/severity"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/templates/types"
|
"github.com/projectdiscovery/nuclei/v3/pkg/templates/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
// AddScanRequest is a nuclei scan input item.
|
// AddScanRequest is a nuclei scan input item.
|
|
@ -7,7 +7,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/config"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
const DDMMYYYYhhmmss = "2006-01-02 15:04:05"
|
const DDMMYYYYhhmmss = "2006-01-02 15:04:05"
|
|
@ -16,12 +16,12 @@ import (
|
||||||
"github.com/projectdiscovery/gologger"
|
"github.com/projectdiscovery/gologger"
|
||||||
"github.com/projectdiscovery/gologger/formatter"
|
"github.com/projectdiscovery/gologger/formatter"
|
||||||
"github.com/projectdiscovery/gologger/levels"
|
"github.com/projectdiscovery/gologger/levels"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/config"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/config"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/protocolinit"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolinit"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/utils/vardump"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/utils/vardump"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/headless/engine"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/headless/engine"
|
||||||
protocoltypes "github.com/projectdiscovery/nuclei/v2/pkg/templates/types"
|
protocoltypes "github.com/projectdiscovery/nuclei/v3/pkg/templates/types"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/types"
|
"github.com/projectdiscovery/nuclei/v3/pkg/types"
|
||||||
fileutil "github.com/projectdiscovery/utils/file"
|
fileutil "github.com/projectdiscovery/utils/file"
|
||||||
"github.com/projectdiscovery/utils/generic"
|
"github.com/projectdiscovery/utils/generic"
|
||||||
logutil "github.com/projectdiscovery/utils/log"
|
logutil "github.com/projectdiscovery/utils/log"
|
|
@ -5,7 +5,7 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/projectdiscovery/goflags"
|
"github.com/projectdiscovery/goflags"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/types"
|
"github.com/projectdiscovery/nuclei/v3/pkg/types"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
|
@ -8,7 +8,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/projectdiscovery/gologger"
|
"github.com/projectdiscovery/gologger"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/types"
|
"github.com/projectdiscovery/nuclei/v3/pkg/types"
|
||||||
errorutil "github.com/projectdiscovery/utils/errors"
|
errorutil "github.com/projectdiscovery/utils/errors"
|
||||||
fileutil "github.com/projectdiscovery/utils/file"
|
fileutil "github.com/projectdiscovery/utils/file"
|
||||||
proxyutils "github.com/projectdiscovery/utils/proxy"
|
proxyutils "github.com/projectdiscovery/utils/proxy"
|
|
@ -12,8 +12,8 @@ import (
|
||||||
"sync/atomic"
|
"sync/atomic"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/internal/installer"
|
"github.com/projectdiscovery/nuclei/v3/internal/installer"
|
||||||
"github.com/projectdiscovery/nuclei/v2/internal/runner/nucleicloud"
|
"github.com/projectdiscovery/nuclei/v3/internal/runner/nucleicloud"
|
||||||
uncoverlib "github.com/projectdiscovery/uncover"
|
uncoverlib "github.com/projectdiscovery/uncover"
|
||||||
permissionutil "github.com/projectdiscovery/utils/permission"
|
permissionutil "github.com/projectdiscovery/utils/permission"
|
||||||
updateutils "github.com/projectdiscovery/utils/update"
|
updateutils "github.com/projectdiscovery/utils/update"
|
||||||
|
@ -23,39 +23,39 @@ import (
|
||||||
"github.com/projectdiscovery/ratelimit"
|
"github.com/projectdiscovery/ratelimit"
|
||||||
|
|
||||||
"github.com/projectdiscovery/gologger"
|
"github.com/projectdiscovery/gologger"
|
||||||
"github.com/projectdiscovery/nuclei/v2/internal/colorizer"
|
"github.com/projectdiscovery/nuclei/v3/internal/colorizer"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/config"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/config"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/disk"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/disk"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/loader"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/loader"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/core"
|
"github.com/projectdiscovery/nuclei/v3/pkg/core"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/core/inputs/hybrid"
|
"github.com/projectdiscovery/nuclei/v3/pkg/core/inputs/hybrid"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/external/customtemplates"
|
"github.com/projectdiscovery/nuclei/v3/pkg/external/customtemplates"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/input"
|
"github.com/projectdiscovery/nuclei/v3/pkg/input"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/output"
|
"github.com/projectdiscovery/nuclei/v3/pkg/output"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/parsers"
|
"github.com/projectdiscovery/nuclei/v3/pkg/parsers"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/progress"
|
"github.com/projectdiscovery/nuclei/v3/pkg/progress"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/projectfile"
|
"github.com/projectdiscovery/nuclei/v3/pkg/projectfile"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/automaticscan"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/automaticscan"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/contextargs"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/contextargs"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/hosterrorscache"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/hosterrorscache"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/interactsh"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/interactsh"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/protocolinit"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolinit"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/uncover"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/uncover"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/utils/excludematchers"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/utils/excludematchers"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/headless/engine"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/headless/engine"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/http/httpclientpool"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/http/httpclientpool"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/reporting"
|
"github.com/projectdiscovery/nuclei/v3/pkg/reporting"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/reporting/exporters/jsonexporter"
|
"github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/jsonexporter"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/reporting/exporters/jsonl"
|
"github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/jsonl"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/reporting/exporters/markdown"
|
"github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/markdown"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/reporting/exporters/sarif"
|
"github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/sarif"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/templates"
|
"github.com/projectdiscovery/nuclei/v3/pkg/templates"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/types"
|
"github.com/projectdiscovery/nuclei/v3/pkg/types"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/utils"
|
"github.com/projectdiscovery/nuclei/v3/pkg/utils"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/utils/stats"
|
"github.com/projectdiscovery/nuclei/v3/pkg/utils/stats"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/utils/yaml"
|
"github.com/projectdiscovery/nuclei/v3/pkg/utils/yaml"
|
||||||
"github.com/projectdiscovery/retryablehttp-go"
|
"github.com/projectdiscovery/retryablehttp-go"
|
||||||
ptrutil "github.com/projectdiscovery/utils/ptr"
|
ptrutil "github.com/projectdiscovery/utils/ptr"
|
||||||
)
|
)
|
||||||
|
@ -691,7 +691,7 @@ func (r *Runner) displayExecutionInfo(store *loader.Store) {
|
||||||
if v.Load() > 0 {
|
if v.Load() > 0 {
|
||||||
if k != templates.Unsigned {
|
if k != templates.Unsigned {
|
||||||
gologger.Info().Msgf("Executing %d signed templates from %s", v.Load(), k)
|
gologger.Info().Msgf("Executing %d signed templates from %s", v.Load(), k)
|
||||||
} else if !r.options.Silent {
|
} else if !r.options.Silent && !config.DefaultConfig.HideTemplateSigWarning {
|
||||||
gologger.DefaultLogger.Print().Msgf("[%v] Executing %d unsigned templates. Use with caution.", aurora.BrightYellow("WRN"), v.Load())
|
gologger.DefaultLogger.Print().Msgf("[%v] Executing %d unsigned templates. Use with caution.", aurora.BrightYellow("WRN"), v.Load())
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -6,20 +6,20 @@ import (
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/model/types/severity"
|
"github.com/projectdiscovery/nuclei/v3/pkg/model/types/severity"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/types"
|
"github.com/projectdiscovery/nuclei/v3/pkg/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
func Test_createReportingOptions(t *testing.T) {
|
func TestCreateReportingOptions(t *testing.T) {
|
||||||
var options types.Options
|
var options types.Options
|
||||||
options.ReportingConfig = "../../../integration_tests/test-issue-tracker-config1.yaml"
|
options.ReportingConfig = "../../integration_tests/test-issue-tracker-config1.yaml"
|
||||||
resultOptions, err := createReportingOptions(&options)
|
resultOptions, err := createReportingOptions(&options)
|
||||||
|
|
||||||
assert.Nil(t, err)
|
assert.Nil(t, err)
|
||||||
assert.Equal(t, resultOptions.AllowList.Severities, severity.Severities{severity.High, severity.Critical})
|
assert.Equal(t, resultOptions.AllowList.Severities, severity.Severities{severity.High, severity.Critical})
|
||||||
assert.Equal(t, resultOptions.DenyList.Severities, severity.Severities{severity.Low})
|
assert.Equal(t, resultOptions.DenyList.Severities, severity.Severities{severity.Low})
|
||||||
|
|
||||||
options.ReportingConfig = "../../../integration_tests/test-issue-tracker-config2.yaml"
|
options.ReportingConfig = "../../integration_tests/test-issue-tracker-config2.yaml"
|
||||||
resultOptions2, err := createReportingOptions(&options)
|
resultOptions2, err := createReportingOptions(&options)
|
||||||
assert.Nil(t, err)
|
assert.Nil(t, err)
|
||||||
assert.Equal(t, resultOptions2.AllowList.Severities, resultOptions.AllowList.Severities)
|
assert.Equal(t, resultOptions2.AllowList.Severities, resultOptions.AllowList.Severities)
|
|
@ -7,13 +7,13 @@ import (
|
||||||
|
|
||||||
"github.com/alecthomas/chroma/quick"
|
"github.com/alecthomas/chroma/quick"
|
||||||
"github.com/logrusorgru/aurora"
|
"github.com/logrusorgru/aurora"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/config"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/config"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/catalog/loader"
|
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/loader"
|
||||||
|
|
||||||
"github.com/projectdiscovery/gologger"
|
"github.com/projectdiscovery/gologger"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/parsers"
|
"github.com/projectdiscovery/nuclei/v3/pkg/parsers"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/templates"
|
"github.com/projectdiscovery/nuclei/v3/pkg/templates"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/types"
|
"github.com/projectdiscovery/nuclei/v3/pkg/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
// log available templates for verbose (-vv)
|
// log available templates for verbose (-vv)
|
|
@ -7,13 +7,13 @@ Nuclei was primarily built as a CLI tool, but with increasing choice of users wa
|
||||||
To add nuclei as a library to your go project, you can use the following command:
|
To add nuclei as a library to your go project, you can use the following command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
go get -u github.com/projectdiscovery/nuclei/v2/lib
|
go get -u github.com/projectdiscovery/nuclei/v3/lib
|
||||||
```
|
```
|
||||||
|
|
||||||
Or add below import to your go file and let IDE handle the rest:
|
Or add below import to your go file and let IDE handle the rest:
|
||||||
|
|
||||||
```go
|
```go
|
||||||
import nuclei "github.com/projectdiscovery/nuclei/v2/lib"
|
import nuclei "github.com/projectdiscovery/nuclei/v3/lib"
|
||||||
```
|
```
|
||||||
|
|
||||||
## Basic Example of using Nuclei Library/SDK
|
## Basic Example of using Nuclei Library/SDK
|
||||||
|
@ -75,7 +75,7 @@ For Various use cases like batching etc you might want to run nuclei in goroutin
|
||||||
|
|
||||||
## More Documentation
|
## More Documentation
|
||||||
|
|
||||||
For complete documentation of nuclei library, please refer to [godoc](https://pkg.go.dev/github.com/projectdiscovery/nuclei/v2/lib) which contains all available options and methods.
|
For complete documentation of nuclei library, please refer to [godoc](https://pkg.go.dev/github.com/projectdiscovery/nuclei/v3/lib) which contains all available options and methods.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,14 +5,14 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/projectdiscovery/gologger"
|
"github.com/projectdiscovery/gologger"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/model/types/severity"
|
"github.com/projectdiscovery/nuclei/v3/pkg/model/types/severity"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/output"
|
"github.com/projectdiscovery/nuclei/v3/pkg/output"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/progress"
|
"github.com/projectdiscovery/nuclei/v3/pkg/progress"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/hosterrorscache"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/hosterrorscache"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/interactsh"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/interactsh"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/utils/vardump"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/utils/vardump"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/protocols/headless/engine"
|
"github.com/projectdiscovery/nuclei/v3/pkg/protocols/headless/engine"
|
||||||
"github.com/projectdiscovery/nuclei/v2/pkg/templates/types"
|
"github.com/projectdiscovery/nuclei/v3/pkg/templates/types"
|
||||||
"github.com/projectdiscovery/ratelimit"
|
"github.com/projectdiscovery/ratelimit"
|
||||||
)
|
)
|
||||||
|
|
|
@ -7,7 +7,7 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
nuclei "github.com/projectdiscovery/nuclei/v2/lib"
|
nuclei "github.com/projectdiscovery/nuclei/v3/lib"
|
||||||
"github.com/remeh/sizedwaitgroup"
|
"github.com/remeh/sizedwaitgroup"
|
||||||
)
|
)
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue