diff --git a/mint.json b/mint.json index 62c852b..c78c0d2 100644 --- a/mint.json +++ b/mint.json @@ -257,7 +257,8 @@ "pages": [ "templates/introduction", "templates/structure", - "templates/faq" + "templates/faq", + "templates/syntax/README" ] }, { diff --git a/templates/syntax/README.mdx b/templates/syntax/README.mdx new file mode 100644 index 0000000..09364f7 --- /dev/null +++ b/templates/syntax/README.mdx @@ -0,0 +1,137 @@ +# README + +## Top-level Schemas + +* [Untitled schema](./nuclei-schema) – `https://template` + +## Other Schemas + +### Objects + +* [Untitled object in undefined](./nuclei-schema-defs-attacktypeholder) – `https://template#/$defs/AttackTypeHolder` + +* [Untitled object in undefined](./nuclei-schema-defs-classification) – `https://template#/$defs/Classification` + +* [Untitled object in undefined](./nuclei-schema-defs-extractor) – `https://template#/$defs/Extractor` + +* [Untitled object in undefined](./nuclei-schema-defs-extractortypeholder) – `https://template#/$defs/ExtractorTypeHolder` + +* [Untitled object in undefined](./nuclei-schema-defs-httpmethodtypeholder) – `https://template#/$defs/HTTPMethodTypeHolder` + +* [Untitled object in undefined](./nuclei-schema-defs-info) – `https://template#/$defs/Info` + +* [Untitled object in undefined](./nuclei-schema-defs-matcher) – `https://template#/$defs/Matcher` + +* [Untitled object in undefined](./nuclei-schema-defs-matchertypeholder) – `https://template#/$defs/MatcherTypeHolder` + +* [Untitled object in undefined](./nuclei-schema-defs-orderedmapstringstring) – `https://template#/$defs/OrderedMap[string,string]` + +* [Untitled object in undefined](./nuclei-schema-defs-request) – `https://template#/$defs/Request` + +* [Untitled object in undefined](./nuclei-schema-defs-rule) – `https://template#/$defs/Rule` + +* [Untitled object in undefined](./nuclei-schema-defs-signaturetypeholder) – `https://template#/$defs/SignatureTypeHolder` + +* [Untitled object in undefined](./nuclei-schema-defs-sliceormapslice) – `https://template#/$defs/SliceOrMapSlice` + +* [Untitled object in undefined](./nuclei-schema-defs-template) – `https://template#/$defs/Template` + +* [Untitled object in undefined](./nuclei-schema-defs-variable) – `https://template#/$defs/Variable` + +* [Untitled object in undefined](./nuclei-schema-defs-workflowtemplate) – `https://template#/$defs/WorkflowTemplate` + +* [additional metadata for the template](./nuclei-schema-defs-info-properties-additional-metadata-for-the-template "Optional metadata for the template") – `https://template#/$defs/Info/properties/metadata` + +* [constant for the template](./nuclei-schema-defs-template-properties-constant-for-the-template "Constants are the global constants that once defined here can be used anywhere in the template") – `https://template#/$defs/Template/properties/constants` + +* [headers to send with the http request](./nuclei-schema-defs-request-properties-headers-to-send-with-the-http-request "Headers contains HTTP Headers to send with the request") – `https://template#/$defs/Request/properties/headers` + +* [payloads for the http request](./nuclei-schema-defs-request-properties-payloads-for-the-http-request "Payloads contains any payloads for the current request") – `https://template#/$defs/Request/properties/payloads` + +* [variables for the http request](./nuclei-schema-defs-template-properties-variables-for-the-http-request "Variables are the global variables that once defined here can be used anywhere in the template") – `https://template#/$defs/Template/properties/variables` + +### Arrays + +* [Untitled array in undefined](./nuclei-schema-defs-stringorslice-oneof-1) – `https://template#/$defs/StringOrSlice/oneOf/1` + +* [Untitled array in undefined](./nuclei-schema-defs-info-properties-author-of-the-template-oneof-1 "Author of the template without any special characters") – `https://template#/$defs/Info/properties/author/oneOf/1` + +* [Untitled array in undefined](./nuclei-schema-defs-info-properties-tags-of-the-template-oneof-1 "Multiple tags for the template separated by commas (No spaces)") – `https://template#/$defs/Info/properties/tags/oneOf/1` + +* [Untitled array in undefined](./nuclei-schema-defs-request-properties-raw "HTTP Requests in Raw Format") – `https://template#/$defs/Request/properties/raw` + +* [Untitled array in undefined](./nuclei-schema-defs-sliceormapslice-properties-value) – `https://template#/$defs/SliceOrMapSlice/properties/Value` + +* [acceptable size for response](./nuclei-schema-defs-matcher-properties-acceptable-size-for-response "Size is the acceptable size for the response") – `https://template#/$defs/Matcher/properties/size` + +* [binary patterns to match in response](./nuclei-schema-defs-matcher-properties-binary-patterns-to-match-in-response "Binary are the binary patterns required to be present in the response part") – `https://template#/$defs/Matcher/properties/binary` + +* [code snippets to make](./nuclei-schema-defs-template-properties-code-snippets-to-make "Code snippets") – `https://template#/$defs/Template/properties/code` + +* [dns requests to make](./nuclei-schema-defs-template-properties-dns-requests-to-make "DNS requests to make for the template") – `https://template#/$defs/Template/properties/dns` + +* [dsl expressions to extract](./nuclei-schema-defs-extractor-properties-dsl-expressions-to-extract "Optional attribute to extract from response dsl") – `https://template#/$defs/Extractor/properties/dsl` + +* [dsl expressions to match in response](./nuclei-schema-defs-matcher-properties-dsl-expressions-to-match-in-response "DSL are the dsl expressions that will be evaluated as part of nuclei matching rules") – `https://template#/$defs/Matcher/properties/dsl` + +* [extractors to run on response](./nuclei-schema-defs-request-properties-extractors-to-run-on-response "Extractors contains the extraction mechanism for the request to identify and extract parts of the response") – `https://template#/$defs/Request/properties/extractors` + +* [file requests to make](./nuclei-schema-defs-template-properties-file-requests-to-make "File requests to make for the template") – `https://template#/$defs/Template/properties/file` + +* [filter for fuzzing](./nuclei-schema-defs-request-properties-filter-for-fuzzing "Filter is matcher-like field to check if fuzzing should be performed on this request or not") – `https://template#/$defs/Request/properties/filter` + +* [fuzzin rules for http fuzzing](./nuclei-schema-defs-request-properties-fuzzin-rules-for-http-fuzzing "Fuzzing describes rule schema to fuzz http requests") – `https://template#/$defs/Request/properties/fuzzing` + +* [headless requests to make](./nuclei-schema-defs-template-properties-headless-requests-to-make "Headless requests to make for the template") – `https://template#/$defs/Template/properties/headless` + +* [html xpath expressions to extract data](./nuclei-schema-defs-extractor-properties-html-xpath-expressions-to-extract-data "XPath allows using xpath expressions to extract items from html response") – `https://template#/$defs/Extractor/properties/xpath` + +* [http requests to make](./nuclei-schema-defs-template-properties-http-requests-to-make "HTTP requests to make for the template") – `https://template#/$defs/Template/properties/requests` + +* [http requests to make](./nuclei-schema-defs-template-properties-http-requests-to-make-1 "HTTP requests to make for the template") – `https://template#/$defs/Template/properties/http` + +* [javascript requests to make](./nuclei-schema-defs-template-properties-javascript-requests-to-make "Javascript requests to make for the template") – `https://template#/$defs/Template/properties/javascript` + +* [json jq expressions to extract data](./nuclei-schema-defs-extractor-properties-json-jq-expressions-to-extract-data "JSON JQ expressions to evaluate from response part") – `https://template#/$defs/Extractor/properties/json` + +* [keys of parameters to fuzz](./nuclei-schema-defs-rule-properties-keys-of-parameters-to-fuzz "Keys of parameters to fuzz") – `https://template#/$defs/Rule/properties/keys` + +* [keys regex to fuzz](./nuclei-schema-defs-rule-properties-keys-regex-to-fuzz "Regex of parameter keys to fuzz") – `https://template#/$defs/Rule/properties/keys-regex` + +* [kval pairs to extract from response](./nuclei-schema-defs-extractor-properties-kval-pairs-to-extract-from-response "Kval pairs to extract from response") – `https://template#/$defs/Extractor/properties/kval` + +* [list of workflows to execute](./nuclei-schema-defs-template-properties-list-of-workflows-to-execute "List of workflows to execute for template") – `https://template#/$defs/Template/properties/workflows` + +* [matchers to run on response](./nuclei-schema-defs-request-properties-matchers-to-run-on-response "Detection mechanism to identify whether the request was successful by doing pattern matching") – `https://template#/$defs/Request/properties/matchers` + +* [name based template result matchers](./nuclei-schema-defs-workflowtemplate-properties-name-based-template-result-matchers "Matchers perform name based matching to run subtemplates for a workflow") – `https://template#/$defs/WorkflowTemplate/properties/matchers` + +* [network requests to make](./nuclei-schema-defs-template-properties-network-requests-to-make "Network requests to make for the template") – `https://template#/$defs/Template/properties/network` + +* [network(tcp) requests to make](./nuclei-schema-defs-template-properties-networktcp-requests-to-make "Network requests to make for the template") – `https://template#/$defs/Template/properties/tcp` + +* [path(s) for the http request](./nuclei-schema-defs-request-properties-paths-for-the-http-request "Path(s) to send http requests to") – `https://template#/$defs/Request/properties/path` + +* [regex to extract from part](./nuclei-schema-defs-extractor-properties-regex-to-extract-from-part "Regex to extract from part") – `https://template#/$defs/Extractor/properties/regex` + +* [regex to match in response](./nuclei-schema-defs-matcher-properties-regex-to-match-in-response "Regex contains regex patterns required to be present in the response part") – `https://template#/$defs/Matcher/properties/regex` + +* [ssl requests to make](./nuclei-schema-defs-template-properties-ssl-requests-to-make "SSL requests to make for the template") – `https://template#/$defs/Template/properties/ssl` + +* [status to match](./nuclei-schema-defs-matcher-properties-status-to-match "Status to match for the response") – `https://template#/$defs/Matcher/properties/status` + +* [subtemplate based result matchers](./nuclei-schema-defs-workflowtemplate-properties-subtemplate-based-result-matchers "Subtemplates are ran if the template field Template matches") – `https://template#/$defs/WorkflowTemplate/properties/subtemplates` + +* [values regex to fuzz](./nuclei-schema-defs-rule-properties-values-regex-to-fuzz "Regex of parameter values to fuzz") – `https://template#/$defs/Rule/properties/values` + +* [websocket requests to make](./nuclei-schema-defs-template-properties-websocket-requests-to-make "Websocket requests to make for the template") – `https://template#/$defs/Template/properties/websocket` + +* [whois requests to make](./nuclei-schema-defs-template-properties-whois-requests-to-make "WHOIS requests to make for the template") – `https://template#/$defs/Template/properties/whois` + +* [words to match in response](./nuclei-schema-defs-matcher-properties-words-to-match-in-response "Words contains word patterns required to be present in the response part") – `https://template#/$defs/Matcher/properties/words` + +* [xpath queries to match in response](./nuclei-schema-defs-matcher-properties-xpath-queries-to-match-in-response "xpath are the XPath queries that will be evaluated against the response part of nuclei matching rules") – `https://template#/$defs/Matcher/properties/xpath` + +## Version Note + +The schemas linked above follow the JSON Schema Spec version: `https://json-schema.org/draft/2020-12/schema` diff --git a/templates/syntax/nuclei-schema-defs-attacktypeholder-properties-value.mdx b/templates/syntax/nuclei-schema-defs-attacktypeholder-properties-value.mdx new file mode 100644 index 0000000..da118ec --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-attacktypeholder-properties-value.mdx @@ -0,0 +1,15 @@ +# Untitled integer in undefined Schema + +```txt +https://template#/$defs/AttackTypeHolder/properties/Value +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## Value Type + +`integer` diff --git a/templates/syntax/nuclei-schema-defs-attacktypeholder.mdx b/templates/syntax/nuclei-schema-defs-attacktypeholder.mdx new file mode 100644 index 0000000..af8d396 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-attacktypeholder.mdx @@ -0,0 +1,39 @@ +# attack is the payload combination Schema + +```txt +https://template#/$defs/Request/properties/attack +``` + +Attack is the type of payload combinations to perform + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## attack Type + +`object` ([attack is the payload combination](nuclei-schema-defs-attacktypeholder)) + +# attack Properties + +| Property | Type | Required | Nullable | Defined by | +| :-------------- | :-------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------- | +| [Value](#value) | `integer` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-attacktypeholder-properties-value "https://template#/$defs/AttackTypeHolder/properties/Value") | + +## Value + + + +`Value` + +* is required + +* Type: `integer` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-attacktypeholder-properties-value "https://template#/$defs/AttackTypeHolder/properties/Value") + +### Value Type + +`integer` diff --git a/templates/syntax/nuclei-schema-defs-classification-properties-cpe-for-the-template.mdx b/templates/syntax/nuclei-schema-defs-classification-properties-cpe-for-the-template.mdx new file mode 100644 index 0000000..49df8df --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-classification-properties-cpe-for-the-template.mdx @@ -0,0 +1,21 @@ +# cpe for the template Schema + +```txt +https://template#/$defs/Classification/properties/cpe +``` + +CPE for the template + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## cpe Type + +`string` ([cpe for the template](nuclei-schema-defs-classification-properties-cpe-for-the-template)) + +## cpe Examples + +```json +"cpe:/a:vendor:product:version" +``` diff --git a/templates/syntax/nuclei-schema-defs-classification-properties-cvss-metrics-for-the-template.mdx b/templates/syntax/nuclei-schema-defs-classification-properties-cvss-metrics-for-the-template.mdx new file mode 100644 index 0000000..0d944af --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-classification-properties-cvss-metrics-for-the-template.mdx @@ -0,0 +1,21 @@ +# cvss metrics for the template Schema + +```txt +https://template#/$defs/Classification/properties/cvss-metrics +``` + +CVSS Metrics for the template + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## cvss-metrics Type + +`string` ([cvss metrics for the template](nuclei-schema-defs-classification-properties-cvss-metrics-for-the-template)) + +## cvss-metrics Examples + +```json +"3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H" +``` diff --git a/templates/syntax/nuclei-schema-defs-classification-properties-cvss-score-for-the-template.mdx b/templates/syntax/nuclei-schema-defs-classification-properties-cvss-score-for-the-template.mdx new file mode 100644 index 0000000..08d578d --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-classification-properties-cvss-score-for-the-template.mdx @@ -0,0 +1,21 @@ +# cvss score for the template Schema + +```txt +https://template#/$defs/Classification/properties/cvss-score +``` + +CVSS Score for the template + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## cvss-score Type + +`number` ([cvss score for the template](nuclei-schema-defs-classification-properties-cvss-score-for-the-template)) + +## cvss-score Examples + +```json +9.8 +``` diff --git a/templates/syntax/nuclei-schema-defs-classification-properties-epss-percentile-for-the-template.mdx b/templates/syntax/nuclei-schema-defs-classification-properties-epss-percentile-for-the-template.mdx new file mode 100644 index 0000000..37dea99 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-classification-properties-epss-percentile-for-the-template.mdx @@ -0,0 +1,21 @@ +# epss percentile for the template Schema + +```txt +https://template#/$defs/Classification/properties/epss-percentile +``` + +EPSS Percentile for the template + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## epss-percentile Type + +`number` ([epss percentile for the template](nuclei-schema-defs-classification-properties-epss-percentile-for-the-template)) + +## epss-percentile Examples + +```json +0.42509 +``` diff --git a/templates/syntax/nuclei-schema-defs-classification-properties-epss-score-for-the-template.mdx b/templates/syntax/nuclei-schema-defs-classification-properties-epss-score-for-the-template.mdx new file mode 100644 index 0000000..2b90540 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-classification-properties-epss-score-for-the-template.mdx @@ -0,0 +1,21 @@ +# epss score for the template Schema + +```txt +https://template#/$defs/Classification/properties/epss-score +``` + +EPSS Score for the template + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## epss-score Type + +`number` ([epss score for the template](nuclei-schema-defs-classification-properties-epss-score-for-the-template)) + +## epss-score Examples + +```json +0.42509 +``` diff --git a/templates/syntax/nuclei-schema-defs-classification.mdx b/templates/syntax/nuclei-schema-defs-classification.mdx new file mode 100644 index 0000000..c957ea2 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-classification.mdx @@ -0,0 +1,218 @@ +# classification info for the template Schema + +```txt +https://template#/$defs/Info/properties/classification +``` + +Classification contains classification information about the template. +This could be any classification information like CWE, CVE, EPSS etc. +Note - This is autogenerated and updated regularly for CVE templates merged in projectdiscovery/nuclei-templates repository. +Example: + +```yaml +cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H +cvss-score: 10 +cve-id: CVE-2021-44228 +cwe-id: CWE-20,CWE-917 +epss-score: 0.97453 +epss-percentile: 0.99942 +cpe: cpe:2.3:a:apache:log4j:*:*:*:*:*:*:*:* +``` + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## classification Type + +`object` ([classification info for the template](nuclei-schema-defs-classification)) + +## classification Examples + +```json +"\n\tcvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H\n\tcvss-score: 10\n\tcve-id: CVE-2021-44228" +``` + +```json +"\n\tcwe-id: CWE-20,CWE-917" +``` + +# classification Properties + +| Property | Type | Required | Nullable | Defined by | +| :---------------------------------- | :------- | :------- | :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [cve-id](#cve-id) | Merged | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-stringorslice "https://template#/$defs/Classification/properties/cve-id") | +| [cwe-id](#cwe-id) | Merged | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-stringorslice "https://template#/$defs/Classification/properties/cwe-id") | +| [cvss-metrics](#cvss-metrics) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-classification-properties-cvss-metrics-for-the-template "https://template#/$defs/Classification/properties/cvss-metrics") | +| [cvss-score](#cvss-score) | `number` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-classification-properties-cvss-score-for-the-template "https://template#/$defs/Classification/properties/cvss-score") | +| [epss-score](#epss-score) | `number` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-classification-properties-epss-score-for-the-template "https://template#/$defs/Classification/properties/epss-score") | +| [epss-percentile](#epss-percentile) | `number` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-classification-properties-epss-percentile-for-the-template "https://template#/$defs/Classification/properties/epss-percentile") | +| [cpe](#cpe) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-classification-properties-cpe-for-the-template "https://template#/$defs/Classification/properties/cpe") | + +## cve-id + +CVE IDs for the template + +`cve-id` + +* is optional + +* Type: merged type ([cve ids for the template](nuclei-schema-defs-stringorslice)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-stringorslice "https://template#/$defs/Classification/properties/cve-id") + +### cve-id Type + +merged type ([cve ids for the template](nuclei-schema-defs-stringorslice)) + +one (and only one) of + +* [Untitled string in undefined](nuclei-schema-defs-stringorslice-oneof-0 "check type definition") + +* [Untitled array in undefined](nuclei-schema-defs-stringorslice-oneof-1 "check type definition") + +## cwe-id + +CWE IDs for the template + +`cwe-id` + +* is optional + +* Type: merged type ([cwe ids for the template](nuclei-schema-defs-stringorslice)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-stringorslice "https://template#/$defs/Classification/properties/cwe-id") + +### cwe-id Type + +merged type ([cwe ids for the template](nuclei-schema-defs-stringorslice)) + +one (and only one) of + +* [Untitled string in undefined](nuclei-schema-defs-stringorslice-oneof-0 "check type definition") + +* [Untitled array in undefined](nuclei-schema-defs-stringorslice-oneof-1 "check type definition") + +## cvss-metrics + +CVSS Metrics for the template + +`cvss-metrics` + +* is optional + +* Type: `string` ([cvss metrics for the template](nuclei-schema-defs-classification-properties-cvss-metrics-for-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-classification-properties-cvss-metrics-for-the-template "https://template#/$defs/Classification/properties/cvss-metrics") + +### cvss-metrics Type + +`string` ([cvss metrics for the template](nuclei-schema-defs-classification-properties-cvss-metrics-for-the-template)) + +### cvss-metrics Examples + +```json +"3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H" +``` + +## cvss-score + +CVSS Score for the template + +`cvss-score` + +* is optional + +* Type: `number` ([cvss score for the template](nuclei-schema-defs-classification-properties-cvss-score-for-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-classification-properties-cvss-score-for-the-template "https://template#/$defs/Classification/properties/cvss-score") + +### cvss-score Type + +`number` ([cvss score for the template](nuclei-schema-defs-classification-properties-cvss-score-for-the-template)) + +### cvss-score Examples + +```json +9.8 +``` + +## epss-score + +EPSS Score for the template + +`epss-score` + +* is optional + +* Type: `number` ([epss score for the template](nuclei-schema-defs-classification-properties-epss-score-for-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-classification-properties-epss-score-for-the-template "https://template#/$defs/Classification/properties/epss-score") + +### epss-score Type + +`number` ([epss score for the template](nuclei-schema-defs-classification-properties-epss-score-for-the-template)) + +### epss-score Examples + +```json +0.42509 +``` + +## epss-percentile + +EPSS Percentile for the template + +`epss-percentile` + +* is optional + +* Type: `number` ([epss percentile for the template](nuclei-schema-defs-classification-properties-epss-percentile-for-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-classification-properties-epss-percentile-for-the-template "https://template#/$defs/Classification/properties/epss-percentile") + +### epss-percentile Type + +`number` ([epss percentile for the template](nuclei-schema-defs-classification-properties-epss-percentile-for-the-template)) + +### epss-percentile Examples + +```json +0.42509 +``` + +## cpe + +CPE for the template + +`cpe` + +* is optional + +* Type: `string` ([cpe for the template](nuclei-schema-defs-classification-properties-cpe-for-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-classification-properties-cpe-for-the-template "https://template#/$defs/Classification/properties/cpe") + +### cpe Type + +`string` ([cpe for the template](nuclei-schema-defs-classification-properties-cpe-for-the-template)) + +### cpe Examples + +```json +"cpe:/a:vendor:product:version" +``` diff --git a/templates/syntax/nuclei-schema-defs-extractor-properties-dsl-expressions-to-extract-items.mdx b/templates/syntax/nuclei-schema-defs-extractor-properties-dsl-expressions-to-extract-items.mdx new file mode 100644 index 0000000..bf928d4 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-extractor-properties-dsl-expressions-to-extract-items.mdx @@ -0,0 +1,15 @@ +# Untitled string in undefined Schema + +```txt +https://template#/$defs/Extractor/properties/dsl/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## items Type + +`string` diff --git a/templates/syntax/nuclei-schema-defs-extractor-properties-dsl-expressions-to-extract.mdx b/templates/syntax/nuclei-schema-defs-extractor-properties-dsl-expressions-to-extract.mdx new file mode 100644 index 0000000..0398eaa --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-extractor-properties-dsl-expressions-to-extract.mdx @@ -0,0 +1,15 @@ +# dsl expressions to extract Schema + +```txt +https://template#/$defs/Extractor/properties/dsl +``` + +Optional attribute to extract from response dsl + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## dsl Type + +`string[]` diff --git a/templates/syntax/nuclei-schema-defs-extractor-properties-group-to-extract-from-regex.mdx b/templates/syntax/nuclei-schema-defs-extractor-properties-group-to-extract-from-regex.mdx new file mode 100644 index 0000000..be24023 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-extractor-properties-group-to-extract-from-regex.mdx @@ -0,0 +1,15 @@ +# group to extract from regex Schema + +```txt +https://template#/$defs/Extractor/properties/group +``` + +Group to extract from regex + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## group Type + +`integer` ([group to extract from regex](nuclei-schema-defs-extractor-properties-group-to-extract-from-regex)) diff --git a/templates/syntax/nuclei-schema-defs-extractor-properties-html-xpath-expressions-to-extract-data-items.mdx b/templates/syntax/nuclei-schema-defs-extractor-properties-html-xpath-expressions-to-extract-data-items.mdx new file mode 100644 index 0000000..976360c --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-extractor-properties-html-xpath-expressions-to-extract-data-items.mdx @@ -0,0 +1,15 @@ +# Untitled string in undefined Schema + +```txt +https://template#/$defs/Extractor/properties/xpath/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## items Type + +`string` diff --git a/templates/syntax/nuclei-schema-defs-extractor-properties-html-xpath-expressions-to-extract-data.mdx b/templates/syntax/nuclei-schema-defs-extractor-properties-html-xpath-expressions-to-extract-data.mdx new file mode 100644 index 0000000..8dccfdb --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-extractor-properties-html-xpath-expressions-to-extract-data.mdx @@ -0,0 +1,15 @@ +# html xpath expressions to extract data Schema + +```txt +https://template#/$defs/Extractor/properties/xpath +``` + +XPath allows using xpath expressions to extract items from html response + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## xpath Type + +`string[]` diff --git a/templates/syntax/nuclei-schema-defs-extractor-properties-json-jq-expressions-to-extract-data-items.mdx b/templates/syntax/nuclei-schema-defs-extractor-properties-json-jq-expressions-to-extract-data-items.mdx new file mode 100644 index 0000000..cdb5f11 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-extractor-properties-json-jq-expressions-to-extract-data-items.mdx @@ -0,0 +1,15 @@ +# Untitled string in undefined Schema + +```txt +https://template#/$defs/Extractor/properties/json/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## items Type + +`string` diff --git a/templates/syntax/nuclei-schema-defs-extractor-properties-json-jq-expressions-to-extract-data.mdx b/templates/syntax/nuclei-schema-defs-extractor-properties-json-jq-expressions-to-extract-data.mdx new file mode 100644 index 0000000..0fb8cd6 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-extractor-properties-json-jq-expressions-to-extract-data.mdx @@ -0,0 +1,15 @@ +# json jq expressions to extract data Schema + +```txt +https://template#/$defs/Extractor/properties/json +``` + +JSON JQ expressions to evaluate from response part + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## json Type + +`string[]` diff --git a/templates/syntax/nuclei-schema-defs-extractor-properties-kval-pairs-to-extract-from-response-items.mdx b/templates/syntax/nuclei-schema-defs-extractor-properties-kval-pairs-to-extract-from-response-items.mdx new file mode 100644 index 0000000..905f245 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-extractor-properties-kval-pairs-to-extract-from-response-items.mdx @@ -0,0 +1,15 @@ +# Untitled string in undefined Schema + +```txt +https://template#/$defs/Extractor/properties/kval/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## items Type + +`string` diff --git a/templates/syntax/nuclei-schema-defs-extractor-properties-kval-pairs-to-extract-from-response.mdx b/templates/syntax/nuclei-schema-defs-extractor-properties-kval-pairs-to-extract-from-response.mdx new file mode 100644 index 0000000..e53e909 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-extractor-properties-kval-pairs-to-extract-from-response.mdx @@ -0,0 +1,15 @@ +# kval pairs to extract from response Schema + +```txt +https://template#/$defs/Extractor/properties/kval +``` + +Kval pairs to extract from response + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## kval Type + +`string[]` diff --git a/templates/syntax/nuclei-schema-defs-extractor-properties-mark-extracted-value-for-internal-variable-use.mdx b/templates/syntax/nuclei-schema-defs-extractor-properties-mark-extracted-value-for-internal-variable-use.mdx new file mode 100644 index 0000000..c523edb --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-extractor-properties-mark-extracted-value-for-internal-variable-use.mdx @@ -0,0 +1,15 @@ +# mark extracted value for internal variable use Schema + +```txt +https://template#/$defs/Extractor/properties/internal +``` + +Internal when set to true will allow using the value extracted in the next request for some protocols + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## internal Type + +`boolean` ([mark extracted value for internal variable use](nuclei-schema-defs-extractor-properties-mark-extracted-value-for-internal-variable-use)) diff --git a/templates/syntax/nuclei-schema-defs-extractor-properties-name-of-the-extractor.mdx b/templates/syntax/nuclei-schema-defs-extractor-properties-name-of-the-extractor.mdx new file mode 100644 index 0000000..952e10d --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-extractor-properties-name-of-the-extractor.mdx @@ -0,0 +1,15 @@ +# name of the extractor Schema + +```txt +https://template#/$defs/Extractor/properties/name +``` + +Name of the extractor + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## name Type + +`string` ([name of the extractor](nuclei-schema-defs-extractor-properties-name-of-the-extractor)) diff --git a/templates/syntax/nuclei-schema-defs-extractor-properties-optional-attribute-to-extract-from-xpath.mdx b/templates/syntax/nuclei-schema-defs-extractor-properties-optional-attribute-to-extract-from-xpath.mdx new file mode 100644 index 0000000..2695591 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-extractor-properties-optional-attribute-to-extract-from-xpath.mdx @@ -0,0 +1,15 @@ +# optional attribute to extract from xpath Schema + +```txt +https://template#/$defs/Extractor/properties/attribute +``` + +Optional attribute to extract from response XPath + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## attribute Type + +`string` ([optional attribute to extract from xpath](nuclei-schema-defs-extractor-properties-optional-attribute-to-extract-from-xpath)) diff --git a/templates/syntax/nuclei-schema-defs-extractor-properties-part-of-response-to-extract-data-from.mdx b/templates/syntax/nuclei-schema-defs-extractor-properties-part-of-response-to-extract-data-from.mdx new file mode 100644 index 0000000..257bf4e --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-extractor-properties-part-of-response-to-extract-data-from.mdx @@ -0,0 +1,15 @@ +# part of response to extract data from Schema + +```txt +https://template#/$defs/Extractor/properties/part +``` + +Part of the request response to extract data from + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## part Type + +`string` ([part of response to extract data from](nuclei-schema-defs-extractor-properties-part-of-response-to-extract-data-from)) diff --git a/templates/syntax/nuclei-schema-defs-extractor-properties-regex-to-extract-from-part-items.mdx b/templates/syntax/nuclei-schema-defs-extractor-properties-regex-to-extract-from-part-items.mdx new file mode 100644 index 0000000..462f771 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-extractor-properties-regex-to-extract-from-part-items.mdx @@ -0,0 +1,15 @@ +# Untitled string in undefined Schema + +```txt +https://template#/$defs/Extractor/properties/regex/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## items Type + +`string` diff --git a/templates/syntax/nuclei-schema-defs-extractor-properties-regex-to-extract-from-part.mdx b/templates/syntax/nuclei-schema-defs-extractor-properties-regex-to-extract-from-part.mdx new file mode 100644 index 0000000..0694bda --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-extractor-properties-regex-to-extract-from-part.mdx @@ -0,0 +1,15 @@ +# regex to extract from part Schema + +```txt +https://template#/$defs/Extractor/properties/regex +``` + +Regex to extract from part + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## regex Type + +`string[]` diff --git a/templates/syntax/nuclei-schema-defs-extractor-properties-use-case-insensitive-extract.mdx b/templates/syntax/nuclei-schema-defs-extractor-properties-use-case-insensitive-extract.mdx new file mode 100644 index 0000000..d92e8c0 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-extractor-properties-use-case-insensitive-extract.mdx @@ -0,0 +1,15 @@ +# use case insensitive extract Schema + +```txt +https://template#/$defs/Extractor/properties/case-insensitive +``` + +use case insensitive extract + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## case-insensitive Type + +`boolean` ([use case insensitive extract](nuclei-schema-defs-extractor-properties-use-case-insensitive-extract)) diff --git a/templates/syntax/nuclei-schema-defs-extractor.mdx b/templates/syntax/nuclei-schema-defs-extractor.mdx new file mode 100644 index 0000000..42fc90e --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-extractor.mdx @@ -0,0 +1,248 @@ +# Untitled object in undefined Schema + +```txt +https://template#/$defs/Request/properties/extractors/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## items Type + +`object` ([Details](nuclei-schema-defs-extractor)) + +# items Properties + +| Property | Type | Required | Nullable | Defined by | +| :------------------------------------ | :-------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [name](#name) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-extractor-properties-name-of-the-extractor "https://template#/$defs/Extractor/properties/name") | +| [type](#type) | `object` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-extractortypeholder "https://template#/$defs/Extractor/properties/type") | +| [regex](#regex) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-extractor-properties-regex-to-extract-from-part "https://template#/$defs/Extractor/properties/regex") | +| [group](#group) | `integer` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-extractor-properties-group-to-extract-from-regex "https://template#/$defs/Extractor/properties/group") | +| [kval](#kval) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-extractor-properties-kval-pairs-to-extract-from-response "https://template#/$defs/Extractor/properties/kval") | +| [json](#json) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-extractor-properties-json-jq-expressions-to-extract-data "https://template#/$defs/Extractor/properties/json") | +| [xpath](#xpath) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-extractor-properties-html-xpath-expressions-to-extract-data "https://template#/$defs/Extractor/properties/xpath") | +| [attribute](#attribute) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-extractor-properties-optional-attribute-to-extract-from-xpath "https://template#/$defs/Extractor/properties/attribute") | +| [dsl](#dsl) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-extractor-properties-dsl-expressions-to-extract "https://template#/$defs/Extractor/properties/dsl") | +| [part](#part) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-extractor-properties-part-of-response-to-extract-data-from "https://template#/$defs/Extractor/properties/part") | +| [internal](#internal) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-extractor-properties-mark-extracted-value-for-internal-variable-use "https://template#/$defs/Extractor/properties/internal") | +| [case-insensitive](#case-insensitive) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-extractor-properties-use-case-insensitive-extract "https://template#/$defs/Extractor/properties/case-insensitive") | + +## name + +Name of the extractor + +`name` + +* is optional + +* Type: `string` ([name of the extractor](nuclei-schema-defs-extractor-properties-name-of-the-extractor)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractor-properties-name-of-the-extractor "https://template#/$defs/Extractor/properties/name") + +### name Type + +`string` ([name of the extractor](nuclei-schema-defs-extractor-properties-name-of-the-extractor)) + +## type + + + +`type` + +* is required + +* Type: `object` ([Details](nuclei-schema-defs-extractortypeholder)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractortypeholder "https://template#/$defs/Extractor/properties/type") + +### type Type + +`object` ([Details](nuclei-schema-defs-extractortypeholder)) + +## regex + +Regex to extract from part + +`regex` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractor-properties-regex-to-extract-from-part "https://template#/$defs/Extractor/properties/regex") + +### regex Type + +`string[]` + +## group + +Group to extract from regex + +`group` + +* is optional + +* Type: `integer` ([group to extract from regex](nuclei-schema-defs-extractor-properties-group-to-extract-from-regex)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractor-properties-group-to-extract-from-regex "https://template#/$defs/Extractor/properties/group") + +### group Type + +`integer` ([group to extract from regex](nuclei-schema-defs-extractor-properties-group-to-extract-from-regex)) + +## kval + +Kval pairs to extract from response + +`kval` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractor-properties-kval-pairs-to-extract-from-response "https://template#/$defs/Extractor/properties/kval") + +### kval Type + +`string[]` + +## json + +JSON JQ expressions to evaluate from response part + +`json` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractor-properties-json-jq-expressions-to-extract-data "https://template#/$defs/Extractor/properties/json") + +### json Type + +`string[]` + +## xpath + +XPath allows using xpath expressions to extract items from html response + +`xpath` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractor-properties-html-xpath-expressions-to-extract-data "https://template#/$defs/Extractor/properties/xpath") + +### xpath Type + +`string[]` + +## attribute + +Optional attribute to extract from response XPath + +`attribute` + +* is optional + +* Type: `string` ([optional attribute to extract from xpath](nuclei-schema-defs-extractor-properties-optional-attribute-to-extract-from-xpath)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractor-properties-optional-attribute-to-extract-from-xpath "https://template#/$defs/Extractor/properties/attribute") + +### attribute Type + +`string` ([optional attribute to extract from xpath](nuclei-schema-defs-extractor-properties-optional-attribute-to-extract-from-xpath)) + +## dsl + +Optional attribute to extract from response dsl + +`dsl` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractor-properties-dsl-expressions-to-extract "https://template#/$defs/Extractor/properties/dsl") + +### dsl Type + +`string[]` + +## part + +Part of the request response to extract data from + +`part` + +* is optional + +* Type: `string` ([part of response to extract data from](nuclei-schema-defs-extractor-properties-part-of-response-to-extract-data-from)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractor-properties-part-of-response-to-extract-data-from "https://template#/$defs/Extractor/properties/part") + +### part Type + +`string` ([part of response to extract data from](nuclei-schema-defs-extractor-properties-part-of-response-to-extract-data-from)) + +## internal + +Internal when set to true will allow using the value extracted in the next request for some protocols + +`internal` + +* is optional + +* Type: `boolean` ([mark extracted value for internal variable use](nuclei-schema-defs-extractor-properties-mark-extracted-value-for-internal-variable-use)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractor-properties-mark-extracted-value-for-internal-variable-use "https://template#/$defs/Extractor/properties/internal") + +### internal Type + +`boolean` ([mark extracted value for internal variable use](nuclei-schema-defs-extractor-properties-mark-extracted-value-for-internal-variable-use)) + +## case-insensitive + +use case insensitive extract + +`case-insensitive` + +* is optional + +* Type: `boolean` ([use case insensitive extract](nuclei-schema-defs-extractor-properties-use-case-insensitive-extract)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractor-properties-use-case-insensitive-extract "https://template#/$defs/Extractor/properties/case-insensitive") + +### case-insensitive Type + +`boolean` ([use case insensitive extract](nuclei-schema-defs-extractor-properties-use-case-insensitive-extract)) diff --git a/templates/syntax/nuclei-schema-defs-extractortypeholder-properties-extractortype.mdx b/templates/syntax/nuclei-schema-defs-extractortypeholder-properties-extractortype.mdx new file mode 100644 index 0000000..9e141b6 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-extractortypeholder-properties-extractortype.mdx @@ -0,0 +1,15 @@ +# Untitled integer in undefined Schema + +```txt +https://template#/$defs/ExtractorTypeHolder/properties/ExtractorType +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## ExtractorType Type + +`integer` diff --git a/templates/syntax/nuclei-schema-defs-extractortypeholder.mdx b/templates/syntax/nuclei-schema-defs-extractortypeholder.mdx new file mode 100644 index 0000000..9f83874 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-extractortypeholder.mdx @@ -0,0 +1,39 @@ +# Untitled object in undefined Schema + +```txt +https://template#/$defs/ExtractorTypeHolder +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## ExtractorTypeHolder Type + +`object` ([Details](nuclei-schema-defs-extractortypeholder)) + +# ExtractorTypeHolder Properties + +| Property | Type | Required | Nullable | Defined by | +| :------------------------------ | :-------- | :------- | :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [ExtractorType](#extractortype) | `integer` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-extractortypeholder-properties-extractortype "https://template#/$defs/ExtractorTypeHolder/properties/ExtractorType") | + +## ExtractorType + + + +`ExtractorType` + +* is required + +* Type: `integer` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractortypeholder-properties-extractortype "https://template#/$defs/ExtractorTypeHolder/properties/ExtractorType") + +### ExtractorType Type + +`integer` diff --git a/templates/syntax/nuclei-schema-defs-httpmethodtypeholder-properties-methodtype.mdx b/templates/syntax/nuclei-schema-defs-httpmethodtypeholder-properties-methodtype.mdx new file mode 100644 index 0000000..521b4ac --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-httpmethodtypeholder-properties-methodtype.mdx @@ -0,0 +1,15 @@ +# Untitled integer in undefined Schema + +```txt +https://template#/$defs/HTTPMethodTypeHolder/properties/MethodType +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## MethodType Type + +`integer` diff --git a/templates/syntax/nuclei-schema-defs-httpmethodtypeholder.mdx b/templates/syntax/nuclei-schema-defs-httpmethodtypeholder.mdx new file mode 100644 index 0000000..21bcd3d --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-httpmethodtypeholder.mdx @@ -0,0 +1,39 @@ +# method is the http request method Schema + +```txt +https://template#/$defs/Request/properties/method +``` + +Method is the HTTP Request Method + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## method Type + +`object` ([method is the http request method](nuclei-schema-defs-httpmethodtypeholder)) + +# method Properties + +| Property | Type | Required | Nullable | Defined by | +| :------------------------ | :-------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [MethodType](#methodtype) | `integer` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-httpmethodtypeholder-properties-methodtype "https://template#/$defs/HTTPMethodTypeHolder/properties/MethodType") | + +## MethodType + + + +`MethodType` + +* is required + +* Type: `integer` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-httpmethodtypeholder-properties-methodtype "https://template#/$defs/HTTPMethodTypeHolder/properties/MethodType") + +### MethodType Type + +`integer` diff --git a/templates/syntax/nuclei-schema-defs-info-properties-additional-metadata-for-the-template.mdx b/templates/syntax/nuclei-schema-defs-info-properties-additional-metadata-for-the-template.mdx new file mode 100644 index 0000000..bb7a8e6 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-info-properties-additional-metadata-for-the-template.mdx @@ -0,0 +1,34 @@ +# additional metadata for the template Schema + +```txt +https://template#/$defs/Info/properties/metadata +``` + +Optional metadata for the template. +this could be any useful metadata like Vendor, Product, Version, etc. +Note - This is autogenerated and updated regularly for templates merged in projectdiscovery/nuclei-templates repository. +Example: + +```yaml +Vendor: Apache +Product: Log4j2 +Version: <=2.14.1 +``` + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## metadata Type + +`object` ([additional metadata for the template](nuclei-schema-defs-info-properties-additional-metadata-for-the-template)) + +## metadata Examples + +```json +"\n\tmax-request: 1" +``` + +```json +"\n\tmax-request: 2\n\tvendor: apache\n\tproduct: log4j2" +``` diff --git a/templates/syntax/nuclei-schema-defs-info-properties-author-of-the-template-oneof-0.mdx b/templates/syntax/nuclei-schema-defs-info-properties-author-of-the-template-oneof-0.mdx new file mode 100644 index 0000000..bed40d2 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-info-properties-author-of-the-template-oneof-0.mdx @@ -0,0 +1,22 @@ +# Untitled string in undefined Schema + +```txt +https://template#/$defs/Info/properties/author/oneOf/0 +``` + +Author of the template without any special characters +It can be a single author or comma-separated multiple authors + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## 0 Type + +`string` + +## 0 Examples + +```json +"pdteam" +``` diff --git a/templates/syntax/nuclei-schema-defs-info-properties-author-of-the-template-oneof-1.mdx b/templates/syntax/nuclei-schema-defs-info-properties-author-of-the-template-oneof-1.mdx new file mode 100644 index 0000000..ba6da8e --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-info-properties-author-of-the-template-oneof-1.mdx @@ -0,0 +1,22 @@ +# Untitled array in undefined Schema + +```txt +https://template#/$defs/Info/properties/author/oneOf/1 +``` + +Author of the template without any special characters +It can be a single author or comma-separated multiple authors + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## 1 Type + +`array` + +## 1 Examples + +```json +"pdteam,mr.robot" +``` diff --git a/templates/syntax/nuclei-schema-defs-info-properties-author-of-the-template.mdx b/templates/syntax/nuclei-schema-defs-info-properties-author-of-the-template.mdx new file mode 100644 index 0000000..f00e33c --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-info-properties-author-of-the-template.mdx @@ -0,0 +1,21 @@ +# author of the template Schema + +```txt +https://template#/$defs/Info/properties/author +``` + +Author is the author of the template + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## author Type + +merged type ([author of the template](nuclei-schema-defs-info-properties-author-of-the-template)) + +one (and only one) of + +* [Untitled string in undefined](nuclei-schema-defs-info-properties-author-of-the-template-oneof-0 "check type definition") + +* [Untitled array in undefined](nuclei-schema-defs-info-properties-author-of-the-template-oneof-1 "check type definition") diff --git a/templates/syntax/nuclei-schema-defs-info-properties-description-of-the-template.mdx b/templates/syntax/nuclei-schema-defs-info-properties-description-of-the-template.mdx new file mode 100644 index 0000000..975e590 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-info-properties-description-of-the-template.mdx @@ -0,0 +1,28 @@ +# description of the template Schema + +```txt +https://template#/$defs/Info/properties/description +``` + +Description of the template. +You can go in-depth here on what the template actually does. +Example: +Apache Log4j2 <=2.14.1 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. An attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution is enabled. + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## description Type + +`string` ([description of the template](nuclei-schema-defs-info-properties-description-of-the-template)) + +## description Examples + +```json +"Bower is a package manager which stores package information in the bower.json file" +``` + +```json +"Example description of the template" +``` diff --git a/templates/syntax/nuclei-schema-defs-info-properties-impact-of-the-template.mdx b/templates/syntax/nuclei-schema-defs-info-properties-impact-of-the-template.mdx new file mode 100644 index 0000000..74d352b --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-info-properties-impact-of-the-template.mdx @@ -0,0 +1,28 @@ +# impact of the template Schema + +```txt +https://template#/$defs/Info/properties/impact +``` + +Impact of the template. +You can go in-depth here on impact of the template. +Example: +Successful exploitation of this vulnerability can lead to remote code execution, potentially compromising the affected system. + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## impact Type + +`string` ([impact of the template](nuclei-schema-defs-info-properties-impact-of-the-template)) + +## impact Examples + +```json +"Successful exploitation of this vulnerability could allow an attacker to execute arbitrary SQL queries" +``` + +```json +"Impact of the template" +``` diff --git a/templates/syntax/nuclei-schema-defs-info-properties-name-of-the-template.mdx b/templates/syntax/nuclei-schema-defs-info-properties-name-of-the-template.mdx new file mode 100644 index 0000000..efc1183 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-info-properties-name-of-the-template.mdx @@ -0,0 +1,29 @@ +# name of the template Schema + +```txt +https://template#/$defs/Info/properties/name +``` + +Name should be good short summary that identifies what the template does + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## name Type + +`string` ([name of the template](nuclei-schema-defs-info-properties-name-of-the-template)) + +## name Examples + +```json +"Nagios Default Credentials Check" +``` + +```json +"example-template" +``` + +```json +"TeamCity - Authentication Bypass" +``` diff --git a/templates/syntax/nuclei-schema-defs-info-properties-remediation-steps-for-the-template.mdx b/templates/syntax/nuclei-schema-defs-info-properties-remediation-steps-for-the-template.mdx new file mode 100644 index 0000000..a9e2313 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-info-properties-remediation-steps-for-the-template.mdx @@ -0,0 +1,21 @@ +# remediation steps for the template Schema + +```txt +https://template#/$defs/Info/properties/remediation +``` + +In-depth explanation on how to fix the issues found by the template + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## remediation Type + +`string` ([remediation steps for the template](nuclei-schema-defs-info-properties-remediation-steps-for-the-template)) + +## remediation Examples + +```json +"Change the default administrative username and password of Apache ActiveMQ by editing the file jetty-realm.properties" +``` diff --git a/templates/syntax/nuclei-schema-defs-info-properties-tags-of-the-template-oneof-0.mdx b/templates/syntax/nuclei-schema-defs-info-properties-tags-of-the-template-oneof-0.mdx new file mode 100644 index 0000000..054177d --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-info-properties-tags-of-the-template-oneof-0.mdx @@ -0,0 +1,21 @@ +# Untitled string in undefined Schema + +```txt +https://template#/$defs/Info/properties/tags/oneOf/0 +``` + +Tags for the template separated by commas (No spaces) + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## 0 Type + +`string` + +## 0 Examples + +```json +"cve" +``` diff --git a/templates/syntax/nuclei-schema-defs-info-properties-tags-of-the-template-oneof-1.mdx b/templates/syntax/nuclei-schema-defs-info-properties-tags-of-the-template-oneof-1.mdx new file mode 100644 index 0000000..1297b80 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-info-properties-tags-of-the-template-oneof-1.mdx @@ -0,0 +1,29 @@ +# Untitled array in undefined Schema + +```txt +https://template#/$defs/Info/properties/tags/oneOf/1 +``` + +Multiple tags for the template separated by commas (No spaces) + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## 1 Type + +`array` + +## 1 Examples + +```json +"cve,http" +``` + +```json +"http,oast" +``` + +```json +"cve2024,cve" +``` diff --git a/templates/syntax/nuclei-schema-defs-info-properties-tags-of-the-template.mdx b/templates/syntax/nuclei-schema-defs-info-properties-tags-of-the-template.mdx new file mode 100644 index 0000000..5b88f00 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-info-properties-tags-of-the-template.mdx @@ -0,0 +1,21 @@ +# tags of the template Schema + +```txt +https://template#/$defs/Info/properties/tags +``` + +Any tags for the template + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## tags Type + +merged type ([tags of the template](nuclei-schema-defs-info-properties-tags-of-the-template)) + +one (and only one) of + +* [Untitled string in undefined](nuclei-schema-defs-info-properties-tags-of-the-template-oneof-0 "check type definition") + +* [Untitled array in undefined](nuclei-schema-defs-info-properties-tags-of-the-template-oneof-1 "check type definition") diff --git a/templates/syntax/nuclei-schema-defs-info.mdx b/templates/syntax/nuclei-schema-defs-info.mdx new file mode 100644 index 0000000..7a81622 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-info.mdx @@ -0,0 +1,359 @@ +# info for the template Schema + +```txt +https://template#/$defs/Template/properties/info +``` + +Info contains the required metadata information about the template +It is meant to provide basic but necessary info like name, author , severity +along with many other fields like metadata, classification etc +Note: - +For a template to be valid name,author,severity of `info` section must be set + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## info Type + +`object` ([info for the template](nuclei-schema-defs-info)) + +## info Examples + +```json +"\n\tname: Example Template\n\tauthor: pdteam\n\tseverity: info\n\tdescription: This is an example template" +``` + +```json +"\n\tname: example-template\n\tauthor: pdteam\n\tseverity: unknown\n\tdescription: Example description of the template\n\timpact: Impact of the template\n\treference: \n\t - https://example.com\n\tmetadata: \n\t max-request: 1\n\ttags: http" +``` + +# info Properties + +| Property | Type | Required | Nullable | Defined by | +| :-------------------------------- | :------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------ | +| [name](#name) | `string` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-info-properties-name-of-the-template "https://template#/$defs/Info/properties/name") | +| [author](#author) | Merged | Required | cannot be null | [Untitled schema](nuclei-schema-defs-info-properties-author-of-the-template "https://template#/$defs/Info/properties/author") | +| [tags](#tags) | Merged | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-info-properties-tags-of-the-template "https://template#/$defs/Info/properties/tags") | +| [description](#description) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-info-properties-description-of-the-template "https://template#/$defs/Info/properties/description") | +| [impact](#impact) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-info-properties-impact-of-the-template "https://template#/$defs/Info/properties/impact") | +| [reference](#reference) | Merged | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-stringorslice "https://template#/$defs/Info/properties/reference") | +| [severity](#severity) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-severity-of-the-template "https://template#/$defs/Info/properties/severity") | +| [metadata](#metadata) | `object` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-info-properties-additional-metadata-for-the-template "https://template#/$defs/Info/properties/metadata") | +| [classification](#classification) | `object` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-classification "https://template#/$defs/Info/properties/classification") | +| [remediation](#remediation) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-info-properties-remediation-steps-for-the-template "https://template#/$defs/Info/properties/remediation") | + +## name + +Name should be good short summary that identifies what the template does + +`name` + +* is required + +* Type: `string` ([name of the template](nuclei-schema-defs-info-properties-name-of-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-info-properties-name-of-the-template "https://template#/$defs/Info/properties/name") + +### name Type + +`string` ([name of the template](nuclei-schema-defs-info-properties-name-of-the-template)) + +### name Examples + +```json +"Nagios Default Credentials Check" +``` + +```json +"example-template" +``` + +```json +"TeamCity - Authentication Bypass" +``` + +## author + +Author is the author of the template + +`author` + +* is required + +* Type: merged type ([author of the template](nuclei-schema-defs-info-properties-author-of-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-info-properties-author-of-the-template "https://template#/$defs/Info/properties/author") + +### author Type + +merged type ([author of the template](nuclei-schema-defs-info-properties-author-of-the-template)) + +one (and only one) of + +* [Untitled string in undefined](nuclei-schema-defs-info-properties-author-of-the-template-oneof-0 "check type definition") + +* [Untitled array in undefined](nuclei-schema-defs-info-properties-author-of-the-template-oneof-1 "check type definition") + +## tags + +Any tags for the template + +`tags` + +* is optional + +* Type: merged type ([tags of the template](nuclei-schema-defs-info-properties-tags-of-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-info-properties-tags-of-the-template "https://template#/$defs/Info/properties/tags") + +### tags Type + +merged type ([tags of the template](nuclei-schema-defs-info-properties-tags-of-the-template)) + +one (and only one) of + +* [Untitled string in undefined](nuclei-schema-defs-info-properties-tags-of-the-template-oneof-0 "check type definition") + +* [Untitled array in undefined](nuclei-schema-defs-info-properties-tags-of-the-template-oneof-1 "check type definition") + +## description + +Description of the template. +You can go in-depth here on what the template actually does. +Example: +Apache Log4j2 <=2.14.1 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. An attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution is enabled. + +`description` + +* is optional + +* Type: `string` ([description of the template](nuclei-schema-defs-info-properties-description-of-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-info-properties-description-of-the-template "https://template#/$defs/Info/properties/description") + +### description Type + +`string` ([description of the template](nuclei-schema-defs-info-properties-description-of-the-template)) + +### description Examples + +```json +"Bower is a package manager which stores package information in the bower.json file" +``` + +```json +"Example description of the template" +``` + +## impact + +Impact of the template. +You can go in-depth here on impact of the template. +Example: +Successful exploitation of this vulnerability can lead to remote code execution, potentially compromising the affected system. + +`impact` + +* is optional + +* Type: `string` ([impact of the template](nuclei-schema-defs-info-properties-impact-of-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-info-properties-impact-of-the-template "https://template#/$defs/Info/properties/impact") + +### impact Type + +`string` ([impact of the template](nuclei-schema-defs-info-properties-impact-of-the-template)) + +### impact Examples + +```json +"Successful exploitation of this vulnerability could allow an attacker to execute arbitrary SQL queries" +``` + +```json +"Impact of the template" +``` + +## reference + +References for the template. +This should contain links relevant to the template. +Example: + + + +`reference` + +* is optional + +* Type: `array` ([references for the template](nuclei-schema-defs-stringorslice)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-stringorslice "https://template#/$defs/Info/properties/reference") + +### reference Type + +`array` ([references for the template](nuclei-schema-defs-stringorslice)) + +one (and only one) of + +* [Untitled string in undefined](nuclei-schema-defs-stringorslice-oneof-0 "check type definition") + +* [Untitled array in undefined](nuclei-schema-defs-stringorslice-oneof-1 "check type definition") + +### reference Examples + +```json +"\n\t- https://example.com" +``` + +## severity + +Seriousness of the implications of the template + +`severity` + +* is optional + +* Type: `string` ([severity of the template](nuclei-schema-defs-severity-of-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-severity-of-the-template "https://template#/$defs/Info/properties/severity") + +### severity Type + +`string` ([severity of the template](nuclei-schema-defs-severity-of-the-template)) + +### severity Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :----------- | :---------- | +| `"info"` | | +| `"low"` | | +| `"medium"` | | +| `"high"` | | +| `"critical"` | | +| `"unknown"` | | + +### severity Examples + +```json +"info" +``` + +## metadata + +Optional metadata for the template. +this could be any useful metadata like Vendor, Product, Version, etc. +Note - This is autogenerated and updated regularly for templates merged in projectdiscovery/nuclei-templates repository. +Example: + +```yaml +Vendor: Apache +Product: Log4j2 +Version: <=2.14.1 +``` + +`metadata` + +* is optional + +* Type: `object` ([additional metadata for the template](nuclei-schema-defs-info-properties-additional-metadata-for-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-info-properties-additional-metadata-for-the-template "https://template#/$defs/Info/properties/metadata") + +### metadata Type + +`object` ([additional metadata for the template](nuclei-schema-defs-info-properties-additional-metadata-for-the-template)) + +### metadata Examples + +```json +"\n\tmax-request: 1" +``` + +```json +"\n\tmax-request: 2\n\tvendor: apache\n\tproduct: log4j2" +``` + +## classification + +Classification contains classification information about the template. +This could be any classification information like CWE, CVE, EPSS etc. +Note - This is autogenerated and updated regularly for CVE templates merged in projectdiscovery/nuclei-templates repository. +Example: + +```yaml +cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H +cvss-score: 10 +cve-id: CVE-2021-44228 +cwe-id: CWE-20,CWE-917 +epss-score: 0.97453 +epss-percentile: 0.99942 +cpe: cpe:2.3:a:apache:log4j:*:*:*:*:*:*:*:* +``` + +`classification` + +* is optional + +* Type: `object` ([classification info for the template](nuclei-schema-defs-classification)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-classification "https://template#/$defs/Info/properties/classification") + +### classification Type + +`object` ([classification info for the template](nuclei-schema-defs-classification)) + +### classification Examples + +```json +"\n\tcvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H\n\tcvss-score: 10\n\tcve-id: CVE-2021-44228" +``` + +```json +"\n\tcwe-id: CWE-20,CWE-917" +``` + +## remediation + +In-depth explanation on how to fix the issues found by the template + +`remediation` + +* is optional + +* Type: `string` ([remediation steps for the template](nuclei-schema-defs-info-properties-remediation-steps-for-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-info-properties-remediation-steps-for-the-template "https://template#/$defs/Info/properties/remediation") + +### remediation Type + +`string` ([remediation steps for the template](nuclei-schema-defs-info-properties-remediation-steps-for-the-template)) + +### remediation Examples + +```json +"Change the default administrative username and password of Apache ActiveMQ by editing the file jetty-realm.properties" +``` diff --git a/templates/syntax/nuclei-schema-defs-matcher-properties-acceptable-size-for-response-items.mdx b/templates/syntax/nuclei-schema-defs-matcher-properties-acceptable-size-for-response-items.mdx new file mode 100644 index 0000000..7278b20 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher-properties-acceptable-size-for-response-items.mdx @@ -0,0 +1,15 @@ +# Untitled integer in undefined Schema + +```txt +https://template#/$defs/Matcher/properties/size/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## items Type + +`integer` diff --git a/templates/syntax/nuclei-schema-defs-matcher-properties-acceptable-size-for-response.mdx b/templates/syntax/nuclei-schema-defs-matcher-properties-acceptable-size-for-response.mdx new file mode 100644 index 0000000..c3b3470 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher-properties-acceptable-size-for-response.mdx @@ -0,0 +1,15 @@ +# acceptable size for response Schema + +```txt +https://template#/$defs/Matcher/properties/size +``` + +Size is the acceptable size for the response + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## size Type + +`integer[]` diff --git a/templates/syntax/nuclei-schema-defs-matcher-properties-binary-patterns-to-match-in-response-items.mdx b/templates/syntax/nuclei-schema-defs-matcher-properties-binary-patterns-to-match-in-response-items.mdx new file mode 100644 index 0000000..c6bfbc9 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher-properties-binary-patterns-to-match-in-response-items.mdx @@ -0,0 +1,15 @@ +# Untitled string in undefined Schema + +```txt +https://template#/$defs/Matcher/properties/binary/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## items Type + +`string` diff --git a/templates/syntax/nuclei-schema-defs-matcher-properties-binary-patterns-to-match-in-response.mdx b/templates/syntax/nuclei-schema-defs-matcher-properties-binary-patterns-to-match-in-response.mdx new file mode 100644 index 0000000..4cfba84 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher-properties-binary-patterns-to-match-in-response.mdx @@ -0,0 +1,15 @@ +# binary patterns to match in response Schema + +```txt +https://template#/$defs/Matcher/properties/binary +``` + +Binary are the binary patterns required to be present in the response part + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## binary Type + +`string[]` diff --git a/templates/syntax/nuclei-schema-defs-matcher-properties-condition-between-matcher-variables.mdx b/templates/syntax/nuclei-schema-defs-matcher-properties-condition-between-matcher-variables.mdx new file mode 100644 index 0000000..97e8bb0 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher-properties-condition-between-matcher-variables.mdx @@ -0,0 +1,24 @@ +# condition between matcher variables Schema + +```txt +https://template#/$defs/Matcher/properties/condition +``` + +Condition between the matcher variables + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## condition Type + +`string` ([condition between matcher variables](nuclei-schema-defs-matcher-properties-condition-between-matcher-variables)) + +## condition Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :------ | :---------- | +| `"and"` | | +| `"or"` | | diff --git a/templates/syntax/nuclei-schema-defs-matcher-properties-dsl-expressions-to-match-in-response-items.mdx b/templates/syntax/nuclei-schema-defs-matcher-properties-dsl-expressions-to-match-in-response-items.mdx new file mode 100644 index 0000000..00269d7 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher-properties-dsl-expressions-to-match-in-response-items.mdx @@ -0,0 +1,15 @@ +# Untitled string in undefined Schema + +```txt +https://template#/$defs/Matcher/properties/dsl/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## items Type + +`string` diff --git a/templates/syntax/nuclei-schema-defs-matcher-properties-dsl-expressions-to-match-in-response.mdx b/templates/syntax/nuclei-schema-defs-matcher-properties-dsl-expressions-to-match-in-response.mdx new file mode 100644 index 0000000..6b00af5 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher-properties-dsl-expressions-to-match-in-response.mdx @@ -0,0 +1,15 @@ +# dsl expressions to match in response Schema + +```txt +https://template#/$defs/Matcher/properties/dsl +``` + +DSL are the dsl expressions that will be evaluated as part of nuclei matching rules + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## dsl Type + +`string[]` diff --git a/templates/syntax/nuclei-schema-defs-matcher-properties-encoding-for-word-field.mdx b/templates/syntax/nuclei-schema-defs-matcher-properties-encoding-for-word-field.mdx new file mode 100644 index 0000000..0935bdc --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher-properties-encoding-for-word-field.mdx @@ -0,0 +1,23 @@ +# encoding for word field Schema + +```txt +https://template#/$defs/Matcher/properties/encoding +``` + +Optional encoding for the word fields + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## encoding Type + +`string` ([encoding for word field](nuclei-schema-defs-matcher-properties-encoding-for-word-field)) + +## encoding Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :------ | :---------- | +| `"hex"` | | diff --git a/templates/syntax/nuclei-schema-defs-matcher-properties-hide-matcher-from-output.mdx b/templates/syntax/nuclei-schema-defs-matcher-properties-hide-matcher-from-output.mdx new file mode 100644 index 0000000..441e18b --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher-properties-hide-matcher-from-output.mdx @@ -0,0 +1,15 @@ +# hide matcher from output Schema + +```txt +https://template#/$defs/Matcher/properties/internal +``` + +hide matcher from output + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## internal Type + +`boolean` ([hide matcher from output](nuclei-schema-defs-matcher-properties-hide-matcher-from-output)) diff --git a/templates/syntax/nuclei-schema-defs-matcher-properties-match-all-values.mdx b/templates/syntax/nuclei-schema-defs-matcher-properties-match-all-values.mdx new file mode 100644 index 0000000..61a6c8a --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher-properties-match-all-values.mdx @@ -0,0 +1,15 @@ +# match all values Schema + +```txt +https://template#/$defs/Matcher/properties/match-all +``` + +match all matcher values ignoring condition + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## match-all Type + +`boolean` ([match all values](nuclei-schema-defs-matcher-properties-match-all-values)) diff --git a/templates/syntax/nuclei-schema-defs-matcher-properties-name-of-the-matcher.mdx b/templates/syntax/nuclei-schema-defs-matcher-properties-name-of-the-matcher.mdx new file mode 100644 index 0000000..1fe2812 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher-properties-name-of-the-matcher.mdx @@ -0,0 +1,15 @@ +# name of the matcher Schema + +```txt +https://template#/$defs/Matcher/properties/name +``` + +Name of the matcher + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## name Type + +`string` ([name of the matcher](nuclei-schema-defs-matcher-properties-name-of-the-matcher)) diff --git a/templates/syntax/nuclei-schema-defs-matcher-properties-negative-specifies-if-match-reversed.mdx b/templates/syntax/nuclei-schema-defs-matcher-properties-negative-specifies-if-match-reversed.mdx new file mode 100644 index 0000000..5e8f382 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher-properties-negative-specifies-if-match-reversed.mdx @@ -0,0 +1,15 @@ +# negative specifies if match reversed Schema + +```txt +https://template#/$defs/Matcher/properties/negative +``` + +Negative specifies if the match should be reversed. It will only match if the condition is not true + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## negative Type + +`boolean` ([negative specifies if match reversed](nuclei-schema-defs-matcher-properties-negative-specifies-if-match-reversed)) diff --git a/templates/syntax/nuclei-schema-defs-matcher-properties-part-of-response-to-match.mdx b/templates/syntax/nuclei-schema-defs-matcher-properties-part-of-response-to-match.mdx new file mode 100644 index 0000000..81b0c50 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher-properties-part-of-response-to-match.mdx @@ -0,0 +1,15 @@ +# part of response to match Schema + +```txt +https://template#/$defs/Matcher/properties/part +``` + +Part of response to match data from + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## part Type + +`string` ([part of response to match](nuclei-schema-defs-matcher-properties-part-of-response-to-match)) diff --git a/templates/syntax/nuclei-schema-defs-matcher-properties-regex-to-match-in-response-items.mdx b/templates/syntax/nuclei-schema-defs-matcher-properties-regex-to-match-in-response-items.mdx new file mode 100644 index 0000000..8902be8 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher-properties-regex-to-match-in-response-items.mdx @@ -0,0 +1,15 @@ +# Untitled string in undefined Schema + +```txt +https://template#/$defs/Matcher/properties/regex/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## items Type + +`string` diff --git a/templates/syntax/nuclei-schema-defs-matcher-properties-regex-to-match-in-response.mdx b/templates/syntax/nuclei-schema-defs-matcher-properties-regex-to-match-in-response.mdx new file mode 100644 index 0000000..9c9217f --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher-properties-regex-to-match-in-response.mdx @@ -0,0 +1,15 @@ +# regex to match in response Schema + +```txt +https://template#/$defs/Matcher/properties/regex +``` + +Regex contains regex patterns required to be present in the response part + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## regex Type + +`string[]` diff --git a/templates/syntax/nuclei-schema-defs-matcher-properties-status-to-match-items.mdx b/templates/syntax/nuclei-schema-defs-matcher-properties-status-to-match-items.mdx new file mode 100644 index 0000000..21c992a --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher-properties-status-to-match-items.mdx @@ -0,0 +1,15 @@ +# Untitled integer in undefined Schema + +```txt +https://template#/$defs/Matcher/properties/status/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## items Type + +`integer` diff --git a/templates/syntax/nuclei-schema-defs-matcher-properties-status-to-match.mdx b/templates/syntax/nuclei-schema-defs-matcher-properties-status-to-match.mdx new file mode 100644 index 0000000..debf8a3 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher-properties-status-to-match.mdx @@ -0,0 +1,15 @@ +# status to match Schema + +```txt +https://template#/$defs/Matcher/properties/status +``` + +Status to match for the response + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## status Type + +`integer[]` diff --git a/templates/syntax/nuclei-schema-defs-matcher-properties-use-case-insensitive-match.mdx b/templates/syntax/nuclei-schema-defs-matcher-properties-use-case-insensitive-match.mdx new file mode 100644 index 0000000..2b0741b --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher-properties-use-case-insensitive-match.mdx @@ -0,0 +1,15 @@ +# use case insensitive match Schema + +```txt +https://template#/$defs/Matcher/properties/case-insensitive +``` + +use case insensitive match + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## case-insensitive Type + +`boolean` ([use case insensitive match](nuclei-schema-defs-matcher-properties-use-case-insensitive-match)) diff --git a/templates/syntax/nuclei-schema-defs-matcher-properties-words-to-match-in-response-items.mdx b/templates/syntax/nuclei-schema-defs-matcher-properties-words-to-match-in-response-items.mdx new file mode 100644 index 0000000..7b53895 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher-properties-words-to-match-in-response-items.mdx @@ -0,0 +1,15 @@ +# Untitled string in undefined Schema + +```txt +https://template#/$defs/Matcher/properties/words/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## items Type + +`string` diff --git a/templates/syntax/nuclei-schema-defs-matcher-properties-words-to-match-in-response.mdx b/templates/syntax/nuclei-schema-defs-matcher-properties-words-to-match-in-response.mdx new file mode 100644 index 0000000..47db4b2 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher-properties-words-to-match-in-response.mdx @@ -0,0 +1,15 @@ +# words to match in response Schema + +```txt +https://template#/$defs/Matcher/properties/words +``` + +Words contains word patterns required to be present in the response part + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## words Type + +`string[]` diff --git a/templates/syntax/nuclei-schema-defs-matcher-properties-xpath-queries-to-match-in-response-items.mdx b/templates/syntax/nuclei-schema-defs-matcher-properties-xpath-queries-to-match-in-response-items.mdx new file mode 100644 index 0000000..9454637 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher-properties-xpath-queries-to-match-in-response-items.mdx @@ -0,0 +1,15 @@ +# Untitled string in undefined Schema + +```txt +https://template#/$defs/Matcher/properties/xpath/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## items Type + +`string` diff --git a/templates/syntax/nuclei-schema-defs-matcher-properties-xpath-queries-to-match-in-response.mdx b/templates/syntax/nuclei-schema-defs-matcher-properties-xpath-queries-to-match-in-response.mdx new file mode 100644 index 0000000..11df094 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher-properties-xpath-queries-to-match-in-response.mdx @@ -0,0 +1,15 @@ +# xpath queries to match in response Schema + +```txt +https://template#/$defs/Matcher/properties/xpath +``` + +xpath are the XPath queries that will be evaluated against the response part of nuclei matching rules + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## xpath Type + +`string[]` diff --git a/templates/syntax/nuclei-schema-defs-matcher.mdx b/templates/syntax/nuclei-schema-defs-matcher.mdx new file mode 100644 index 0000000..a2b8dbf --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matcher.mdx @@ -0,0 +1,341 @@ +# Untitled object in undefined Schema + +```txt +https://template#/$defs/WorkflowTemplate/properties/matchers/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## items Type + +`object` ([Details](nuclei-schema-defs-matcher)) + +# items Properties + +| Property | Type | Required | Nullable | Defined by | +| :------------------------------------ | :-------- | :------- | :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- | +| [type](#type) | `object` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-matchertypeholder "https://template#/$defs/Matcher/properties/type") | +| [condition](#condition) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-condition-between-matcher-variables "https://template#/$defs/Matcher/properties/condition") | +| [part](#part) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-part-of-response-to-match "https://template#/$defs/Matcher/properties/part") | +| [negative](#negative) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-negative-specifies-if-match-reversed "https://template#/$defs/Matcher/properties/negative") | +| [name](#name) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-name-of-the-matcher "https://template#/$defs/Matcher/properties/name") | +| [status](#status) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-status-to-match "https://template#/$defs/Matcher/properties/status") | +| [size](#size) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-acceptable-size-for-response "https://template#/$defs/Matcher/properties/size") | +| [words](#words) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-words-to-match-in-response "https://template#/$defs/Matcher/properties/words") | +| [regex](#regex) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-regex-to-match-in-response "https://template#/$defs/Matcher/properties/regex") | +| [binary](#binary) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-binary-patterns-to-match-in-response "https://template#/$defs/Matcher/properties/binary") | +| [dsl](#dsl) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-dsl-expressions-to-match-in-response "https://template#/$defs/Matcher/properties/dsl") | +| [xpath](#xpath) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-xpath-queries-to-match-in-response "https://template#/$defs/Matcher/properties/xpath") | +| [encoding](#encoding) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-encoding-for-word-field "https://template#/$defs/Matcher/properties/encoding") | +| [case-insensitive](#case-insensitive) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-use-case-insensitive-match "https://template#/$defs/Matcher/properties/case-insensitive") | +| [match-all](#match-all) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-match-all-values "https://template#/$defs/Matcher/properties/match-all") | +| [internal](#internal) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-hide-matcher-from-output "https://template#/$defs/Matcher/properties/internal") | + +## type + +Type of the matcher + +`type` + +* is required + +* Type: `object` ([type of matcher](nuclei-schema-defs-matchertypeholder)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matchertypeholder "https://template#/$defs/Matcher/properties/type") + +### type Type + +`object` ([type of matcher](nuclei-schema-defs-matchertypeholder)) + +## condition + +Condition between the matcher variables + +`condition` + +* is optional + +* Type: `string` ([condition between matcher variables](nuclei-schema-defs-matcher-properties-condition-between-matcher-variables)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-condition-between-matcher-variables "https://template#/$defs/Matcher/properties/condition") + +### condition Type + +`string` ([condition between matcher variables](nuclei-schema-defs-matcher-properties-condition-between-matcher-variables)) + +### condition Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :------ | :---------- | +| `"and"` | | +| `"or"` | | + +## part + +Part of response to match data from + +`part` + +* is optional + +* Type: `string` ([part of response to match](nuclei-schema-defs-matcher-properties-part-of-response-to-match)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-part-of-response-to-match "https://template#/$defs/Matcher/properties/part") + +### part Type + +`string` ([part of response to match](nuclei-schema-defs-matcher-properties-part-of-response-to-match)) + +## negative + +Negative specifies if the match should be reversed. It will only match if the condition is not true + +`negative` + +* is optional + +* Type: `boolean` ([negative specifies if match reversed](nuclei-schema-defs-matcher-properties-negative-specifies-if-match-reversed)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-negative-specifies-if-match-reversed "https://template#/$defs/Matcher/properties/negative") + +### negative Type + +`boolean` ([negative specifies if match reversed](nuclei-schema-defs-matcher-properties-negative-specifies-if-match-reversed)) + +## name + +Name of the matcher + +`name` + +* is optional + +* Type: `string` ([name of the matcher](nuclei-schema-defs-matcher-properties-name-of-the-matcher)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-name-of-the-matcher "https://template#/$defs/Matcher/properties/name") + +### name Type + +`string` ([name of the matcher](nuclei-schema-defs-matcher-properties-name-of-the-matcher)) + +## status + +Status to match for the response + +`status` + +* is optional + +* Type: `integer[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-status-to-match "https://template#/$defs/Matcher/properties/status") + +### status Type + +`integer[]` + +## size + +Size is the acceptable size for the response + +`size` + +* is optional + +* Type: `integer[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-acceptable-size-for-response "https://template#/$defs/Matcher/properties/size") + +### size Type + +`integer[]` + +## words + +Words contains word patterns required to be present in the response part + +`words` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-words-to-match-in-response "https://template#/$defs/Matcher/properties/words") + +### words Type + +`string[]` + +## regex + +Regex contains regex patterns required to be present in the response part + +`regex` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-regex-to-match-in-response "https://template#/$defs/Matcher/properties/regex") + +### regex Type + +`string[]` + +## binary + +Binary are the binary patterns required to be present in the response part + +`binary` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-binary-patterns-to-match-in-response "https://template#/$defs/Matcher/properties/binary") + +### binary Type + +`string[]` + +## dsl + +DSL are the dsl expressions that will be evaluated as part of nuclei matching rules + +`dsl` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-dsl-expressions-to-match-in-response "https://template#/$defs/Matcher/properties/dsl") + +### dsl Type + +`string[]` + +## xpath + +xpath are the XPath queries that will be evaluated against the response part of nuclei matching rules + +`xpath` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-xpath-queries-to-match-in-response "https://template#/$defs/Matcher/properties/xpath") + +### xpath Type + +`string[]` + +## encoding + +Optional encoding for the word fields + +`encoding` + +* is optional + +* Type: `string` ([encoding for word field](nuclei-schema-defs-matcher-properties-encoding-for-word-field)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-encoding-for-word-field "https://template#/$defs/Matcher/properties/encoding") + +### encoding Type + +`string` ([encoding for word field](nuclei-schema-defs-matcher-properties-encoding-for-word-field)) + +### encoding Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :------ | :---------- | +| `"hex"` | | + +## case-insensitive + +use case insensitive match + +`case-insensitive` + +* is optional + +* Type: `boolean` ([use case insensitive match](nuclei-schema-defs-matcher-properties-use-case-insensitive-match)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-use-case-insensitive-match "https://template#/$defs/Matcher/properties/case-insensitive") + +### case-insensitive Type + +`boolean` ([use case insensitive match](nuclei-schema-defs-matcher-properties-use-case-insensitive-match)) + +## match-all + +match all matcher values ignoring condition + +`match-all` + +* is optional + +* Type: `boolean` ([match all values](nuclei-schema-defs-matcher-properties-match-all-values)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-match-all-values "https://template#/$defs/Matcher/properties/match-all") + +### match-all Type + +`boolean` ([match all values](nuclei-schema-defs-matcher-properties-match-all-values)) + +## internal + +hide matcher from output + +`internal` + +* is optional + +* Type: `boolean` ([hide matcher from output](nuclei-schema-defs-matcher-properties-hide-matcher-from-output)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-hide-matcher-from-output "https://template#/$defs/Matcher/properties/internal") + +### internal Type + +`boolean` ([hide matcher from output](nuclei-schema-defs-matcher-properties-hide-matcher-from-output)) diff --git a/templates/syntax/nuclei-schema-defs-matchertypeholder-properties-matchertype.mdx b/templates/syntax/nuclei-schema-defs-matchertypeholder-properties-matchertype.mdx new file mode 100644 index 0000000..7e684b1 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matchertypeholder-properties-matchertype.mdx @@ -0,0 +1,15 @@ +# Untitled integer in undefined Schema + +```txt +https://template#/$defs/MatcherTypeHolder/properties/MatcherType +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## MatcherType Type + +`integer` diff --git a/templates/syntax/nuclei-schema-defs-matchertypeholder.mdx b/templates/syntax/nuclei-schema-defs-matchertypeholder.mdx new file mode 100644 index 0000000..644753a --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-matchertypeholder.mdx @@ -0,0 +1,39 @@ +# Untitled object in undefined Schema + +```txt +https://template#/$defs/MatcherTypeHolder +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## MatcherTypeHolder Type + +`object` ([Details](nuclei-schema-defs-matchertypeholder)) + +# MatcherTypeHolder Properties + +| Property | Type | Required | Nullable | Defined by | +| :-------------------------- | :-------- | :------- | :------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------- | +| [MatcherType](#matchertype) | `integer` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-matchertypeholder-properties-matchertype "https://template#/$defs/MatcherTypeHolder/properties/MatcherType") | + +## MatcherType + + + +`MatcherType` + +* is required + +* Type: `integer` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matchertypeholder-properties-matchertype "https://template#/$defs/MatcherTypeHolder/properties/MatcherType") + +### MatcherType Type + +`integer` diff --git a/templates/syntax/nuclei-schema-defs-orderedmapstringstring.mdx b/templates/syntax/nuclei-schema-defs-orderedmapstringstring.mdx new file mode 100644 index 0000000..70cfecb --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-orderedmapstringstring.mdx @@ -0,0 +1,20 @@ +# Untitled object in undefined Schema + +```txt +https://template#/$defs/SliceOrMapSlice/properties/KV +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## KV Type + +`object` ([Details](nuclei-schema-defs-orderedmapstringstring)) + +# KV Properties + +| Property | Type | Required | Nullable | Defined by | +| :------- | :--- | :------- | :------- | :--------- | diff --git a/templates/syntax/nuclei-schema-defs-request-properties-body-is-the-http-request-body.mdx b/templates/syntax/nuclei-schema-defs-request-properties-body-is-the-http-request-body.mdx new file mode 100644 index 0000000..b9f0437 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-body-is-the-http-request-body.mdx @@ -0,0 +1,15 @@ +# body is the http request body Schema + +```txt +https://template#/$defs/Request/properties/body +``` + +Body is an optional parameter which contains HTTP Request body + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## body Type + +`string` ([body is the http request body](nuclei-schema-defs-request-properties-body-is-the-http-request-body)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-condition-between-the-filters.mdx b/templates/syntax/nuclei-schema-defs-request-properties-condition-between-the-filters.mdx new file mode 100644 index 0000000..daa777a --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-condition-between-the-filters.mdx @@ -0,0 +1,24 @@ +# condition between the filters Schema + +```txt +https://template#/$defs/Request/properties/filter-condition +``` + +Conditions between the filters + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## filter-condition Type + +`string` ([condition between the filters](nuclei-schema-defs-request-properties-condition-between-the-filters)) + +## filter-condition Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :------ | :---------- | +| `"and"` | | +| `"or"` | | diff --git a/templates/syntax/nuclei-schema-defs-request-properties-condition-between-the-matchers.mdx b/templates/syntax/nuclei-schema-defs-request-properties-condition-between-the-matchers.mdx new file mode 100644 index 0000000..44d9825 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-condition-between-the-matchers.mdx @@ -0,0 +1,24 @@ +# condition between the matchers Schema + +```txt +https://template#/$defs/Request/properties/matchers-condition +``` + +Conditions between the matchers + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## matchers-condition Type + +`string` ([condition between the matchers](nuclei-schema-defs-request-properties-condition-between-the-matchers)) + +## matchers-condition Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :------ | :---------- | +| `"and"` | | +| `"or"` | | diff --git a/templates/syntax/nuclei-schema-defs-request-properties-disable-auto-merging-of-path.mdx b/templates/syntax/nuclei-schema-defs-request-properties-disable-auto-merging-of-path.mdx new file mode 100644 index 0000000..e57d7e3 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-disable-auto-merging-of-path.mdx @@ -0,0 +1,15 @@ +# disable auto merging of path Schema + +```txt +https://template#/$defs/Request/properties/disable-path-automerge +``` + +Disable merging target url path with raw request path + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## disable-path-automerge Type + +`boolean` ([disable auto merging of path](nuclei-schema-defs-request-properties-disable-auto-merging-of-path)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-extractors-to-run-on-response.mdx b/templates/syntax/nuclei-schema-defs-request-properties-extractors-to-run-on-response.mdx new file mode 100644 index 0000000..6ec4582 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-extractors-to-run-on-response.mdx @@ -0,0 +1,15 @@ +# extractors to run on response Schema + +```txt +https://template#/$defs/Request/properties/extractors +``` + +Extractors contains the extraction mechanism for the request to identify and extract parts of the response + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## extractors Type + +`object[]` ([Details](nuclei-schema-defs-extractor)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-filter-for-fuzzing.mdx b/templates/syntax/nuclei-schema-defs-request-properties-filter-for-fuzzing.mdx new file mode 100644 index 0000000..b916210 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-filter-for-fuzzing.mdx @@ -0,0 +1,15 @@ +# filter for fuzzing Schema + +```txt +https://template#/$defs/Request/properties/filter +``` + +Filter is matcher-like field to check if fuzzing should be performed on this request or not + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## filter Type + +`object[]` ([Details](nuclei-schema-defs-matcher)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-follow-http-redirects.mdx b/templates/syntax/nuclei-schema-defs-request-properties-follow-http-redirects.mdx new file mode 100644 index 0000000..1985d68 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-follow-http-redirects.mdx @@ -0,0 +1,15 @@ +# follow http redirects Schema + +```txt +https://template#/$defs/Request/properties/redirects +``` + +Specifies whether redirects should be followed by the HTTP Client + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## redirects Type + +`boolean` ([follow http redirects](nuclei-schema-defs-request-properties-follow-http-redirects)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-follow-same-host-http-redirects.mdx b/templates/syntax/nuclei-schema-defs-request-properties-follow-same-host-http-redirects.mdx new file mode 100644 index 0000000..263466b --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-follow-same-host-http-redirects.mdx @@ -0,0 +1,15 @@ +# follow same host http redirects Schema + +```txt +https://template#/$defs/Request/properties/host-redirects +``` + +Specifies whether redirects to the same host should be followed by the HTTP Client + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## host-redirects Type + +`boolean` ([follow same host http redirects](nuclei-schema-defs-request-properties-follow-same-host-http-redirects)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-force-read-all-body.mdx b/templates/syntax/nuclei-schema-defs-request-properties-force-read-all-body.mdx new file mode 100644 index 0000000..9151f26 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-force-read-all-body.mdx @@ -0,0 +1,15 @@ +# force read all body Schema + +```txt +https://template#/$defs/Request/properties/read-all +``` + +Enables force reading of entire unsafe http request body + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## read-all Type + +`boolean` ([force read all body](nuclei-schema-defs-request-properties-force-read-all-body)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-fuzzin-rules-for-http-fuzzing.mdx b/templates/syntax/nuclei-schema-defs-request-properties-fuzzin-rules-for-http-fuzzing.mdx new file mode 100644 index 0000000..fd0e786 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-fuzzin-rules-for-http-fuzzing.mdx @@ -0,0 +1,15 @@ +# fuzzin rules for http fuzzing Schema + +```txt +https://template#/$defs/Request/properties/fuzzing +``` + +Fuzzing describes rule schema to fuzz http requests + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## fuzzing Type + +`object[]` ([Details](nuclei-schema-defs-rule)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-headers-to-send-with-the-http-request-additionalproperties.mdx b/templates/syntax/nuclei-schema-defs-request-properties-headers-to-send-with-the-http-request-additionalproperties.mdx new file mode 100644 index 0000000..19f49e4 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-headers-to-send-with-the-http-request-additionalproperties.mdx @@ -0,0 +1,15 @@ +# Untitled string in undefined Schema + +```txt +https://template#/$defs/Request/properties/headers/additionalProperties +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## additionalProperties Type + +`string` diff --git a/templates/syntax/nuclei-schema-defs-request-properties-headers-to-send-with-the-http-request.mdx b/templates/syntax/nuclei-schema-defs-request-properties-headers-to-send-with-the-http-request.mdx new file mode 100644 index 0000000..2b2f68e --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-headers-to-send-with-the-http-request.mdx @@ -0,0 +1,39 @@ +# headers to send with the http request Schema + +```txt +https://template#/$defs/Request/properties/headers +``` + +Headers contains HTTP Headers to send with the request + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## headers Type + +`object` ([headers to send with the http request](nuclei-schema-defs-request-properties-headers-to-send-with-the-http-request)) + +# headers Properties + +| Property | Type | Required | Nullable | Defined by | +| :-------------------- | :------- | :------- | :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Additional Properties | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-headers-to-send-with-the-http-request-additionalproperties "https://template#/$defs/Request/properties/headers/additionalProperties") | + +## Additional Properties + +Additional properties are allowed, as long as they follow this schema: + + + +* is optional + +* Type: `string` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-headers-to-send-with-the-http-request-additionalproperties "https://template#/$defs/Request/properties/headers/additionalProperties") + +### additionalProperties Type + +`string` diff --git a/templates/syntax/nuclei-schema-defs-request-properties-id-for-the-http-request.mdx b/templates/syntax/nuclei-schema-defs-request-properties-id-for-the-http-request.mdx new file mode 100644 index 0000000..f7a5210 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-id-for-the-http-request.mdx @@ -0,0 +1,15 @@ +# id for the http request Schema + +```txt +https://template#/$defs/Request/properties/id +``` + +ID for the HTTP Request + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## id Type + +`string` ([id for the http request](nuclei-schema-defs-request-properties-id-for-the-http-request)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-iterate-all-the-values.mdx b/templates/syntax/nuclei-schema-defs-request-properties-iterate-all-the-values.mdx new file mode 100644 index 0000000..e5842b5 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-iterate-all-the-values.mdx @@ -0,0 +1,15 @@ +# iterate all the values Schema + +```txt +https://template#/$defs/Request/properties/iterate-all +``` + +Iterates all the values extracted from internal extractors + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## iterate-all Type + +`boolean` ([iterate all the values](nuclei-schema-defs-request-properties-iterate-all-the-values)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-matchers-to-run-on-response.mdx b/templates/syntax/nuclei-schema-defs-request-properties-matchers-to-run-on-response.mdx new file mode 100644 index 0000000..0195244 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-matchers-to-run-on-response.mdx @@ -0,0 +1,15 @@ +# matchers to run on response Schema + +```txt +https://template#/$defs/Request/properties/matchers +``` + +Detection mechanism to identify whether the request was successful by doing pattern matching + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## matchers Type + +`object[]` ([Details](nuclei-schema-defs-matcher)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-maximum-http-response-body-size.mdx b/templates/syntax/nuclei-schema-defs-request-properties-maximum-http-response-body-size.mdx new file mode 100644 index 0000000..354449d --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-maximum-http-response-body-size.mdx @@ -0,0 +1,15 @@ +# maximum http response body size Schema + +```txt +https://template#/$defs/Request/properties/max-size +``` + +Maximum size of http response body to read in bytes + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## max-size Type + +`integer` ([maximum http response body size](nuclei-schema-defs-request-properties-maximum-http-response-body-size)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-maximum-number-of-redirects-to-follow.mdx b/templates/syntax/nuclei-schema-defs-request-properties-maximum-number-of-redirects-to-follow.mdx new file mode 100644 index 0000000..3197bd3 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-maximum-number-of-redirects-to-follow.mdx @@ -0,0 +1,15 @@ +# maximum number of redirects to follow Schema + +```txt +https://template#/$defs/Request/properties/max-redirects +``` + +Maximum number of redirects that should be followed + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## max-redirects Type + +`integer` ([maximum number of redirects to follow](nuclei-schema-defs-request-properties-maximum-number-of-redirects-to-follow)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-name-for-the-http-request.mdx b/templates/syntax/nuclei-schema-defs-request-properties-name-for-the-http-request.mdx new file mode 100644 index 0000000..46ba111 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-name-for-the-http-request.mdx @@ -0,0 +1,15 @@ +# name for the http request Schema + +```txt +https://template#/$defs/Request/properties/name +``` + +Optional name for the HTTP Request + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## name Type + +`string` ([name for the http request](nuclei-schema-defs-request-properties-name-for-the-http-request)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-number-of-pipelining-connections.mdx b/templates/syntax/nuclei-schema-defs-request-properties-number-of-pipelining-connections.mdx new file mode 100644 index 0000000..1e84760 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-number-of-pipelining-connections.mdx @@ -0,0 +1,15 @@ +# number of pipelining connections Schema + +```txt +https://template#/$defs/Request/properties/pipeline-concurrent-connections +``` + +Number of connections to create during pipelining + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## pipeline-concurrent-connections Type + +`integer` ([number of pipelining connections](nuclei-schema-defs-request-properties-number-of-pipelining-connections)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-number-of-requests-to-send-per-pipelining-connections.mdx b/templates/syntax/nuclei-schema-defs-request-properties-number-of-requests-to-send-per-pipelining-connections.mdx new file mode 100644 index 0000000..9a6a9ca --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-number-of-requests-to-send-per-pipelining-connections.mdx @@ -0,0 +1,15 @@ +# number of requests to send per pipelining connections Schema + +```txt +https://template#/$defs/Request/properties/pipeline-requests-per-connection +``` + +Number of requests to send per connection when pipelining + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## pipeline-requests-per-connection Type + +`integer` ([number of requests to send per pipelining connections](nuclei-schema-defs-request-properties-number-of-requests-to-send-per-pipelining-connections)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-number-of-times-to-repeat-request-in-race-condition.mdx b/templates/syntax/nuclei-schema-defs-request-properties-number-of-times-to-repeat-request-in-race-condition.mdx new file mode 100644 index 0000000..2c62cea --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-number-of-times-to-repeat-request-in-race-condition.mdx @@ -0,0 +1,15 @@ +# number of times to repeat request in race condition Schema + +```txt +https://template#/$defs/Request/properties/race_count +``` + +Number of times to send a request in Race Condition Attack + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## race\_count Type + +`integer` ([number of times to repeat request in race condition](nuclei-schema-defs-request-properties-number-of-times-to-repeat-request-in-race-condition)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-optional-cookie-reuse-enable.mdx b/templates/syntax/nuclei-schema-defs-request-properties-optional-cookie-reuse-enable.mdx new file mode 100644 index 0000000..d31182d --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-optional-cookie-reuse-enable.mdx @@ -0,0 +1,15 @@ +# optional cookie reuse enable Schema + +```txt +https://template#/$defs/Request/properties/cookie-reuse +``` + +Optional setting that enables cookie reuse + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## cookie-reuse Type + +`boolean` ([optional cookie reuse enable](nuclei-schema-defs-request-properties-optional-cookie-reuse-enable)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-optional-disable-cookie-reuse.mdx b/templates/syntax/nuclei-schema-defs-request-properties-optional-disable-cookie-reuse.mdx new file mode 100644 index 0000000..71817e8 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-optional-disable-cookie-reuse.mdx @@ -0,0 +1,15 @@ +# optional disable cookie reuse Schema + +```txt +https://template#/$defs/Request/properties/disable-cookie +``` + +Optional setting that disables cookie reuse + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## disable-cookie Type + +`boolean` ([optional disable cookie reuse](nuclei-schema-defs-request-properties-optional-disable-cookie-reuse)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-paths-for-the-http-request-items.mdx b/templates/syntax/nuclei-schema-defs-request-properties-paths-for-the-http-request-items.mdx new file mode 100644 index 0000000..626ad21 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-paths-for-the-http-request-items.mdx @@ -0,0 +1,15 @@ +# Untitled string in undefined Schema + +```txt +https://template#/$defs/Request/properties/path/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## items Type + +`string` diff --git a/templates/syntax/nuclei-schema-defs-request-properties-paths-for-the-http-request.mdx b/templates/syntax/nuclei-schema-defs-request-properties-paths-for-the-http-request.mdx new file mode 100644 index 0000000..0aaf189 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-paths-for-the-http-request.mdx @@ -0,0 +1,15 @@ +# path(s) for the http request Schema + +```txt +https://template#/$defs/Request/properties/path +``` + +Path(s) to send http requests to + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## path Type + +`string[]` diff --git a/templates/syntax/nuclei-schema-defs-request-properties-payloads-for-the-http-request.mdx b/templates/syntax/nuclei-schema-defs-request-properties-payloads-for-the-http-request.mdx new file mode 100644 index 0000000..2cc97a1 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-payloads-for-the-http-request.mdx @@ -0,0 +1,15 @@ +# payloads for the http request Schema + +```txt +https://template#/$defs/Request/properties/payloads +``` + +Payloads contains any payloads for the current request + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## payloads Type + +`object` ([payloads for the http request](nuclei-schema-defs-request-properties-payloads-for-the-http-request)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-perform-http-11-pipelining.mdx b/templates/syntax/nuclei-schema-defs-request-properties-perform-http-11-pipelining.mdx new file mode 100644 index 0000000..f189ade --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-perform-http-11-pipelining.mdx @@ -0,0 +1,15 @@ +# perform HTTP 1.1 pipelining Schema + +```txt +https://template#/$defs/Request/properties/pipeline +``` + +Pipeline defines if the attack should be performed with HTTP 1.1 Pipelining + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## pipeline Type + +`boolean` ([perform HTTP 1.1 pipelining](nuclei-schema-defs-request-properties-perform-http-11-pipelining)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-perform-race-http-request-coordination-attack.mdx b/templates/syntax/nuclei-schema-defs-request-properties-perform-race-http-request-coordination-attack.mdx new file mode 100644 index 0000000..4dc7595 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-perform-race-http-request-coordination-attack.mdx @@ -0,0 +1,15 @@ +# perform race-http request coordination attack Schema + +```txt +https://template#/$defs/Request/properties/race +``` + +Race determines if all the request have to be attempted at the same time (Race Condition) + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## race Type + +`boolean` ([perform race-http request coordination attack](nuclei-schema-defs-request-properties-perform-race-http-request-coordination-attack)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-preserve-request-history.mdx b/templates/syntax/nuclei-schema-defs-request-properties-preserve-request-history.mdx new file mode 100644 index 0000000..708762b --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-preserve-request-history.mdx @@ -0,0 +1,15 @@ +# preserve request history Schema + +```txt +https://template#/$defs/Request/properties/req-condition +``` + +Automatically assigns numbers to requests and preserves their history + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## req-condition Type + +`boolean` ([preserve request history](nuclei-schema-defs-request-properties-preserve-request-history)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-raw-items.mdx b/templates/syntax/nuclei-schema-defs-request-properties-raw-items.mdx new file mode 100644 index 0000000..0d62f9c --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-raw-items.mdx @@ -0,0 +1,15 @@ +# Untitled string in undefined Schema + +```txt +https://template#/$defs/Request/properties/raw/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## items Type + +`string` diff --git a/templates/syntax/nuclei-schema-defs-request-properties-raw.mdx b/templates/syntax/nuclei-schema-defs-request-properties-raw.mdx new file mode 100644 index 0000000..66d93bb --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-raw.mdx @@ -0,0 +1,15 @@ +# Untitled array in undefined Schema + +```txt +https://template#/$defs/Request/properties/raw +``` + +HTTP Requests in Raw Format + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## raw Type + +`string[]` diff --git a/templates/syntax/nuclei-schema-defs-request-properties-self-contained.mdx b/templates/syntax/nuclei-schema-defs-request-properties-self-contained.mdx new file mode 100644 index 0000000..5c3307b --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-self-contained.mdx @@ -0,0 +1,15 @@ +# Untitled boolean in undefined Schema + +```txt +https://template#/$defs/Request/properties/self-contained +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## self-contained Type + +`boolean` diff --git a/templates/syntax/nuclei-schema-defs-request-properties-skip-variable-checks.mdx b/templates/syntax/nuclei-schema-defs-request-properties-skip-variable-checks.mdx new file mode 100644 index 0000000..76ad909 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-skip-variable-checks.mdx @@ -0,0 +1,15 @@ +# skip variable checks Schema + +```txt +https://template#/$defs/Request/properties/skip-variables-check +``` + +Skips the check for unresolved variables in request + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## skip-variables-check Type + +`boolean` ([skip variable checks](nuclei-schema-defs-request-properties-skip-variable-checks)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-specifies-the-password-for-digest-authentication.mdx b/templates/syntax/nuclei-schema-defs-request-properties-specifies-the-password-for-digest-authentication.mdx new file mode 100644 index 0000000..b495c03 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-specifies-the-password-for-digest-authentication.mdx @@ -0,0 +1,15 @@ +# specifies the password for digest authentication Schema + +```txt +https://template#/$defs/Request/properties/digest-password +``` + +Optional parameter which specifies the password for digest auth + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## digest-password Type + +`string` ([specifies the password for digest authentication](nuclei-schema-defs-request-properties-specifies-the-password-for-digest-authentication)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-specifies-the-username-for-digest-authentication.mdx b/templates/syntax/nuclei-schema-defs-request-properties-specifies-the-username-for-digest-authentication.mdx new file mode 100644 index 0000000..f3b0d9b --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-specifies-the-username-for-digest-authentication.mdx @@ -0,0 +1,15 @@ +# specifies the username for digest authentication Schema + +```txt +https://template#/$defs/Request/properties/digest-username +``` + +Optional parameter which specifies the username for digest auth + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## digest-username Type + +`string` ([specifies the username for digest authentication](nuclei-schema-defs-request-properties-specifies-the-username-for-digest-authentication)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-stop-at-first-match.mdx b/templates/syntax/nuclei-schema-defs-request-properties-stop-at-first-match.mdx new file mode 100644 index 0000000..86ad383 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-stop-at-first-match.mdx @@ -0,0 +1,15 @@ +# stop at first match Schema + +```txt +https://template#/$defs/Request/properties/stop-at-first-match +``` + +Stop the execution after a match is found + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## stop-at-first-match Type + +`boolean` ([stop at first match](nuclei-schema-defs-request-properties-stop-at-first-match)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-threads-for-sending-requests.mdx b/templates/syntax/nuclei-schema-defs-request-properties-threads-for-sending-requests.mdx new file mode 100644 index 0000000..402fb2a --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-threads-for-sending-requests.mdx @@ -0,0 +1,15 @@ +# threads for sending requests Schema + +```txt +https://template#/$defs/Request/properties/threads +``` + +Threads specifies number of threads to use sending requests. This enables Connection Pooling + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## threads Type + +`integer` ([threads for sending requests](nuclei-schema-defs-request-properties-threads-for-sending-requests)) diff --git a/templates/syntax/nuclei-schema-defs-request-properties-use-rawhttp-non-strict-rfc-client.mdx b/templates/syntax/nuclei-schema-defs-request-properties-use-rawhttp-non-strict-rfc-client.mdx new file mode 100644 index 0000000..0b61011 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request-properties-use-rawhttp-non-strict-rfc-client.mdx @@ -0,0 +1,15 @@ +# use rawhttp non-strict-rfc client Schema + +```txt +https://template#/$defs/Request/properties/unsafe +``` + +Unsafe specifies whether to use rawhttp engine for sending Non RFC-Compliant requests + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## unsafe Type + +`boolean` ([use rawhttp non-strict-rfc client](nuclei-schema-defs-request-properties-use-rawhttp-non-strict-rfc-client)) diff --git a/templates/syntax/nuclei-schema-defs-request.mdx b/templates/syntax/nuclei-schema-defs-request.mdx new file mode 100644 index 0000000..b215a9b --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-request.mdx @@ -0,0 +1,760 @@ +# Untitled object in undefined Schema + +```txt +https://template#/$defs/Template/properties/javascript/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## items Type + +`object` ([Details](nuclei-schema-defs-request)) + +# items Properties + +| Property | Type | Required | Nullable | Defined by | +| :-------------------------------------------------------------------- | :-------- | :------- | :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [matchers](#matchers) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-matchers-to-run-on-response "https://template#/$defs/Request/properties/matchers") | +| [extractors](#extractors) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-extractors-to-run-on-response "https://template#/$defs/Request/properties/extractors") | +| [matchers-condition](#matchers-condition) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-condition-between-the-matchers "https://template#/$defs/Request/properties/matchers-condition") | +| [path](#path) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-paths-for-the-http-request "https://template#/$defs/Request/properties/path") | +| [raw](#raw) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-raw "https://template#/$defs/Request/properties/raw") | +| [id](#id) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-id-for-the-http-request "https://template#/$defs/Request/properties/id") | +| [name](#name) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-name-for-the-http-request "https://template#/$defs/Request/properties/name") | +| [attack](#attack) | `object` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-attacktypeholder "https://template#/$defs/Request/properties/attack") | +| [method](#method) | `object` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-httpmethodtypeholder "https://template#/$defs/Request/properties/method") | +| [body](#body) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-body-is-the-http-request-body "https://template#/$defs/Request/properties/body") | +| [payloads](#payloads) | `object` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-payloads-for-the-http-request "https://template#/$defs/Request/properties/payloads") | +| [headers](#headers) | `object` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-headers-to-send-with-the-http-request "https://template#/$defs/Request/properties/headers") | +| [race\_count](#race_count) | `integer` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-number-of-times-to-repeat-request-in-race-condition "https://template#/$defs/Request/properties/race_count") | +| [max-redirects](#max-redirects) | `integer` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-maximum-number-of-redirects-to-follow "https://template#/$defs/Request/properties/max-redirects") | +| [pipeline-concurrent-connections](#pipeline-concurrent-connections) | `integer` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-number-of-pipelining-connections "https://template#/$defs/Request/properties/pipeline-concurrent-connections") | +| [pipeline-requests-per-connection](#pipeline-requests-per-connection) | `integer` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-number-of-requests-to-send-per-pipelining-connections "https://template#/$defs/Request/properties/pipeline-requests-per-connection") | +| [threads](#threads) | `integer` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-threads-for-sending-requests "https://template#/$defs/Request/properties/threads") | +| [max-size](#max-size) | `integer` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-maximum-http-response-body-size "https://template#/$defs/Request/properties/max-size") | +| [fuzzing](#fuzzing) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-fuzzin-rules-for-http-fuzzing "https://template#/$defs/Request/properties/fuzzing") | +| [self-contained](#self-contained) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-self-contained "https://template#/$defs/Request/properties/self-contained") | +| [signature](#signature) | `object` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-signaturetypeholder "https://template#/$defs/Request/properties/signature") | +| [cookie-reuse](#cookie-reuse) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-optional-cookie-reuse-enable "https://template#/$defs/Request/properties/cookie-reuse") | +| [disable-cookie](#disable-cookie) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-optional-disable-cookie-reuse "https://template#/$defs/Request/properties/disable-cookie") | +| [read-all](#read-all) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-force-read-all-body "https://template#/$defs/Request/properties/read-all") | +| [redirects](#redirects) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-follow-http-redirects "https://template#/$defs/Request/properties/redirects") | +| [host-redirects](#host-redirects) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-follow-same-host-http-redirects "https://template#/$defs/Request/properties/host-redirects") | +| [pipeline](#pipeline) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-perform-http-11-pipelining "https://template#/$defs/Request/properties/pipeline") | +| [unsafe](#unsafe) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-use-rawhttp-non-strict-rfc-client "https://template#/$defs/Request/properties/unsafe") | +| [race](#race) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-perform-race-http-request-coordination-attack "https://template#/$defs/Request/properties/race") | +| [req-condition](#req-condition) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-preserve-request-history "https://template#/$defs/Request/properties/req-condition") | +| [stop-at-first-match](#stop-at-first-match) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-stop-at-first-match "https://template#/$defs/Request/properties/stop-at-first-match") | +| [skip-variables-check](#skip-variables-check) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-skip-variable-checks "https://template#/$defs/Request/properties/skip-variables-check") | +| [iterate-all](#iterate-all) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-iterate-all-the-values "https://template#/$defs/Request/properties/iterate-all") | +| [digest-username](#digest-username) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-specifies-the-username-for-digest-authentication "https://template#/$defs/Request/properties/digest-username") | +| [digest-password](#digest-password) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-specifies-the-password-for-digest-authentication "https://template#/$defs/Request/properties/digest-password") | +| [disable-path-automerge](#disable-path-automerge) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-disable-auto-merging-of-path "https://template#/$defs/Request/properties/disable-path-automerge") | +| [filter](#filter) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-filter-for-fuzzing "https://template#/$defs/Request/properties/filter") | +| [filter-condition](#filter-condition) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-condition-between-the-filters "https://template#/$defs/Request/properties/filter-condition") | + +## matchers + +Detection mechanism to identify whether the request was successful by doing pattern matching + +`matchers` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-matcher)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-matchers-to-run-on-response "https://template#/$defs/Request/properties/matchers") + +### matchers Type + +`object[]` ([Details](nuclei-schema-defs-matcher)) + +## extractors + +Extractors contains the extraction mechanism for the request to identify and extract parts of the response + +`extractors` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-extractor)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-extractors-to-run-on-response "https://template#/$defs/Request/properties/extractors") + +### extractors Type + +`object[]` ([Details](nuclei-schema-defs-extractor)) + +## matchers-condition + +Conditions between the matchers + +`matchers-condition` + +* is optional + +* Type: `string` ([condition between the matchers](nuclei-schema-defs-request-properties-condition-between-the-matchers)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-condition-between-the-matchers "https://template#/$defs/Request/properties/matchers-condition") + +### matchers-condition Type + +`string` ([condition between the matchers](nuclei-schema-defs-request-properties-condition-between-the-matchers)) + +### matchers-condition Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :------ | :---------- | +| `"and"` | | +| `"or"` | | + +## path + +Path(s) to send http requests to + +`path` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-paths-for-the-http-request "https://template#/$defs/Request/properties/path") + +### path Type + +`string[]` + +## raw + +HTTP Requests in Raw Format + +`raw` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-raw "https://template#/$defs/Request/properties/raw") + +### raw Type + +`string[]` + +## id + +ID for the HTTP Request + +`id` + +* is optional + +* Type: `string` ([id for the http request](nuclei-schema-defs-request-properties-id-for-the-http-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-id-for-the-http-request "https://template#/$defs/Request/properties/id") + +### id Type + +`string` ([id for the http request](nuclei-schema-defs-request-properties-id-for-the-http-request)) + +## name + +Optional name for the HTTP Request + +`name` + +* is optional + +* Type: `string` ([name for the http request](nuclei-schema-defs-request-properties-name-for-the-http-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-name-for-the-http-request "https://template#/$defs/Request/properties/name") + +### name Type + +`string` ([name for the http request](nuclei-schema-defs-request-properties-name-for-the-http-request)) + +## attack + +Attack is the type of payload combinations to perform + +`attack` + +* is optional + +* Type: `object` ([attack is the payload combination](nuclei-schema-defs-attacktypeholder)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-attacktypeholder "https://template#/$defs/Request/properties/attack") + +### attack Type + +`object` ([attack is the payload combination](nuclei-schema-defs-attacktypeholder)) + +## method + +Method is the HTTP Request Method + +`method` + +* is optional + +* Type: `object` ([method is the http request method](nuclei-schema-defs-httpmethodtypeholder)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-httpmethodtypeholder "https://template#/$defs/Request/properties/method") + +### method Type + +`object` ([method is the http request method](nuclei-schema-defs-httpmethodtypeholder)) + +## body + +Body is an optional parameter which contains HTTP Request body + +`body` + +* is optional + +* Type: `string` ([body is the http request body](nuclei-schema-defs-request-properties-body-is-the-http-request-body)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-body-is-the-http-request-body "https://template#/$defs/Request/properties/body") + +### body Type + +`string` ([body is the http request body](nuclei-schema-defs-request-properties-body-is-the-http-request-body)) + +## payloads + +Payloads contains any payloads for the current request + +`payloads` + +* is optional + +* Type: `object` ([payloads for the http request](nuclei-schema-defs-request-properties-payloads-for-the-http-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-payloads-for-the-http-request "https://template#/$defs/Request/properties/payloads") + +### payloads Type + +`object` ([payloads for the http request](nuclei-schema-defs-request-properties-payloads-for-the-http-request)) + +## headers + +Headers contains HTTP Headers to send with the request + +`headers` + +* is optional + +* Type: `object` ([headers to send with the http request](nuclei-schema-defs-request-properties-headers-to-send-with-the-http-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-headers-to-send-with-the-http-request "https://template#/$defs/Request/properties/headers") + +### headers Type + +`object` ([headers to send with the http request](nuclei-schema-defs-request-properties-headers-to-send-with-the-http-request)) + +## race\_count + +Number of times to send a request in Race Condition Attack + +`race_count` + +* is optional + +* Type: `integer` ([number of times to repeat request in race condition](nuclei-schema-defs-request-properties-number-of-times-to-repeat-request-in-race-condition)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-number-of-times-to-repeat-request-in-race-condition "https://template#/$defs/Request/properties/race_count") + +### race\_count Type + +`integer` ([number of times to repeat request in race condition](nuclei-schema-defs-request-properties-number-of-times-to-repeat-request-in-race-condition)) + +## max-redirects + +Maximum number of redirects that should be followed + +`max-redirects` + +* is optional + +* Type: `integer` ([maximum number of redirects to follow](nuclei-schema-defs-request-properties-maximum-number-of-redirects-to-follow)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-maximum-number-of-redirects-to-follow "https://template#/$defs/Request/properties/max-redirects") + +### max-redirects Type + +`integer` ([maximum number of redirects to follow](nuclei-schema-defs-request-properties-maximum-number-of-redirects-to-follow)) + +## pipeline-concurrent-connections + +Number of connections to create during pipelining + +`pipeline-concurrent-connections` + +* is optional + +* Type: `integer` ([number of pipelining connections](nuclei-schema-defs-request-properties-number-of-pipelining-connections)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-number-of-pipelining-connections "https://template#/$defs/Request/properties/pipeline-concurrent-connections") + +### pipeline-concurrent-connections Type + +`integer` ([number of pipelining connections](nuclei-schema-defs-request-properties-number-of-pipelining-connections)) + +## pipeline-requests-per-connection + +Number of requests to send per connection when pipelining + +`pipeline-requests-per-connection` + +* is optional + +* Type: `integer` ([number of requests to send per pipelining connections](nuclei-schema-defs-request-properties-number-of-requests-to-send-per-pipelining-connections)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-number-of-requests-to-send-per-pipelining-connections "https://template#/$defs/Request/properties/pipeline-requests-per-connection") + +### pipeline-requests-per-connection Type + +`integer` ([number of requests to send per pipelining connections](nuclei-schema-defs-request-properties-number-of-requests-to-send-per-pipelining-connections)) + +## threads + +Threads specifies number of threads to use sending requests. This enables Connection Pooling + +`threads` + +* is optional + +* Type: `integer` ([threads for sending requests](nuclei-schema-defs-request-properties-threads-for-sending-requests)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-threads-for-sending-requests "https://template#/$defs/Request/properties/threads") + +### threads Type + +`integer` ([threads for sending requests](nuclei-schema-defs-request-properties-threads-for-sending-requests)) + +## max-size + +Maximum size of http response body to read in bytes + +`max-size` + +* is optional + +* Type: `integer` ([maximum http response body size](nuclei-schema-defs-request-properties-maximum-http-response-body-size)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-maximum-http-response-body-size "https://template#/$defs/Request/properties/max-size") + +### max-size Type + +`integer` ([maximum http response body size](nuclei-schema-defs-request-properties-maximum-http-response-body-size)) + +## fuzzing + +Fuzzing describes rule schema to fuzz http requests + +`fuzzing` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-rule)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-fuzzin-rules-for-http-fuzzing "https://template#/$defs/Request/properties/fuzzing") + +### fuzzing Type + +`object[]` ([Details](nuclei-schema-defs-rule)) + +## self-contained + + + +`self-contained` + +* is optional + +* Type: `boolean` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-self-contained "https://template#/$defs/Request/properties/self-contained") + +### self-contained Type + +`boolean` + +## signature + +Signature is the HTTP Request signature Method + +`signature` + +* is optional + +* Type: `object` ([signature is the http request signature method](nuclei-schema-defs-signaturetypeholder)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-signaturetypeholder "https://template#/$defs/Request/properties/signature") + +### signature Type + +`object` ([signature is the http request signature method](nuclei-schema-defs-signaturetypeholder)) + +## cookie-reuse + +Optional setting that enables cookie reuse + +`cookie-reuse` + +* is optional + +* Type: `boolean` ([optional cookie reuse enable](nuclei-schema-defs-request-properties-optional-cookie-reuse-enable)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-optional-cookie-reuse-enable "https://template#/$defs/Request/properties/cookie-reuse") + +### cookie-reuse Type + +`boolean` ([optional cookie reuse enable](nuclei-schema-defs-request-properties-optional-cookie-reuse-enable)) + +## disable-cookie + +Optional setting that disables cookie reuse + +`disable-cookie` + +* is optional + +* Type: `boolean` ([optional disable cookie reuse](nuclei-schema-defs-request-properties-optional-disable-cookie-reuse)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-optional-disable-cookie-reuse "https://template#/$defs/Request/properties/disable-cookie") + +### disable-cookie Type + +`boolean` ([optional disable cookie reuse](nuclei-schema-defs-request-properties-optional-disable-cookie-reuse)) + +## read-all + +Enables force reading of entire unsafe http request body + +`read-all` + +* is optional + +* Type: `boolean` ([force read all body](nuclei-schema-defs-request-properties-force-read-all-body)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-force-read-all-body "https://template#/$defs/Request/properties/read-all") + +### read-all Type + +`boolean` ([force read all body](nuclei-schema-defs-request-properties-force-read-all-body)) + +## redirects + +Specifies whether redirects should be followed by the HTTP Client + +`redirects` + +* is optional + +* Type: `boolean` ([follow http redirects](nuclei-schema-defs-request-properties-follow-http-redirects)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-follow-http-redirects "https://template#/$defs/Request/properties/redirects") + +### redirects Type + +`boolean` ([follow http redirects](nuclei-schema-defs-request-properties-follow-http-redirects)) + +## host-redirects + +Specifies whether redirects to the same host should be followed by the HTTP Client + +`host-redirects` + +* is optional + +* Type: `boolean` ([follow same host http redirects](nuclei-schema-defs-request-properties-follow-same-host-http-redirects)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-follow-same-host-http-redirects "https://template#/$defs/Request/properties/host-redirects") + +### host-redirects Type + +`boolean` ([follow same host http redirects](nuclei-schema-defs-request-properties-follow-same-host-http-redirects)) + +## pipeline + +Pipeline defines if the attack should be performed with HTTP 1.1 Pipelining + +`pipeline` + +* is optional + +* Type: `boolean` ([perform HTTP 1.1 pipelining](nuclei-schema-defs-request-properties-perform-http-11-pipelining)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-perform-http-11-pipelining "https://template#/$defs/Request/properties/pipeline") + +### pipeline Type + +`boolean` ([perform HTTP 1.1 pipelining](nuclei-schema-defs-request-properties-perform-http-11-pipelining)) + +## unsafe + +Unsafe specifies whether to use rawhttp engine for sending Non RFC-Compliant requests + +`unsafe` + +* is optional + +* Type: `boolean` ([use rawhttp non-strict-rfc client](nuclei-schema-defs-request-properties-use-rawhttp-non-strict-rfc-client)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-use-rawhttp-non-strict-rfc-client "https://template#/$defs/Request/properties/unsafe") + +### unsafe Type + +`boolean` ([use rawhttp non-strict-rfc client](nuclei-schema-defs-request-properties-use-rawhttp-non-strict-rfc-client)) + +## race + +Race determines if all the request have to be attempted at the same time (Race Condition) + +`race` + +* is optional + +* Type: `boolean` ([perform race-http request coordination attack](nuclei-schema-defs-request-properties-perform-race-http-request-coordination-attack)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-perform-race-http-request-coordination-attack "https://template#/$defs/Request/properties/race") + +### race Type + +`boolean` ([perform race-http request coordination attack](nuclei-schema-defs-request-properties-perform-race-http-request-coordination-attack)) + +## req-condition + +Automatically assigns numbers to requests and preserves their history + +`req-condition` + +* is optional + +* Type: `boolean` ([preserve request history](nuclei-schema-defs-request-properties-preserve-request-history)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-preserve-request-history "https://template#/$defs/Request/properties/req-condition") + +### req-condition Type + +`boolean` ([preserve request history](nuclei-schema-defs-request-properties-preserve-request-history)) + +## stop-at-first-match + +Stop the execution after a match is found + +`stop-at-first-match` + +* is optional + +* Type: `boolean` ([stop at first match](nuclei-schema-defs-request-properties-stop-at-first-match)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-stop-at-first-match "https://template#/$defs/Request/properties/stop-at-first-match") + +### stop-at-first-match Type + +`boolean` ([stop at first match](nuclei-schema-defs-request-properties-stop-at-first-match)) + +## skip-variables-check + +Skips the check for unresolved variables in request + +`skip-variables-check` + +* is optional + +* Type: `boolean` ([skip variable checks](nuclei-schema-defs-request-properties-skip-variable-checks)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-skip-variable-checks "https://template#/$defs/Request/properties/skip-variables-check") + +### skip-variables-check Type + +`boolean` ([skip variable checks](nuclei-schema-defs-request-properties-skip-variable-checks)) + +## iterate-all + +Iterates all the values extracted from internal extractors + +`iterate-all` + +* is optional + +* Type: `boolean` ([iterate all the values](nuclei-schema-defs-request-properties-iterate-all-the-values)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-iterate-all-the-values "https://template#/$defs/Request/properties/iterate-all") + +### iterate-all Type + +`boolean` ([iterate all the values](nuclei-schema-defs-request-properties-iterate-all-the-values)) + +## digest-username + +Optional parameter which specifies the username for digest auth + +`digest-username` + +* is optional + +* Type: `string` ([specifies the username for digest authentication](nuclei-schema-defs-request-properties-specifies-the-username-for-digest-authentication)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-specifies-the-username-for-digest-authentication "https://template#/$defs/Request/properties/digest-username") + +### digest-username Type + +`string` ([specifies the username for digest authentication](nuclei-schema-defs-request-properties-specifies-the-username-for-digest-authentication)) + +## digest-password + +Optional parameter which specifies the password for digest auth + +`digest-password` + +* is optional + +* Type: `string` ([specifies the password for digest authentication](nuclei-schema-defs-request-properties-specifies-the-password-for-digest-authentication)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-specifies-the-password-for-digest-authentication "https://template#/$defs/Request/properties/digest-password") + +### digest-password Type + +`string` ([specifies the password for digest authentication](nuclei-schema-defs-request-properties-specifies-the-password-for-digest-authentication)) + +## disable-path-automerge + +Disable merging target url path with raw request path + +`disable-path-automerge` + +* is optional + +* Type: `boolean` ([disable auto merging of path](nuclei-schema-defs-request-properties-disable-auto-merging-of-path)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-disable-auto-merging-of-path "https://template#/$defs/Request/properties/disable-path-automerge") + +### disable-path-automerge Type + +`boolean` ([disable auto merging of path](nuclei-schema-defs-request-properties-disable-auto-merging-of-path)) + +## filter + +Filter is matcher-like field to check if fuzzing should be performed on this request or not + +`filter` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-matcher)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-filter-for-fuzzing "https://template#/$defs/Request/properties/filter") + +### filter Type + +`object[]` ([Details](nuclei-schema-defs-matcher)) + +## filter-condition + +Conditions between the filters + +`filter-condition` + +* is optional + +* Type: `string` ([condition between the filters](nuclei-schema-defs-request-properties-condition-between-the-filters)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-condition-between-the-filters "https://template#/$defs/Request/properties/filter-condition") + +### filter-condition Type + +`string` ([condition between the filters](nuclei-schema-defs-request-properties-condition-between-the-filters)) + +### filter-condition Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :------ | :---------- | +| `"and"` | | +| `"or"` | | diff --git a/templates/syntax/nuclei-schema-defs-rule-properties-keys-of-parameters-to-fuzz-items.mdx b/templates/syntax/nuclei-schema-defs-rule-properties-keys-of-parameters-to-fuzz-items.mdx new file mode 100644 index 0000000..83484ae --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-rule-properties-keys-of-parameters-to-fuzz-items.mdx @@ -0,0 +1,15 @@ +# Untitled string in undefined Schema + +```txt +https://template#/$defs/Rule/properties/keys/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## items Type + +`string` diff --git a/templates/syntax/nuclei-schema-defs-rule-properties-keys-of-parameters-to-fuzz.mdx b/templates/syntax/nuclei-schema-defs-rule-properties-keys-of-parameters-to-fuzz.mdx new file mode 100644 index 0000000..e44d787 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-rule-properties-keys-of-parameters-to-fuzz.mdx @@ -0,0 +1,15 @@ +# keys of parameters to fuzz Schema + +```txt +https://template#/$defs/Rule/properties/keys +``` + +Keys of parameters to fuzz + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## keys Type + +`string[]` diff --git a/templates/syntax/nuclei-schema-defs-rule-properties-keys-regex-to-fuzz-items.mdx b/templates/syntax/nuclei-schema-defs-rule-properties-keys-regex-to-fuzz-items.mdx new file mode 100644 index 0000000..b457a72 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-rule-properties-keys-regex-to-fuzz-items.mdx @@ -0,0 +1,15 @@ +# Untitled string in undefined Schema + +```txt +https://template#/$defs/Rule/properties/keys-regex/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## items Type + +`string` diff --git a/templates/syntax/nuclei-schema-defs-rule-properties-keys-regex-to-fuzz.mdx b/templates/syntax/nuclei-schema-defs-rule-properties-keys-regex-to-fuzz.mdx new file mode 100644 index 0000000..aeb9ae1 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-rule-properties-keys-regex-to-fuzz.mdx @@ -0,0 +1,15 @@ +# keys regex to fuzz Schema + +```txt +https://template#/$defs/Rule/properties/keys-regex +``` + +Regex of parameter keys to fuzz + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## keys-regex Type + +`string[]` diff --git a/templates/syntax/nuclei-schema-defs-rule-properties-mode-of-rule.mdx b/templates/syntax/nuclei-schema-defs-rule-properties-mode-of-rule.mdx new file mode 100644 index 0000000..676491b --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-rule-properties-mode-of-rule.mdx @@ -0,0 +1,24 @@ +# mode of rule Schema + +```txt +https://template#/$defs/Rule/properties/mode +``` + +Mode of request rule to fuzz + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## mode Type + +`string` ([mode of rule](nuclei-schema-defs-rule-properties-mode-of-rule)) + +## mode Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :----------- | :---------- | +| `"single"` | | +| `"multiple"` | | diff --git a/templates/syntax/nuclei-schema-defs-rule-properties-part-of-rule.mdx b/templates/syntax/nuclei-schema-defs-rule-properties-part-of-rule.mdx new file mode 100644 index 0000000..668cadf --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-rule-properties-part-of-rule.mdx @@ -0,0 +1,28 @@ +# part of rule Schema + +```txt +https://template#/$defs/Rule/properties/part +``` + +Part of request rule to fuzz + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## part Type + +`string` ([part of rule](nuclei-schema-defs-rule-properties-part-of-rule)) + +## part Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :---------- | :---------- | +| `"query"` | | +| `"header"` | | +| `"path"` | | +| `"body"` | | +| `"cookie"` | | +| `"request"` | | diff --git a/templates/syntax/nuclei-schema-defs-rule-properties-replace-regex-of-rule.mdx b/templates/syntax/nuclei-schema-defs-rule-properties-replace-regex-of-rule.mdx new file mode 100644 index 0000000..d638f8a --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-rule-properties-replace-regex-of-rule.mdx @@ -0,0 +1,15 @@ +# replace regex of rule Schema + +```txt +https://template#/$defs/Rule/properties/replace-regex +``` + +Regex for regex-replace rule type + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## replace-regex Type + +`string` ([replace regex of rule](nuclei-schema-defs-rule-properties-replace-regex-of-rule)) diff --git a/templates/syntax/nuclei-schema-defs-rule-properties-type-of-rule.mdx b/templates/syntax/nuclei-schema-defs-rule-properties-type-of-rule.mdx new file mode 100644 index 0000000..d591c81 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-rule-properties-type-of-rule.mdx @@ -0,0 +1,27 @@ +# type of rule Schema + +```txt +https://template#/$defs/Rule/properties/type +``` + +Type of fuzzing rule to perform + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## type Type + +`string` ([type of rule](nuclei-schema-defs-rule-properties-type-of-rule)) + +## type Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :---------------- | :---------- | +| `"replace"` | | +| `"prefix"` | | +| `"postfix"` | | +| `"infix"` | | +| `"replace-regex"` | | diff --git a/templates/syntax/nuclei-schema-defs-rule-properties-values-regex-to-fuzz-items.mdx b/templates/syntax/nuclei-schema-defs-rule-properties-values-regex-to-fuzz-items.mdx new file mode 100644 index 0000000..39eabc7 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-rule-properties-values-regex-to-fuzz-items.mdx @@ -0,0 +1,15 @@ +# Untitled string in undefined Schema + +```txt +https://template#/$defs/Rule/properties/values/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## items Type + +`string` diff --git a/templates/syntax/nuclei-schema-defs-rule-properties-values-regex-to-fuzz.mdx b/templates/syntax/nuclei-schema-defs-rule-properties-values-regex-to-fuzz.mdx new file mode 100644 index 0000000..154758d --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-rule-properties-values-regex-to-fuzz.mdx @@ -0,0 +1,15 @@ +# values regex to fuzz Schema + +```txt +https://template#/$defs/Rule/properties/values +``` + +Regex of parameter values to fuzz + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## values Type + +`string[]` diff --git a/templates/syntax/nuclei-schema-defs-rule.mdx b/templates/syntax/nuclei-schema-defs-rule.mdx new file mode 100644 index 0000000..f31a26a --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-rule.mdx @@ -0,0 +1,206 @@ +# Untitled object in undefined Schema + +```txt +https://template#/$defs/Rule +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## Rule Type + +`object` ([Details](nuclei-schema-defs-rule)) + +# Rule Properties + +| Property | Type | Required | Nullable | Defined by | +| :------------------------------ | :------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------- | +| [type](#type) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-rule-properties-type-of-rule "https://template#/$defs/Rule/properties/type") | +| [part](#part) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-rule-properties-part-of-rule "https://template#/$defs/Rule/properties/part") | +| [mode](#mode) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-rule-properties-mode-of-rule "https://template#/$defs/Rule/properties/mode") | +| [keys](#keys) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-rule-properties-keys-of-parameters-to-fuzz "https://template#/$defs/Rule/properties/keys") | +| [keys-regex](#keys-regex) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-rule-properties-keys-regex-to-fuzz "https://template#/$defs/Rule/properties/keys-regex") | +| [values](#values) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-rule-properties-values-regex-to-fuzz "https://template#/$defs/Rule/properties/values") | +| [fuzz](#fuzz) | `object` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-sliceormapslice "https://template#/$defs/Rule/properties/fuzz") | +| [replace-regex](#replace-regex) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-rule-properties-replace-regex-of-rule "https://template#/$defs/Rule/properties/replace-regex") | + +## type + +Type of fuzzing rule to perform + +`type` + +* is optional + +* Type: `string` ([type of rule](nuclei-schema-defs-rule-properties-type-of-rule)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-rule-properties-type-of-rule "https://template#/$defs/Rule/properties/type") + +### type Type + +`string` ([type of rule](nuclei-schema-defs-rule-properties-type-of-rule)) + +### type Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :---------------- | :---------- | +| `"replace"` | | +| `"prefix"` | | +| `"postfix"` | | +| `"infix"` | | +| `"replace-regex"` | | + +## part + +Part of request rule to fuzz + +`part` + +* is optional + +* Type: `string` ([part of rule](nuclei-schema-defs-rule-properties-part-of-rule)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-rule-properties-part-of-rule "https://template#/$defs/Rule/properties/part") + +### part Type + +`string` ([part of rule](nuclei-schema-defs-rule-properties-part-of-rule)) + +### part Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :---------- | :---------- | +| `"query"` | | +| `"header"` | | +| `"path"` | | +| `"body"` | | +| `"cookie"` | | +| `"request"` | | + +## mode + +Mode of request rule to fuzz + +`mode` + +* is optional + +* Type: `string` ([mode of rule](nuclei-schema-defs-rule-properties-mode-of-rule)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-rule-properties-mode-of-rule "https://template#/$defs/Rule/properties/mode") + +### mode Type + +`string` ([mode of rule](nuclei-schema-defs-rule-properties-mode-of-rule)) + +### mode Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :----------- | :---------- | +| `"single"` | | +| `"multiple"` | | + +## keys + +Keys of parameters to fuzz + +`keys` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-rule-properties-keys-of-parameters-to-fuzz "https://template#/$defs/Rule/properties/keys") + +### keys Type + +`string[]` + +## keys-regex + +Regex of parameter keys to fuzz + +`keys-regex` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-rule-properties-keys-regex-to-fuzz "https://template#/$defs/Rule/properties/keys-regex") + +### keys-regex Type + +`string[]` + +## values + +Regex of parameter values to fuzz + +`values` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-rule-properties-values-regex-to-fuzz "https://template#/$defs/Rule/properties/values") + +### values Type + +`string[]` + +## fuzz + +Payloads to perform fuzzing substitutions with + +`fuzz` + +* is optional + +* Type: `object` ([payloads of fuzz rule](nuclei-schema-defs-sliceormapslice)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-sliceormapslice "https://template#/$defs/Rule/properties/fuzz") + +### fuzz Type + +`object` ([payloads of fuzz rule](nuclei-schema-defs-sliceormapslice)) + +## replace-regex + +Regex for regex-replace rule type + +`replace-regex` + +* is optional + +* Type: `string` ([replace regex of rule](nuclei-schema-defs-rule-properties-replace-regex-of-rule)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-rule-properties-replace-regex-of-rule "https://template#/$defs/Rule/properties/replace-regex") + +### replace-regex Type + +`string` ([replace regex of rule](nuclei-schema-defs-rule-properties-replace-regex-of-rule)) diff --git a/templates/syntax/nuclei-schema-defs-severity-of-the-template.mdx b/templates/syntax/nuclei-schema-defs-severity-of-the-template.mdx new file mode 100644 index 0000000..ea735b9 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-severity-of-the-template.mdx @@ -0,0 +1,34 @@ +# severity of the template Schema + +```txt +https://template#/$defs/Info/properties/severity +``` + +Seriousness of the implications of the template + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## severity Type + +`string` ([severity of the template](nuclei-schema-defs-severity-of-the-template)) + +## severity Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :----------- | :---------- | +| `"info"` | | +| `"low"` | | +| `"medium"` | | +| `"high"` | | +| `"critical"` | | +| `"unknown"` | | + +## severity Examples + +```json +"info" +``` diff --git a/templates/syntax/nuclei-schema-defs-signaturetypeholder-properties-value.mdx b/templates/syntax/nuclei-schema-defs-signaturetypeholder-properties-value.mdx new file mode 100644 index 0000000..41dd9ed --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-signaturetypeholder-properties-value.mdx @@ -0,0 +1,15 @@ +# Untitled integer in undefined Schema + +```txt +https://template#/$defs/SignatureTypeHolder/properties/Value +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## Value Type + +`integer` diff --git a/templates/syntax/nuclei-schema-defs-signaturetypeholder.mdx b/templates/syntax/nuclei-schema-defs-signaturetypeholder.mdx new file mode 100644 index 0000000..ff3a2cb --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-signaturetypeholder.mdx @@ -0,0 +1,39 @@ +# signature is the http request signature method Schema + +```txt +https://template#/$defs/Template/properties/signature +``` + +Signature is the HTTP Request signature Method + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :--------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Deprecated | No | Forbidden | Forbidden | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## signature Type + +`object` ([signature is the http request signature method](nuclei-schema-defs-signaturetypeholder)) + +# signature Properties + +| Property | Type | Required | Nullable | Defined by | +| :-------------- | :-------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------- | +| [Value](#value) | `integer` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-signaturetypeholder-properties-value "https://template#/$defs/SignatureTypeHolder/properties/Value") | + +## Value + + + +`Value` + +* is required + +* Type: `integer` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-signaturetypeholder-properties-value "https://template#/$defs/SignatureTypeHolder/properties/Value") + +### Value Type + +`integer` diff --git a/templates/syntax/nuclei-schema-defs-sliceormapslice-properties-value-items.mdx b/templates/syntax/nuclei-schema-defs-sliceormapslice-properties-value-items.mdx new file mode 100644 index 0000000..3a0dee1 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-sliceormapslice-properties-value-items.mdx @@ -0,0 +1,15 @@ +# Untitled string in undefined Schema + +```txt +https://template#/$defs/SliceOrMapSlice/properties/Value/items +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## items Type + +`string` diff --git a/templates/syntax/nuclei-schema-defs-sliceormapslice-properties-value.mdx b/templates/syntax/nuclei-schema-defs-sliceormapslice-properties-value.mdx new file mode 100644 index 0000000..37a25b4 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-sliceormapslice-properties-value.mdx @@ -0,0 +1,15 @@ +# Untitled array in undefined Schema + +```txt +https://template#/$defs/SliceOrMapSlice/properties/Value +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## Value Type + +`string[]` diff --git a/templates/syntax/nuclei-schema-defs-sliceormapslice.mdx b/templates/syntax/nuclei-schema-defs-sliceormapslice.mdx new file mode 100644 index 0000000..2e88879 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-sliceormapslice.mdx @@ -0,0 +1,58 @@ +# Untitled object in undefined Schema + +```txt +https://template#/$defs/SliceOrMapSlice +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## SliceOrMapSlice Type + +`object` ([Details](nuclei-schema-defs-sliceormapslice)) + +# SliceOrMapSlice Properties + +| Property | Type | Required | Nullable | Defined by | +| :-------------- | :------- | :------- | :------------- | :----------------------------------------------------------------------------------------------------------------------------------- | +| [Value](#value) | `array` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-sliceormapslice-properties-value "https://template#/$defs/SliceOrMapSlice/properties/Value") | +| [KV](#kv) | `object` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-orderedmapstringstring "https://template#/$defs/SliceOrMapSlice/properties/KV") | + +## Value + + + +`Value` + +* is required + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-sliceormapslice-properties-value "https://template#/$defs/SliceOrMapSlice/properties/Value") + +### Value Type + +`string[]` + +## KV + + + +`KV` + +* is required + +* Type: `object` ([Details](nuclei-schema-defs-orderedmapstringstring)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-orderedmapstringstring "https://template#/$defs/SliceOrMapSlice/properties/KV") + +### KV Type + +`object` ([Details](nuclei-schema-defs-orderedmapstringstring)) diff --git a/templates/syntax/nuclei-schema-defs-stringorslice-oneof-0.mdx b/templates/syntax/nuclei-schema-defs-stringorslice-oneof-0.mdx new file mode 100644 index 0000000..1b560d4 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-stringorslice-oneof-0.mdx @@ -0,0 +1,15 @@ +# Untitled string in undefined Schema + +```txt +https://template#/$defs/StringOrSlice/oneOf/0 +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## 0 Type + +`string` diff --git a/templates/syntax/nuclei-schema-defs-stringorslice-oneof-1.mdx b/templates/syntax/nuclei-schema-defs-stringorslice-oneof-1.mdx new file mode 100644 index 0000000..c6b8dc3 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-stringorslice-oneof-1.mdx @@ -0,0 +1,15 @@ +# Untitled array in undefined Schema + +```txt +https://template#/$defs/StringOrSlice/oneOf/1 +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## 1 Type + +`array` diff --git a/templates/syntax/nuclei-schema-defs-stringorslice.mdx b/templates/syntax/nuclei-schema-defs-stringorslice.mdx new file mode 100644 index 0000000..7796ee4 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-stringorslice.mdx @@ -0,0 +1,21 @@ +# tags to execute Schema + +```txt +https://template#/$defs/WorkflowTemplate/properties/tags +``` + +Tags to run template based on + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## tags Type + +merged type ([tags to execute](nuclei-schema-defs-stringorslice)) + +one (and only one) of + +* [Untitled string in undefined](nuclei-schema-defs-stringorslice-oneof-0 "check type definition") + +* [Untitled array in undefined](nuclei-schema-defs-stringorslice-oneof-1 "check type definition") diff --git a/templates/syntax/nuclei-schema-defs-template-anyof-0.mdx b/templates/syntax/nuclei-schema-defs-template-anyof-0.mdx new file mode 100644 index 0000000..8fdbde3 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-anyof-0.mdx @@ -0,0 +1,15 @@ +# Untitled schema Schema + +```txt +https://template#/$defs/Template/anyOf/0 +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## 0 Type + +unknown diff --git a/templates/syntax/nuclei-schema-defs-template-anyof-1.mdx b/templates/syntax/nuclei-schema-defs-template-anyof-1.mdx new file mode 100644 index 0000000..8fd42fc --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-anyof-1.mdx @@ -0,0 +1,15 @@ +# Untitled schema Schema + +```txt +https://template#/$defs/Template/anyOf/1 +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## 1 Type + +unknown diff --git a/templates/syntax/nuclei-schema-defs-template-anyof-10.mdx b/templates/syntax/nuclei-schema-defs-template-anyof-10.mdx new file mode 100644 index 0000000..00e1518 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-anyof-10.mdx @@ -0,0 +1,15 @@ +# Untitled schema Schema + +```txt +https://template#/$defs/Template/anyOf/10 +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## 10 Type + +unknown diff --git a/templates/syntax/nuclei-schema-defs-template-anyof-11.mdx b/templates/syntax/nuclei-schema-defs-template-anyof-11.mdx new file mode 100644 index 0000000..b3da090 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-anyof-11.mdx @@ -0,0 +1,15 @@ +# Untitled schema Schema + +```txt +https://template#/$defs/Template/anyOf/11 +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## 11 Type + +unknown diff --git a/templates/syntax/nuclei-schema-defs-template-anyof-12.mdx b/templates/syntax/nuclei-schema-defs-template-anyof-12.mdx new file mode 100644 index 0000000..e60baec --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-anyof-12.mdx @@ -0,0 +1,15 @@ +# Untitled schema Schema + +```txt +https://template#/$defs/Template/anyOf/12 +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## 12 Type + +unknown diff --git a/templates/syntax/nuclei-schema-defs-template-anyof-2.mdx b/templates/syntax/nuclei-schema-defs-template-anyof-2.mdx new file mode 100644 index 0000000..de62585 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-anyof-2.mdx @@ -0,0 +1,15 @@ +# Untitled schema Schema + +```txt +https://template#/$defs/Template/anyOf/2 +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## 2 Type + +unknown diff --git a/templates/syntax/nuclei-schema-defs-template-anyof-3.mdx b/templates/syntax/nuclei-schema-defs-template-anyof-3.mdx new file mode 100644 index 0000000..6ccc0da --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-anyof-3.mdx @@ -0,0 +1,15 @@ +# Untitled schema Schema + +```txt +https://template#/$defs/Template/anyOf/3 +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## 3 Type + +unknown diff --git a/templates/syntax/nuclei-schema-defs-template-anyof-4.mdx b/templates/syntax/nuclei-schema-defs-template-anyof-4.mdx new file mode 100644 index 0000000..1ac3dca --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-anyof-4.mdx @@ -0,0 +1,15 @@ +# Untitled schema Schema + +```txt +https://template#/$defs/Template/anyOf/4 +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## 4 Type + +unknown diff --git a/templates/syntax/nuclei-schema-defs-template-anyof-5.mdx b/templates/syntax/nuclei-schema-defs-template-anyof-5.mdx new file mode 100644 index 0000000..f14b376 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-anyof-5.mdx @@ -0,0 +1,15 @@ +# Untitled schema Schema + +```txt +https://template#/$defs/Template/anyOf/5 +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## 5 Type + +unknown diff --git a/templates/syntax/nuclei-schema-defs-template-anyof-6.mdx b/templates/syntax/nuclei-schema-defs-template-anyof-6.mdx new file mode 100644 index 0000000..a046c82 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-anyof-6.mdx @@ -0,0 +1,15 @@ +# Untitled schema Schema + +```txt +https://template#/$defs/Template/anyOf/6 +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## 6 Type + +unknown diff --git a/templates/syntax/nuclei-schema-defs-template-anyof-7.mdx b/templates/syntax/nuclei-schema-defs-template-anyof-7.mdx new file mode 100644 index 0000000..a1ccce4 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-anyof-7.mdx @@ -0,0 +1,15 @@ +# Untitled schema Schema + +```txt +https://template#/$defs/Template/anyOf/7 +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## 7 Type + +unknown diff --git a/templates/syntax/nuclei-schema-defs-template-anyof-8.mdx b/templates/syntax/nuclei-schema-defs-template-anyof-8.mdx new file mode 100644 index 0000000..4d6ad09 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-anyof-8.mdx @@ -0,0 +1,15 @@ +# Untitled schema Schema + +```txt +https://template#/$defs/Template/anyOf/8 +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## 8 Type + +unknown diff --git a/templates/syntax/nuclei-schema-defs-template-anyof-9.mdx b/templates/syntax/nuclei-schema-defs-template-anyof-9.mdx new file mode 100644 index 0000000..37d4580 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-anyof-9.mdx @@ -0,0 +1,15 @@ +# Untitled schema Schema + +```txt +https://template#/$defs/Template/anyOf/9 +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## 9 Type + +unknown diff --git a/templates/syntax/nuclei-schema-defs-template-properties-code-snippets-to-make.mdx b/templates/syntax/nuclei-schema-defs-template-properties-code-snippets-to-make.mdx new file mode 100644 index 0000000..fb747c6 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-properties-code-snippets-to-make.mdx @@ -0,0 +1,15 @@ +# code snippets to make Schema + +```txt +https://template#/$defs/Template/properties/code +``` + +Code snippets + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## code Type + +`object[]` ([Details](nuclei-schema-defs-request)) diff --git a/templates/syntax/nuclei-schema-defs-template-properties-constant-for-the-template.mdx b/templates/syntax/nuclei-schema-defs-template-properties-constant-for-the-template.mdx new file mode 100644 index 0000000..fa11806 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-properties-constant-for-the-template.mdx @@ -0,0 +1,28 @@ +# constant for the template Schema + +```txt +https://template#/$defs/Template/properties/constants +``` + +Constants are the global constants that once defined here can be used anywhere in the template +It can be used in same way as variables but only difference is that constants cannot be overridden by -V flag at runtime +Example: + +```yaml +constants: + exploit: 'x0x0x0x0x0x0x +``` + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## constants Type + +`object` ([constant for the template](nuclei-schema-defs-template-properties-constant-for-the-template)) + +## constants Examples + +```json +"\n\texploit: 'x0x0x0x0x0x0x" +``` diff --git a/templates/syntax/nuclei-schema-defs-template-properties-dns-requests-to-make.mdx b/templates/syntax/nuclei-schema-defs-template-properties-dns-requests-to-make.mdx new file mode 100644 index 0000000..163969f --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-properties-dns-requests-to-make.mdx @@ -0,0 +1,15 @@ +# dns requests to make Schema + +```txt +https://template#/$defs/Template/properties/dns +``` + +DNS requests to make for the template + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## dns Type + +`object[]` ([Details](nuclei-schema-defs-request)) diff --git a/templates/syntax/nuclei-schema-defs-template-properties-file-requests-to-make.mdx b/templates/syntax/nuclei-schema-defs-template-properties-file-requests-to-make.mdx new file mode 100644 index 0000000..25191cf --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-properties-file-requests-to-make.mdx @@ -0,0 +1,15 @@ +# file requests to make Schema + +```txt +https://template#/$defs/Template/properties/file +``` + +File requests to make for the template + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## file Type + +`object[]` ([Details](nuclei-schema-defs-request)) diff --git a/templates/syntax/nuclei-schema-defs-template-properties-headless-requests-to-make.mdx b/templates/syntax/nuclei-schema-defs-template-properties-headless-requests-to-make.mdx new file mode 100644 index 0000000..119447b --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-properties-headless-requests-to-make.mdx @@ -0,0 +1,15 @@ +# headless requests to make Schema + +```txt +https://template#/$defs/Template/properties/headless +``` + +Headless requests to make for the template + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## headless Type + +`object[]` ([Details](nuclei-schema-defs-request)) diff --git a/templates/syntax/nuclei-schema-defs-template-properties-http-requests-to-make-1.mdx b/templates/syntax/nuclei-schema-defs-template-properties-http-requests-to-make-1.mdx new file mode 100644 index 0000000..a13693d --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-properties-http-requests-to-make-1.mdx @@ -0,0 +1,15 @@ +# http requests to make Schema + +```txt +https://template#/$defs/Template/properties/http +``` + +HTTP requests to make for the template + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## http Type + +`object[]` ([Details](nuclei-schema-defs-request)) diff --git a/templates/syntax/nuclei-schema-defs-template-properties-http-requests-to-make.mdx b/templates/syntax/nuclei-schema-defs-template-properties-http-requests-to-make.mdx new file mode 100644 index 0000000..d5dca8f --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-properties-http-requests-to-make.mdx @@ -0,0 +1,15 @@ +# http requests to make Schema + +```txt +https://template#/$defs/Template/properties/requests +``` + +HTTP requests to make for the template + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :--------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Deprecated | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## requests Type + +`object[]` ([Details](nuclei-schema-defs-request)) diff --git a/templates/syntax/nuclei-schema-defs-template-properties-id-of-the-template.mdx b/templates/syntax/nuclei-schema-defs-template-properties-id-of-the-template.mdx new file mode 100644 index 0000000..81ea57a --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-properties-id-of-the-template.mdx @@ -0,0 +1,50 @@ +# id of the template Schema + +```txt +https://template#/$defs/Template/properties/id +``` + +ID is the unique id for the template. + +### Good IDs + +A good ID uniquely identifies what the requests in the template +are doing. Let's say you have a template that identifies a git-config +file on the webservers, a good name would be `git-config-exposure`. Another +example name is `azure-apps-nxdomain-takeover` + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## id Type + +`string` ([id of the template](nuclei-schema-defs-template-properties-id-of-the-template)) + +## id Constraints + +**pattern**: the string must match the following regular expression: + +```regexp +^([a-zA-Z0-9]+[-_])*[a-zA-Z0-9]+$ +``` + +[try pattern](https://regexr.com/?expression=%5E\(%5Ba-zA-Z0-9%5D%2B%5B-_%5D\)*%5Ba-zA-Z0-9%5D%2B%24 "try regular expression with regexr.com") + +## id Examples + +```json +"example-id" +``` + +```json +"git-config-exposure" +``` + +```json +"azure-apps-nxdomain-takeover" +``` + +```json +"cve-2021-19520" +``` diff --git a/templates/syntax/nuclei-schema-defs-template-properties-javascript-requests-to-make.mdx b/templates/syntax/nuclei-schema-defs-template-properties-javascript-requests-to-make.mdx new file mode 100644 index 0000000..2aafa3e --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-properties-javascript-requests-to-make.mdx @@ -0,0 +1,15 @@ +# javascript requests to make Schema + +```txt +https://template#/$defs/Template/properties/javascript +``` + +Javascript requests to make for the template + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## javascript Type + +`object[]` ([Details](nuclei-schema-defs-request)) diff --git a/templates/syntax/nuclei-schema-defs-template-properties-list-of-workflows-to-execute.mdx b/templates/syntax/nuclei-schema-defs-template-properties-list-of-workflows-to-execute.mdx new file mode 100644 index 0000000..c0f32e2 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-properties-list-of-workflows-to-execute.mdx @@ -0,0 +1,15 @@ +# list of workflows to execute Schema + +```txt +https://template#/$defs/Template/properties/workflows +``` + +List of workflows to execute for template + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## workflows Type + +`object[]` ([Details](nuclei-schema-defs-workflowtemplate)) diff --git a/templates/syntax/nuclei-schema-defs-template-properties-mark-requests-as-self-contained.mdx b/templates/syntax/nuclei-schema-defs-template-properties-mark-requests-as-self-contained.mdx new file mode 100644 index 0000000..21531fb --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-properties-mark-requests-as-self-contained.mdx @@ -0,0 +1,31 @@ +# mark requests as self-contained Schema + +```txt +https://template#/$defs/Template/properties/self-contained +``` + +Self-contained marks all requests in this template as independent of input which means input/target is not required for execution of template +but other variables defined in template need to be explicitly set using -V flag +Default value is false +Note: self-contained templates only run once regardless of how many targets where provided to nuclei +Example: + +```yaml +self-contained: true +``` + +Full example template of self-contained is available at + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## self-contained Type + +`boolean` ([mark requests as self-contained](nuclei-schema-defs-template-properties-mark-requests-as-self-contained)) + +## self-contained Examples + +```json +true +``` diff --git a/templates/syntax/nuclei-schema-defs-template-properties-network-requests-to-make.mdx b/templates/syntax/nuclei-schema-defs-template-properties-network-requests-to-make.mdx new file mode 100644 index 0000000..2560a22 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-properties-network-requests-to-make.mdx @@ -0,0 +1,15 @@ +# network requests to make Schema + +```txt +https://template#/$defs/Template/properties/network +``` + +Network requests to make for the template + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :--------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Deprecated | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## network Type + +`object[]` ([Details](nuclei-schema-defs-request)) diff --git a/templates/syntax/nuclei-schema-defs-template-properties-networktcp-requests-to-make.mdx b/templates/syntax/nuclei-schema-defs-template-properties-networktcp-requests-to-make.mdx new file mode 100644 index 0000000..f712cfd --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-properties-networktcp-requests-to-make.mdx @@ -0,0 +1,15 @@ +# network(tcp) requests to make Schema + +```txt +https://template#/$defs/Template/properties/tcp +``` + +Network requests to make for the template + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## tcp Type + +`object[]` ([Details](nuclei-schema-defs-request)) diff --git a/templates/syntax/nuclei-schema-defs-template-properties-ssl-requests-to-make.mdx b/templates/syntax/nuclei-schema-defs-template-properties-ssl-requests-to-make.mdx new file mode 100644 index 0000000..cc672a2 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-properties-ssl-requests-to-make.mdx @@ -0,0 +1,15 @@ +# ssl requests to make Schema + +```txt +https://template#/$defs/Template/properties/ssl +``` + +SSL requests to make for the template + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## ssl Type + +`object[]` ([Details](nuclei-schema-defs-request)) diff --git a/templates/syntax/nuclei-schema-defs-template-properties-stop-at-first-match.mdx b/templates/syntax/nuclei-schema-defs-template-properties-stop-at-first-match.mdx new file mode 100644 index 0000000..828441f --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-properties-stop-at-first-match.mdx @@ -0,0 +1,29 @@ +# stop at first match Schema + +```txt +https://template#/$defs/Template/properties/stop-at-first-match +``` + +stop-at-first-match stops the execution of template as soon as first match/result was found in a template given that template was sending multiple requests +this is required in case of default-login , brute-force and even detection templates where multiple requests are sent from template but we want to exit as soon as first match/result was found +Example: + +```yaml +stop-at-first-match: true +``` + +Full example template of stop-at-first-match is available at + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## stop-at-first-match Type + +`boolean` ([stop at first match](nuclei-schema-defs-template-properties-stop-at-first-match)) + +## stop-at-first-match Examples + +```json +true +``` diff --git a/templates/syntax/nuclei-schema-defs-template-properties-template-execution-flow-in-js.mdx b/templates/syntax/nuclei-schema-defs-template-properties-template-execution-flow-in-js.mdx new file mode 100644 index 0000000..5a62933 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-properties-template-execution-flow-in-js.mdx @@ -0,0 +1,33 @@ +# template execution flow in js Schema + +```txt +https://template#/$defs/Template/properties/flow +``` + +Flow describes how multiple request-blocks/protocols should be combined together and executed +It is a javascript code where each protocol is a function and all request-blocks are indexed by their corresponding index in request array +Example: +flow: http(1) && http(2) +means that second http request will be executed only if first http request is successful (aka matched) + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## flow Type + +`string` ([template execution flow in js](nuclei-schema-defs-template-properties-template-execution-flow-in-js)) + +## flow Examples + +```json +"'flow: http(0) && http(1)'" +``` + +```json +"http(1) && http(2)" +``` + +```json +" | # example-vhost-enum\n\tssl(); // -> execute all ssl protocol requests\n\tdns(); // -> execute all dns protocol requests\n\tfor (let got of template.domains) { // -> iterate over 'domains' array variable\n\t\tset('vhost', got); // -> set 'vhost' variable to current domain\n\t\thttp(); // -> execute all http protocol requests\n\t}\n" +``` diff --git a/templates/syntax/nuclei-schema-defs-template-properties-variables-for-the-http-request.mdx b/templates/syntax/nuclei-schema-defs-template-properties-variables-for-the-http-request.mdx new file mode 100644 index 0000000..88bc765 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-properties-variables-for-the-http-request.mdx @@ -0,0 +1,38 @@ +# variables for the http request Schema + +```txt +https://template#/$defs/Template/properties/variables +``` + +Variables are the global variables that once defined here can be used anywhere in the template +Variables are evaluated in the order they are defined so one variable can be referenced in another variable +Variables are evaluated before sending every requests so one can reference any variables that are available at runtime and they will be evaluate and used when referenced +Example: + +```yaml +variables: + oast: {{interact-sh}} + payload: "{{base64(oast)}}" +``` + +Full example template of variables is available at +Note: - +These variables can be overridden by -V flag at runtime if needed + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## variables Type + +`object` ([variables for the http request](nuclei-schema-defs-template-properties-variables-for-the-http-request)) + +## variables Examples + +```json +"\n\tdomain: \"{{FQDN}}\"\n\temail: pdteam@{{domain}}" +``` + +```json +"\n\toast: \"{{interact-sh}}\"\n\tpayload: \"{{base64(oast)}}\"" +``` diff --git a/templates/syntax/nuclei-schema-defs-template-properties-websocket-requests-to-make.mdx b/templates/syntax/nuclei-schema-defs-template-properties-websocket-requests-to-make.mdx new file mode 100644 index 0000000..e411b8a --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-properties-websocket-requests-to-make.mdx @@ -0,0 +1,15 @@ +# websocket requests to make Schema + +```txt +https://template#/$defs/Template/properties/websocket +``` + +Websocket requests to make for the template + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## websocket Type + +`object[]` ([Details](nuclei-schema-defs-request)) diff --git a/templates/syntax/nuclei-schema-defs-template-properties-whois-requests-to-make.mdx b/templates/syntax/nuclei-schema-defs-template-properties-whois-requests-to-make.mdx new file mode 100644 index 0000000..65be573 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template-properties-whois-requests-to-make.mdx @@ -0,0 +1,15 @@ +# whois requests to make Schema + +```txt +https://template#/$defs/Template/properties/whois +``` + +WHOIS requests to make for the template + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## whois Type + +`object[]` ([Details](nuclei-schema-defs-request)) diff --git a/templates/syntax/nuclei-schema-defs-template.mdx b/templates/syntax/nuclei-schema-defs-template.mdx new file mode 100644 index 0000000..5d47de9 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-template.mdx @@ -0,0 +1,580 @@ +# Untitled object in undefined Schema + +```txt +https://template#/$defs/Template +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## Template Type + +`object` ([Details](nuclei-schema-defs-template)) + +any of + +* [Untitled schema](nuclei-schema-defs-template-anyof-0 "check type definition") + +* [Untitled schema](nuclei-schema-defs-template-anyof-1 "check type definition") + +* [Untitled schema](nuclei-schema-defs-template-anyof-2 "check type definition") + +* [Untitled schema](nuclei-schema-defs-template-anyof-3 "check type definition") + +* [Untitled schema](nuclei-schema-defs-template-anyof-4 "check type definition") + +* [Untitled schema](nuclei-schema-defs-template-anyof-5 "check type definition") + +* [Untitled schema](nuclei-schema-defs-template-anyof-6 "check type definition") + +* [Untitled schema](nuclei-schema-defs-template-anyof-7 "check type definition") + +* [Untitled schema](nuclei-schema-defs-template-anyof-8 "check type definition") + +* [Untitled schema](nuclei-schema-defs-template-anyof-9 "check type definition") + +* [Untitled schema](nuclei-schema-defs-template-anyof-10 "check type definition") + +* [Untitled schema](nuclei-schema-defs-template-anyof-11 "check type definition") + +* [Untitled schema](nuclei-schema-defs-template-anyof-12 "check type definition") + +# Template Properties + +| Property | Type | Required | Nullable | Defined by | +| :------------------------------------------ | :-------- | :------- | :------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [id](#id) | `string` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-id-of-the-template "https://template#/$defs/Template/properties/id") | +| [info](#info) | `object` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-info "https://template#/$defs/Template/properties/info") | +| [flow](#flow) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-template-execution-flow-in-js "https://template#/$defs/Template/properties/flow") | +| [requests](#requests) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-http-requests-to-make "https://template#/$defs/Template/properties/requests") | +| [http](#http) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-http-requests-to-make-1 "https://template#/$defs/Template/properties/http") | +| [dns](#dns) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-dns-requests-to-make "https://template#/$defs/Template/properties/dns") | +| [file](#file) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-file-requests-to-make "https://template#/$defs/Template/properties/file") | +| [network](#network) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-network-requests-to-make "https://template#/$defs/Template/properties/network") | +| [tcp](#tcp) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-networktcp-requests-to-make "https://template#/$defs/Template/properties/tcp") | +| [headless](#headless) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-headless-requests-to-make "https://template#/$defs/Template/properties/headless") | +| [ssl](#ssl) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-ssl-requests-to-make "https://template#/$defs/Template/properties/ssl") | +| [websocket](#websocket) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-websocket-requests-to-make "https://template#/$defs/Template/properties/websocket") | +| [whois](#whois) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-whois-requests-to-make "https://template#/$defs/Template/properties/whois") | +| [code](#code) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-code-snippets-to-make "https://template#/$defs/Template/properties/code") | +| [javascript](#javascript) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-javascript-requests-to-make "https://template#/$defs/Template/properties/javascript") | +| [workflows](#workflows) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-list-of-workflows-to-execute "https://template#/$defs/Template/properties/workflows") | +| [self-contained](#self-contained) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-mark-requests-as-self-contained "https://template#/$defs/Template/properties/self-contained") | +| [stop-at-first-match](#stop-at-first-match) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-stop-at-first-match "https://template#/$defs/Template/properties/stop-at-first-match") | +| [signature](#signature) | `object` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-signaturetypeholder "https://template#/$defs/Template/properties/signature") | +| [variables](#variables) | `object` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-variables-for-the-http-request "https://template#/$defs/Template/properties/variables") | +| [constants](#constants) | `object` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-constant-for-the-template "https://template#/$defs/Template/properties/constants") | + +## id + +ID is the unique id for the template. + +### Good IDs + +A good ID uniquely identifies what the requests in the template +are doing. Let's say you have a template that identifies a git-config +file on the webservers, a good name would be `git-config-exposure`. Another +example name is `azure-apps-nxdomain-takeover` + +`id` + +* is required + +* Type: `string` ([id of the template](nuclei-schema-defs-template-properties-id-of-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-id-of-the-template "https://template#/$defs/Template/properties/id") + +### id Type + +`string` ([id of the template](nuclei-schema-defs-template-properties-id-of-the-template)) + +### id Constraints + +**pattern**: the string must match the following regular expression: + +```regexp +^([a-zA-Z0-9]+[-_])*[a-zA-Z0-9]+$ +``` + +[try pattern](https://regexr.com/?expression=%5E\(%5Ba-zA-Z0-9%5D%2B%5B-_%5D\)*%5Ba-zA-Z0-9%5D%2B%24 "try regular expression with regexr.com") + +### id Examples + +```json +"example-id" +``` + +```json +"git-config-exposure" +``` + +```json +"azure-apps-nxdomain-takeover" +``` + +```json +"cve-2021-19520" +``` + +## info + +Info contains the required metadata information about the template +It is meant to provide basic but necessary info like name, author , severity +along with many other fields like metadata, classification etc +Note: - +For a template to be valid name,author,severity of `info` section must be set + +`info` + +* is required + +* Type: `object` ([info for the template](nuclei-schema-defs-info)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-info "https://template#/$defs/Template/properties/info") + +### info Type + +`object` ([info for the template](nuclei-schema-defs-info)) + +### info Examples + +```json +"\n\tname: Example Template\n\tauthor: pdteam\n\tseverity: info\n\tdescription: This is an example template" +``` + +```json +"\n\tname: example-template\n\tauthor: pdteam\n\tseverity: unknown\n\tdescription: Example description of the template\n\timpact: Impact of the template\n\treference: \n\t - https://example.com\n\tmetadata: \n\t max-request: 1\n\ttags: http" +``` + +## flow + +Flow describes how multiple request-blocks/protocols should be combined together and executed +It is a javascript code where each protocol is a function and all request-blocks are indexed by their corresponding index in request array +Example: +flow: http(1) && http(2) +means that second http request will be executed only if first http request is successful (aka matched) + +`flow` + +* is optional + +* Type: `string` ([template execution flow in js](nuclei-schema-defs-template-properties-template-execution-flow-in-js)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-template-execution-flow-in-js "https://template#/$defs/Template/properties/flow") + +### flow Type + +`string` ([template execution flow in js](nuclei-schema-defs-template-properties-template-execution-flow-in-js)) + +### flow Examples + +```json +"'flow: http(0) && http(1)'" +``` + +```json +"http(1) && http(2)" +``` + +```json +" | # example-vhost-enum\n\tssl(); // -> execute all ssl protocol requests\n\tdns(); // -> execute all dns protocol requests\n\tfor (let got of template.domains) { // -> iterate over 'domains' array variable\n\t\tset('vhost', got); // -> set 'vhost' variable to current domain\n\t\thttp(); // -> execute all http protocol requests\n\t}\n" +``` + +## requests + +HTTP requests to make for the template + +`requests` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-http-requests-to-make "https://template#/$defs/Template/properties/requests") + +### requests Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +## http + +HTTP requests to make for the template + +`http` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-http-requests-to-make-1 "https://template#/$defs/Template/properties/http") + +### http Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +## dns + +DNS requests to make for the template + +`dns` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-dns-requests-to-make "https://template#/$defs/Template/properties/dns") + +### dns Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +## file + +File requests to make for the template + +`file` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-file-requests-to-make "https://template#/$defs/Template/properties/file") + +### file Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +## network + +Network requests to make for the template + +`network` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-network-requests-to-make "https://template#/$defs/Template/properties/network") + +### network Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +## tcp + +Network requests to make for the template + +`tcp` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-networktcp-requests-to-make "https://template#/$defs/Template/properties/tcp") + +### tcp Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +## headless + +Headless requests to make for the template + +`headless` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-headless-requests-to-make "https://template#/$defs/Template/properties/headless") + +### headless Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +## ssl + +SSL requests to make for the template + +`ssl` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-ssl-requests-to-make "https://template#/$defs/Template/properties/ssl") + +### ssl Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +## websocket + +Websocket requests to make for the template + +`websocket` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-websocket-requests-to-make "https://template#/$defs/Template/properties/websocket") + +### websocket Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +## whois + +WHOIS requests to make for the template + +`whois` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-whois-requests-to-make "https://template#/$defs/Template/properties/whois") + +### whois Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +## code + +Code snippets + +`code` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-code-snippets-to-make "https://template#/$defs/Template/properties/code") + +### code Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +## javascript + +Javascript requests to make for the template + +`javascript` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-javascript-requests-to-make "https://template#/$defs/Template/properties/javascript") + +### javascript Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +## workflows + +List of workflows to execute for template + +`workflows` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-workflowtemplate)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-list-of-workflows-to-execute "https://template#/$defs/Template/properties/workflows") + +### workflows Type + +`object[]` ([Details](nuclei-schema-defs-workflowtemplate)) + +## self-contained + +Self-contained marks all requests in this template as independent of input which means input/target is not required for execution of template +but other variables defined in template need to be explicitly set using -V flag +Default value is false +Note: self-contained templates only run once regardless of how many targets where provided to nuclei +Example: + +```yaml +self-contained: true +``` + +Full example template of self-contained is available at + +`self-contained` + +* is optional + +* Type: `boolean` ([mark requests as self-contained](nuclei-schema-defs-template-properties-mark-requests-as-self-contained)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-mark-requests-as-self-contained "https://template#/$defs/Template/properties/self-contained") + +### self-contained Type + +`boolean` ([mark requests as self-contained](nuclei-schema-defs-template-properties-mark-requests-as-self-contained)) + +### self-contained Examples + +```json +true +``` + +## stop-at-first-match + +stop-at-first-match stops the execution of template as soon as first match/result was found in a template given that template was sending multiple requests +this is required in case of default-login , brute-force and even detection templates where multiple requests are sent from template but we want to exit as soon as first match/result was found +Example: + +```yaml +stop-at-first-match: true +``` + +Full example template of stop-at-first-match is available at + +`stop-at-first-match` + +* is optional + +* Type: `boolean` ([stop at first match](nuclei-schema-defs-template-properties-stop-at-first-match)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-stop-at-first-match "https://template#/$defs/Template/properties/stop-at-first-match") + +### stop-at-first-match Type + +`boolean` ([stop at first match](nuclei-schema-defs-template-properties-stop-at-first-match)) + +### stop-at-first-match Examples + +```json +true +``` + +## signature + +Signature is the HTTP Request signature Method + +`signature` + +* is optional + +* Type: `object` ([signature is the http request signature method](nuclei-schema-defs-signaturetypeholder)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-signaturetypeholder "https://template#/$defs/Template/properties/signature") + +### signature Type + +`object` ([signature is the http request signature method](nuclei-schema-defs-signaturetypeholder)) + +## variables + +Variables are the global variables that once defined here can be used anywhere in the template +Variables are evaluated in the order they are defined so one variable can be referenced in another variable +Variables are evaluated before sending every requests so one can reference any variables that are available at runtime and they will be evaluate and used when referenced +Example: + +```yaml +variables: + oast: {{interact-sh}} + payload: "{{base64(oast)}}" +``` + +Full example template of variables is available at +Note: - +These variables can be overridden by -V flag at runtime if needed + +`variables` + +* is optional + +* Type: `object` ([variables for the http request](nuclei-schema-defs-template-properties-variables-for-the-http-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-variables-for-the-http-request "https://template#/$defs/Template/properties/variables") + +### variables Type + +`object` ([variables for the http request](nuclei-schema-defs-template-properties-variables-for-the-http-request)) + +### variables Examples + +```json +"\n\tdomain: \"{{FQDN}}\"\n\temail: pdteam@{{domain}}" +``` + +```json +"\n\toast: \"{{interact-sh}}\"\n\tpayload: \"{{base64(oast)}}\"" +``` + +## constants + +Constants are the global constants that once defined here can be used anywhere in the template +It can be used in same way as variables but only difference is that constants cannot be overridden by -V flag at runtime +Example: + +```yaml +constants: + exploit: 'x0x0x0x0x0x0x +``` + +`constants` + +* is optional + +* Type: `object` ([constant for the template](nuclei-schema-defs-template-properties-constant-for-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-constant-for-the-template "https://template#/$defs/Template/properties/constants") + +### constants Type + +`object` ([constant for the template](nuclei-schema-defs-template-properties-constant-for-the-template)) + +### constants Examples + +```json +"\n\texploit: 'x0x0x0x0x0x0x" +``` diff --git a/templates/syntax/nuclei-schema-defs-variable.mdx b/templates/syntax/nuclei-schema-defs-variable.mdx new file mode 100644 index 0000000..ae0e92b --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-variable.mdx @@ -0,0 +1,20 @@ +# Untitled object in undefined Schema + +```txt +https://template#/$defs/Variable +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## Variable Type + +`object` ([Details](nuclei-schema-defs-variable)) + +# Variable Properties + +| Property | Type | Required | Nullable | Defined by | +| :------- | :--- | :------- | :------- | :--------- | diff --git a/templates/syntax/nuclei-schema-defs-workflowtemplate-properties-name-based-template-result-matchers.mdx b/templates/syntax/nuclei-schema-defs-workflowtemplate-properties-name-based-template-result-matchers.mdx new file mode 100644 index 0000000..bcfd21d --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-workflowtemplate-properties-name-based-template-result-matchers.mdx @@ -0,0 +1,15 @@ +# name based template result matchers Schema + +```txt +https://template#/$defs/WorkflowTemplate/properties/matchers +``` + +Matchers perform name based matching to run subtemplates for a workflow + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## matchers Type + +`object[]` ([Details](nuclei-schema-defs-matcher)) diff --git a/templates/syntax/nuclei-schema-defs-workflowtemplate-properties-subtemplate-based-result-matchers.mdx b/templates/syntax/nuclei-schema-defs-workflowtemplate-properties-subtemplate-based-result-matchers.mdx new file mode 100644 index 0000000..412a50e --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-workflowtemplate-properties-subtemplate-based-result-matchers.mdx @@ -0,0 +1,15 @@ +# subtemplate based result matchers Schema + +```txt +https://template#/$defs/WorkflowTemplate/properties/subtemplates +``` + +Subtemplates are ran if the template field Template matches + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## subtemplates Type + +`object[]` ([Details](nuclei-schema-defs-workflowtemplate)) diff --git a/templates/syntax/nuclei-schema-defs-workflowtemplate-properties-templatedirectory-to-execute.mdx b/templates/syntax/nuclei-schema-defs-workflowtemplate-properties-templatedirectory-to-execute.mdx new file mode 100644 index 0000000..73867f6 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-workflowtemplate-properties-templatedirectory-to-execute.mdx @@ -0,0 +1,15 @@ +# template/directory to execute Schema + +```txt +https://template#/$defs/WorkflowTemplate/properties/template +``` + +Template or directory to execute as part of workflow + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## template Type + +`string` ([template/directory to execute](nuclei-schema-defs-workflowtemplate-properties-templatedirectory-to-execute)) diff --git a/templates/syntax/nuclei-schema-defs-workflowtemplate.mdx b/templates/syntax/nuclei-schema-defs-workflowtemplate.mdx new file mode 100644 index 0000000..33ad877 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs-workflowtemplate.mdx @@ -0,0 +1,102 @@ +# Untitled object in undefined Schema + +```txt +https://template#/$defs/WorkflowTemplate +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :----------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | No | Forbidden | Forbidden | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## WorkflowTemplate Type + +`object` ([Details](nuclei-schema-defs-workflowtemplate)) + +# WorkflowTemplate Properties + +| Property | Type | Required | Nullable | Defined by | +| :---------------------------- | :------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| [template](#template) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-workflowtemplate-properties-templatedirectory-to-execute "https://template#/$defs/WorkflowTemplate/properties/template") | +| [tags](#tags) | Merged | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-stringorslice "https://template#/$defs/WorkflowTemplate/properties/tags") | +| [matchers](#matchers) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-workflowtemplate-properties-name-based-template-result-matchers "https://template#/$defs/WorkflowTemplate/properties/matchers") | +| [subtemplates](#subtemplates) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-workflowtemplate-properties-subtemplate-based-result-matchers "https://template#/$defs/WorkflowTemplate/properties/subtemplates") | + +## template + +Template or directory to execute as part of workflow + +`template` + +* is optional + +* Type: `string` ([template/directory to execute](nuclei-schema-defs-workflowtemplate-properties-templatedirectory-to-execute)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-workflowtemplate-properties-templatedirectory-to-execute "https://template#/$defs/WorkflowTemplate/properties/template") + +### template Type + +`string` ([template/directory to execute](nuclei-schema-defs-workflowtemplate-properties-templatedirectory-to-execute)) + +## tags + +Tags to run template based on + +`tags` + +* is optional + +* Type: merged type ([tags to execute](nuclei-schema-defs-stringorslice)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-stringorslice "https://template#/$defs/WorkflowTemplate/properties/tags") + +### tags Type + +merged type ([tags to execute](nuclei-schema-defs-stringorslice)) + +one (and only one) of + +* [Untitled string in undefined](nuclei-schema-defs-stringorslice-oneof-0 "check type definition") + +* [Untitled array in undefined](nuclei-schema-defs-stringorslice-oneof-1 "check type definition") + +## matchers + +Matchers perform name based matching to run subtemplates for a workflow + +`matchers` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-matcher)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-workflowtemplate-properties-name-based-template-result-matchers "https://template#/$defs/WorkflowTemplate/properties/matchers") + +### matchers Type + +`object[]` ([Details](nuclei-schema-defs-matcher)) + +## subtemplates + +Subtemplates are ran if the template field Template matches + +`subtemplates` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-workflowtemplate)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-workflowtemplate-properties-subtemplate-based-result-matchers "https://template#/$defs/WorkflowTemplate/properties/subtemplates") + +### subtemplates Type + +`object[]` ([Details](nuclei-schema-defs-workflowtemplate)) diff --git a/templates/syntax/nuclei-schema-defs.mdx b/templates/syntax/nuclei-schema-defs.mdx new file mode 100644 index 0000000..9d6db91 --- /dev/null +++ b/templates/syntax/nuclei-schema-defs.mdx @@ -0,0 +1,15 @@ +# Untitled schema Schema + +```txt +https://template#/$defs +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :------------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json\*](../out/nuclei-schema.schema.json "open original schema") | + +## $defs Type + +unknown diff --git a/templates/syntax/nuclei-schema.mdx b/templates/syntax/nuclei-schema.mdx new file mode 100644 index 0000000..9e33c10 --- /dev/null +++ b/templates/syntax/nuclei-schema.mdx @@ -0,0 +1,2937 @@ +# Untitled schema Schema + +```txt +https://template +``` + + + +| Abstract | Extensible | Status | Identifiable | Custom Properties | Additional Properties | Access Restrictions | Defined In | +| :------------------ | :--------- | :------------- | :---------------------- | :---------------- | :-------------------- | :------------------ | :----------------------------------------------------------------------------------- | +| Can be instantiated | No | Unknown status | Unknown identifiability | Forbidden | Allowed | none | [nuclei-schema.schema.json](../out/nuclei-schema.schema.json "open original schema") | + +## Untitled schema Type + +unknown + +# Untitled schema Definitions + +## Definitions group AttackTypeHolder + +Reference this group by using + +```json +{"$ref":"https://template#/$defs/AttackTypeHolder"} +``` + +| Property | Type | Required | Nullable | Defined by | +| :-------------- | :-------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------- | +| [Value](#value) | `integer` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-attacktypeholder-properties-value "https://template#/$defs/AttackTypeHolder/properties/Value") | + +### Value + + + +`Value` + +* is required + +* Type: `integer` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-attacktypeholder-properties-value "https://template#/$defs/AttackTypeHolder/properties/Value") + +#### Value Type + +`integer` + +## Definitions group Classification + +Reference this group by using + +```json +{"$ref":"https://template#/$defs/Classification"} +``` + +| Property | Type | Required | Nullable | Defined by | +| :---------------------------------- | :------- | :------- | :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [cve-id](#cve-id) | Merged | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-stringorslice "https://template#/$defs/Classification/properties/cve-id") | +| [cwe-id](#cwe-id) | Merged | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-stringorslice "https://template#/$defs/Classification/properties/cwe-id") | +| [cvss-metrics](#cvss-metrics) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-classification-properties-cvss-metrics-for-the-template "https://template#/$defs/Classification/properties/cvss-metrics") | +| [cvss-score](#cvss-score) | `number` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-classification-properties-cvss-score-for-the-template "https://template#/$defs/Classification/properties/cvss-score") | +| [epss-score](#epss-score) | `number` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-classification-properties-epss-score-for-the-template "https://template#/$defs/Classification/properties/epss-score") | +| [epss-percentile](#epss-percentile) | `number` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-classification-properties-epss-percentile-for-the-template "https://template#/$defs/Classification/properties/epss-percentile") | +| [cpe](#cpe) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-classification-properties-cpe-for-the-template "https://template#/$defs/Classification/properties/cpe") | + +### cve-id + +CVE IDs for the template + +`cve-id` + +* is optional + +* Type: merged type ([cve ids for the template](nuclei-schema-defs-stringorslice)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-stringorslice "https://template#/$defs/Classification/properties/cve-id") + +#### cve-id Type + +merged type ([cve ids for the template](nuclei-schema-defs-stringorslice)) + +one (and only one) of + +* [Untitled string in undefined](nuclei-schema-defs-stringorslice-oneof-0 "check type definition") + +* [Untitled array in undefined](nuclei-schema-defs-stringorslice-oneof-1 "check type definition") + +### cwe-id + +CWE IDs for the template + +`cwe-id` + +* is optional + +* Type: merged type ([cwe ids for the template](nuclei-schema-defs-stringorslice)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-stringorslice "https://template#/$defs/Classification/properties/cwe-id") + +#### cwe-id Type + +merged type ([cwe ids for the template](nuclei-schema-defs-stringorslice)) + +one (and only one) of + +* [Untitled string in undefined](nuclei-schema-defs-stringorslice-oneof-0 "check type definition") + +* [Untitled array in undefined](nuclei-schema-defs-stringorslice-oneof-1 "check type definition") + +### cvss-metrics + +CVSS Metrics for the template + +`cvss-metrics` + +* is optional + +* Type: `string` ([cvss metrics for the template](nuclei-schema-defs-classification-properties-cvss-metrics-for-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-classification-properties-cvss-metrics-for-the-template "https://template#/$defs/Classification/properties/cvss-metrics") + +#### cvss-metrics Type + +`string` ([cvss metrics for the template](nuclei-schema-defs-classification-properties-cvss-metrics-for-the-template)) + +#### cvss-metrics Examples + +```json +"3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H" +``` + +### cvss-score + +CVSS Score for the template + +`cvss-score` + +* is optional + +* Type: `number` ([cvss score for the template](nuclei-schema-defs-classification-properties-cvss-score-for-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-classification-properties-cvss-score-for-the-template "https://template#/$defs/Classification/properties/cvss-score") + +#### cvss-score Type + +`number` ([cvss score for the template](nuclei-schema-defs-classification-properties-cvss-score-for-the-template)) + +#### cvss-score Examples + +```json +9.8 +``` + +### epss-score + +EPSS Score for the template + +`epss-score` + +* is optional + +* Type: `number` ([epss score for the template](nuclei-schema-defs-classification-properties-epss-score-for-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-classification-properties-epss-score-for-the-template "https://template#/$defs/Classification/properties/epss-score") + +#### epss-score Type + +`number` ([epss score for the template](nuclei-schema-defs-classification-properties-epss-score-for-the-template)) + +#### epss-score Examples + +```json +0.42509 +``` + +### epss-percentile + +EPSS Percentile for the template + +`epss-percentile` + +* is optional + +* Type: `number` ([epss percentile for the template](nuclei-schema-defs-classification-properties-epss-percentile-for-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-classification-properties-epss-percentile-for-the-template "https://template#/$defs/Classification/properties/epss-percentile") + +#### epss-percentile Type + +`number` ([epss percentile for the template](nuclei-schema-defs-classification-properties-epss-percentile-for-the-template)) + +#### epss-percentile Examples + +```json +0.42509 +``` + +### cpe + +CPE for the template + +`cpe` + +* is optional + +* Type: `string` ([cpe for the template](nuclei-schema-defs-classification-properties-cpe-for-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-classification-properties-cpe-for-the-template "https://template#/$defs/Classification/properties/cpe") + +#### cpe Type + +`string` ([cpe for the template](nuclei-schema-defs-classification-properties-cpe-for-the-template)) + +#### cpe Examples + +```json +"cpe:/a:vendor:product:version" +``` + +## Definitions group Extractor + +Reference this group by using + +```json +{"$ref":"https://template#/$defs/Extractor"} +``` + +| Property | Type | Required | Nullable | Defined by | +| :------------------------------------ | :-------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [name](#name) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-extractor-properties-name-of-the-extractor "https://template#/$defs/Extractor/properties/name") | +| [type](#type) | `object` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-extractortypeholder "https://template#/$defs/Extractor/properties/type") | +| [regex](#regex) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-extractor-properties-regex-to-extract-from-part "https://template#/$defs/Extractor/properties/regex") | +| [group](#group) | `integer` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-extractor-properties-group-to-extract-from-regex "https://template#/$defs/Extractor/properties/group") | +| [kval](#kval) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-extractor-properties-kval-pairs-to-extract-from-response "https://template#/$defs/Extractor/properties/kval") | +| [json](#json) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-extractor-properties-json-jq-expressions-to-extract-data "https://template#/$defs/Extractor/properties/json") | +| [xpath](#xpath) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-extractor-properties-html-xpath-expressions-to-extract-data "https://template#/$defs/Extractor/properties/xpath") | +| [attribute](#attribute) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-extractor-properties-optional-attribute-to-extract-from-xpath "https://template#/$defs/Extractor/properties/attribute") | +| [dsl](#dsl) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-extractor-properties-dsl-expressions-to-extract "https://template#/$defs/Extractor/properties/dsl") | +| [part](#part) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-extractor-properties-part-of-response-to-extract-data-from "https://template#/$defs/Extractor/properties/part") | +| [internal](#internal) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-extractor-properties-mark-extracted-value-for-internal-variable-use "https://template#/$defs/Extractor/properties/internal") | +| [case-insensitive](#case-insensitive) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-extractor-properties-use-case-insensitive-extract "https://template#/$defs/Extractor/properties/case-insensitive") | + +### name + +Name of the extractor + +`name` + +* is optional + +* Type: `string` ([name of the extractor](nuclei-schema-defs-extractor-properties-name-of-the-extractor)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractor-properties-name-of-the-extractor "https://template#/$defs/Extractor/properties/name") + +#### name Type + +`string` ([name of the extractor](nuclei-schema-defs-extractor-properties-name-of-the-extractor)) + +### type + + + +`type` + +* is required + +* Type: `object` ([Details](nuclei-schema-defs-extractortypeholder)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractortypeholder "https://template#/$defs/Extractor/properties/type") + +#### type Type + +`object` ([Details](nuclei-schema-defs-extractortypeholder)) + +### regex + +Regex to extract from part + +`regex` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractor-properties-regex-to-extract-from-part "https://template#/$defs/Extractor/properties/regex") + +#### regex Type + +`string[]` + +### group + +Group to extract from regex + +`group` + +* is optional + +* Type: `integer` ([group to extract from regex](nuclei-schema-defs-extractor-properties-group-to-extract-from-regex)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractor-properties-group-to-extract-from-regex "https://template#/$defs/Extractor/properties/group") + +#### group Type + +`integer` ([group to extract from regex](nuclei-schema-defs-extractor-properties-group-to-extract-from-regex)) + +### kval + +Kval pairs to extract from response + +`kval` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractor-properties-kval-pairs-to-extract-from-response "https://template#/$defs/Extractor/properties/kval") + +#### kval Type + +`string[]` + +### json + +JSON JQ expressions to evaluate from response part + +`json` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractor-properties-json-jq-expressions-to-extract-data "https://template#/$defs/Extractor/properties/json") + +#### json Type + +`string[]` + +### xpath + +XPath allows using xpath expressions to extract items from html response + +`xpath` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractor-properties-html-xpath-expressions-to-extract-data "https://template#/$defs/Extractor/properties/xpath") + +#### xpath Type + +`string[]` + +### attribute + +Optional attribute to extract from response XPath + +`attribute` + +* is optional + +* Type: `string` ([optional attribute to extract from xpath](nuclei-schema-defs-extractor-properties-optional-attribute-to-extract-from-xpath)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractor-properties-optional-attribute-to-extract-from-xpath "https://template#/$defs/Extractor/properties/attribute") + +#### attribute Type + +`string` ([optional attribute to extract from xpath](nuclei-schema-defs-extractor-properties-optional-attribute-to-extract-from-xpath)) + +### dsl + +Optional attribute to extract from response dsl + +`dsl` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractor-properties-dsl-expressions-to-extract "https://template#/$defs/Extractor/properties/dsl") + +#### dsl Type + +`string[]` + +### part + +Part of the request response to extract data from + +`part` + +* is optional + +* Type: `string` ([part of response to extract data from](nuclei-schema-defs-extractor-properties-part-of-response-to-extract-data-from)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractor-properties-part-of-response-to-extract-data-from "https://template#/$defs/Extractor/properties/part") + +#### part Type + +`string` ([part of response to extract data from](nuclei-schema-defs-extractor-properties-part-of-response-to-extract-data-from)) + +### internal + +Internal when set to true will allow using the value extracted in the next request for some protocols + +`internal` + +* is optional + +* Type: `boolean` ([mark extracted value for internal variable use](nuclei-schema-defs-extractor-properties-mark-extracted-value-for-internal-variable-use)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractor-properties-mark-extracted-value-for-internal-variable-use "https://template#/$defs/Extractor/properties/internal") + +#### internal Type + +`boolean` ([mark extracted value for internal variable use](nuclei-schema-defs-extractor-properties-mark-extracted-value-for-internal-variable-use)) + +### case-insensitive + +use case insensitive extract + +`case-insensitive` + +* is optional + +* Type: `boolean` ([use case insensitive extract](nuclei-schema-defs-extractor-properties-use-case-insensitive-extract)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractor-properties-use-case-insensitive-extract "https://template#/$defs/Extractor/properties/case-insensitive") + +#### case-insensitive Type + +`boolean` ([use case insensitive extract](nuclei-schema-defs-extractor-properties-use-case-insensitive-extract)) + +## Definitions group ExtractorTypeHolder + +Reference this group by using + +```json +{"$ref":"https://template#/$defs/ExtractorTypeHolder"} +``` + +| Property | Type | Required | Nullable | Defined by | +| :------------------------------ | :-------- | :------- | :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [ExtractorType](#extractortype) | `integer` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-extractortypeholder-properties-extractortype "https://template#/$defs/ExtractorTypeHolder/properties/ExtractorType") | + +### ExtractorType + + + +`ExtractorType` + +* is required + +* Type: `integer` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-extractortypeholder-properties-extractortype "https://template#/$defs/ExtractorTypeHolder/properties/ExtractorType") + +#### ExtractorType Type + +`integer` + +## Definitions group HTTPMethodTypeHolder + +Reference this group by using + +```json +{"$ref":"https://template#/$defs/HTTPMethodTypeHolder"} +``` + +| Property | Type | Required | Nullable | Defined by | +| :------------------------ | :-------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [MethodType](#methodtype) | `integer` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-httpmethodtypeholder-properties-methodtype "https://template#/$defs/HTTPMethodTypeHolder/properties/MethodType") | + +### MethodType + + + +`MethodType` + +* is required + +* Type: `integer` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-httpmethodtypeholder-properties-methodtype "https://template#/$defs/HTTPMethodTypeHolder/properties/MethodType") + +#### MethodType Type + +`integer` + +## Definitions group Holder + +Reference this group by using + +```json +{"$ref":"https://template#/$defs/Holder"} +``` + +| Property | Type | Required | Nullable | Defined by | +| :------- | :--- | :------- | :------- | :--------- | + +## Definitions group Info + +Reference this group by using + +```json +{"$ref":"https://template#/$defs/Info"} +``` + +| Property | Type | Required | Nullable | Defined by | +| :-------------------------------- | :------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------ | +| [name](#name-1) | `string` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-info-properties-name-of-the-template "https://template#/$defs/Info/properties/name") | +| [author](#author) | Merged | Required | cannot be null | [Untitled schema](nuclei-schema-defs-info-properties-author-of-the-template "https://template#/$defs/Info/properties/author") | +| [tags](#tags) | Merged | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-info-properties-tags-of-the-template "https://template#/$defs/Info/properties/tags") | +| [description](#description) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-info-properties-description-of-the-template "https://template#/$defs/Info/properties/description") | +| [impact](#impact) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-info-properties-impact-of-the-template "https://template#/$defs/Info/properties/impact") | +| [reference](#reference) | Merged | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-stringorslice "https://template#/$defs/Info/properties/reference") | +| [severity](#severity) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-info-properties-severity-of-the-template "https://template#/$defs/Info/properties/severity") | +| [metadata](#metadata) | `object` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-info-properties-additional-metadata-for-the-template "https://template#/$defs/Info/properties/metadata") | +| [classification](#classification) | `object` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-classification "https://template#/$defs/Info/properties/classification") | +| [remediation](#remediation) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-info-properties-remediation-steps-for-the-template "https://template#/$defs/Info/properties/remediation") | + +### name + +Name should be good short summary that identifies what the template does + +`name` + +* is required + +* Type: `string` ([name of the template](nuclei-schema-defs-info-properties-name-of-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-info-properties-name-of-the-template "https://template#/$defs/Info/properties/name") + +#### name Type + +`string` ([name of the template](nuclei-schema-defs-info-properties-name-of-the-template)) + +#### name Examples + +```json +"Nagios Default Credentials Check" +``` + +```json +"example-template" +``` + +```json +"TeamCity - Authentication Bypass" +``` + +### author + +Author is the author of the template + +`author` + +* is required + +* Type: merged type ([author of the template](nuclei-schema-defs-info-properties-author-of-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-info-properties-author-of-the-template "https://template#/$defs/Info/properties/author") + +#### author Type + +merged type ([author of the template](nuclei-schema-defs-info-properties-author-of-the-template)) + +one (and only one) of + +* [Untitled string in undefined](nuclei-schema-defs-info-properties-author-of-the-template-oneof-0 "check type definition") + +* [Untitled array in undefined](nuclei-schema-defs-info-properties-author-of-the-template-oneof-1 "check type definition") + +### tags + +Any tags for the template + +`tags` + +* is optional + +* Type: merged type ([tags of the template](nuclei-schema-defs-info-properties-tags-of-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-info-properties-tags-of-the-template "https://template#/$defs/Info/properties/tags") + +#### tags Type + +merged type ([tags of the template](nuclei-schema-defs-info-properties-tags-of-the-template)) + +one (and only one) of + +* [Untitled string in undefined](nuclei-schema-defs-info-properties-tags-of-the-template-oneof-0 "check type definition") + +* [Untitled array in undefined](nuclei-schema-defs-info-properties-tags-of-the-template-oneof-1 "check type definition") + +### description + +Description of the template. +You can go in-depth here on what the template actually does. +Example: +Apache Log4j2 <=2.14.1 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. An attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution is enabled. + +`description` + +* is optional + +* Type: `string` ([description of the template](nuclei-schema-defs-info-properties-description-of-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-info-properties-description-of-the-template "https://template#/$defs/Info/properties/description") + +#### description Type + +`string` ([description of the template](nuclei-schema-defs-info-properties-description-of-the-template)) + +#### description Examples + +```json +"Bower is a package manager which stores package information in the bower.json file" +``` + +```json +"Example description of the template" +``` + +### impact + +Impact of the template. +You can go in-depth here on impact of the template. +Example: +Successful exploitation of this vulnerability can lead to remote code execution, potentially compromising the affected system. + +`impact` + +* is optional + +* Type: `string` ([impact of the template](nuclei-schema-defs-info-properties-impact-of-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-info-properties-impact-of-the-template "https://template#/$defs/Info/properties/impact") + +#### impact Type + +`string` ([impact of the template](nuclei-schema-defs-info-properties-impact-of-the-template)) + +#### impact Examples + +```json +"Successful exploitation of this vulnerability could allow an attacker to execute arbitrary SQL queries" +``` + +```json +"Impact of the template" +``` + +### reference + +References for the template. +This should contain links relevant to the template. +Example: + + + +`reference` + +* is optional + +* Type: `array` ([references for the template](nuclei-schema-defs-stringorslice)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-stringorslice "https://template#/$defs/Info/properties/reference") + +#### reference Type + +`array` ([references for the template](nuclei-schema-defs-stringorslice)) + +one (and only one) of + +* [Untitled string in undefined](nuclei-schema-defs-stringorslice-oneof-0 "check type definition") + +* [Untitled array in undefined](nuclei-schema-defs-stringorslice-oneof-1 "check type definition") + +#### reference Examples + +```json +"\n\t- https://example.com" +``` + +### severity + +Seriousness of the implications of the template + +`severity` + +* is optional + +* Type: `string` ([severity of the template](nuclei-schema-defs-info-properties-severity-of-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-info-properties-severity-of-the-template "https://template#/$defs/Info/properties/severity") + +#### severity Type + +`string` ([severity of the template](nuclei-schema-defs-info-properties-severity-of-the-template)) + +#### severity Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :----------- | :---------- | +| `"info"` | | +| `"low"` | | +| `"medium"` | | +| `"high"` | | +| `"critical"` | | +| `"unknown"` | | + +#### severity Examples + +```json +"info" +``` + +### metadata + +Optional metadata for the template. +this could be any useful metadata like Vendor, Product, Version, etc. +Note - This is autogenerated and updated regularly for templates merged in projectdiscovery/nuclei-templates repository. +Example: + +```yaml +Vendor: Apache +Product: Log4j2 +Version: <=2.14.1 +``` + +`metadata` + +* is optional + +* Type: `object` ([additional metadata for the template](nuclei-schema-defs-info-properties-additional-metadata-for-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-info-properties-additional-metadata-for-the-template "https://template#/$defs/Info/properties/metadata") + +#### metadata Type + +`object` ([additional metadata for the template](nuclei-schema-defs-info-properties-additional-metadata-for-the-template)) + +#### metadata Examples + +```json +"\n\tmax-request: 1" +``` + +```json +"\n\tmax-request: 2\n\tvendor: apache\n\tproduct: log4j2" +``` + +### classification + +Classification contains classification information about the template. +This could be any classification information like CWE, CVE, EPSS etc. +Note - This is autogenerated and updated regularly for CVE templates merged in projectdiscovery/nuclei-templates repository. +Example: + +```yaml +cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H +cvss-score: 10 +cve-id: CVE-2021-44228 +cwe-id: CWE-20,CWE-917 +epss-score: 0.97453 +epss-percentile: 0.99942 +cpe: cpe:2.3:a:apache:log4j:*:*:*:*:*:*:*:* +``` + +`classification` + +* is optional + +* Type: `object` ([classification info for the template](nuclei-schema-defs-classification)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-classification "https://template#/$defs/Info/properties/classification") + +#### classification Type + +`object` ([classification info for the template](nuclei-schema-defs-classification)) + +#### classification Examples + +```json +"\n\tcvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H\n\tcvss-score: 10\n\tcve-id: CVE-2021-44228" +``` + +```json +"\n\tcwe-id: CWE-20,CWE-917" +``` + +### remediation + +In-depth explanation on how to fix the issues found by the template + +`remediation` + +* is optional + +* Type: `string` ([remediation steps for the template](nuclei-schema-defs-info-properties-remediation-steps-for-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-info-properties-remediation-steps-for-the-template "https://template#/$defs/Info/properties/remediation") + +#### remediation Type + +`string` ([remediation steps for the template](nuclei-schema-defs-info-properties-remediation-steps-for-the-template)) + +#### remediation Examples + +```json +"Change the default administrative username and password of Apache ActiveMQ by editing the file jetty-realm.properties" +``` + +## Definitions group Matcher + +Reference this group by using + +```json +{"$ref":"https://template#/$defs/Matcher"} +``` + +| Property | Type | Required | Nullable | Defined by | +| :-------------------------------------- | :-------- | :------- | :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- | +| [type](#type-1) | `object` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-matchertypeholder "https://template#/$defs/Matcher/properties/type") | +| [condition](#condition) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-condition-between-matcher-variables "https://template#/$defs/Matcher/properties/condition") | +| [part](#part-1) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-part-of-response-to-match "https://template#/$defs/Matcher/properties/part") | +| [negative](#negative) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-negative-specifies-if-match-reversed "https://template#/$defs/Matcher/properties/negative") | +| [name](#name-2) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-name-of-the-matcher "https://template#/$defs/Matcher/properties/name") | +| [status](#status) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-status-to-match "https://template#/$defs/Matcher/properties/status") | +| [size](#size) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-acceptable-size-for-response "https://template#/$defs/Matcher/properties/size") | +| [words](#words) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-words-to-match-in-response "https://template#/$defs/Matcher/properties/words") | +| [regex](#regex-1) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-regex-to-match-in-response "https://template#/$defs/Matcher/properties/regex") | +| [binary](#binary) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-binary-patterns-to-match-in-response "https://template#/$defs/Matcher/properties/binary") | +| [dsl](#dsl-1) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-dsl-expressions-to-match-in-response "https://template#/$defs/Matcher/properties/dsl") | +| [xpath](#xpath-1) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-xpath-queries-to-match-in-response "https://template#/$defs/Matcher/properties/xpath") | +| [encoding](#encoding) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-encoding-for-word-field "https://template#/$defs/Matcher/properties/encoding") | +| [case-insensitive](#case-insensitive-1) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-use-case-insensitive-match "https://template#/$defs/Matcher/properties/case-insensitive") | +| [match-all](#match-all) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-match-all-values "https://template#/$defs/Matcher/properties/match-all") | +| [internal](#internal-1) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-matcher-properties-hide-matcher-from-output "https://template#/$defs/Matcher/properties/internal") | + +### type + +Type of the matcher + +`type` + +* is required + +* Type: `object` ([type of matcher](nuclei-schema-defs-matchertypeholder)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matchertypeholder "https://template#/$defs/Matcher/properties/type") + +#### type Type + +`object` ([type of matcher](nuclei-schema-defs-matchertypeholder)) + +### condition + +Condition between the matcher variables + +`condition` + +* is optional + +* Type: `string` ([condition between matcher variables](nuclei-schema-defs-matcher-properties-condition-between-matcher-variables)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-condition-between-matcher-variables "https://template#/$defs/Matcher/properties/condition") + +#### condition Type + +`string` ([condition between matcher variables](nuclei-schema-defs-matcher-properties-condition-between-matcher-variables)) + +#### condition Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :------ | :---------- | +| `"and"` | | +| `"or"` | | + +### part + +Part of response to match data from + +`part` + +* is optional + +* Type: `string` ([part of response to match](nuclei-schema-defs-matcher-properties-part-of-response-to-match)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-part-of-response-to-match "https://template#/$defs/Matcher/properties/part") + +#### part Type + +`string` ([part of response to match](nuclei-schema-defs-matcher-properties-part-of-response-to-match)) + +### negative + +Negative specifies if the match should be reversed. It will only match if the condition is not true + +`negative` + +* is optional + +* Type: `boolean` ([negative specifies if match reversed](nuclei-schema-defs-matcher-properties-negative-specifies-if-match-reversed)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-negative-specifies-if-match-reversed "https://template#/$defs/Matcher/properties/negative") + +#### negative Type + +`boolean` ([negative specifies if match reversed](nuclei-schema-defs-matcher-properties-negative-specifies-if-match-reversed)) + +### name + +Name of the matcher + +`name` + +* is optional + +* Type: `string` ([name of the matcher](nuclei-schema-defs-matcher-properties-name-of-the-matcher)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-name-of-the-matcher "https://template#/$defs/Matcher/properties/name") + +#### name Type + +`string` ([name of the matcher](nuclei-schema-defs-matcher-properties-name-of-the-matcher)) + +### status + +Status to match for the response + +`status` + +* is optional + +* Type: `integer[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-status-to-match "https://template#/$defs/Matcher/properties/status") + +#### status Type + +`integer[]` + +### size + +Size is the acceptable size for the response + +`size` + +* is optional + +* Type: `integer[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-acceptable-size-for-response "https://template#/$defs/Matcher/properties/size") + +#### size Type + +`integer[]` + +### words + +Words contains word patterns required to be present in the response part + +`words` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-words-to-match-in-response "https://template#/$defs/Matcher/properties/words") + +#### words Type + +`string[]` + +### regex + +Regex contains regex patterns required to be present in the response part + +`regex` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-regex-to-match-in-response "https://template#/$defs/Matcher/properties/regex") + +#### regex Type + +`string[]` + +### binary + +Binary are the binary patterns required to be present in the response part + +`binary` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-binary-patterns-to-match-in-response "https://template#/$defs/Matcher/properties/binary") + +#### binary Type + +`string[]` + +### dsl + +DSL are the dsl expressions that will be evaluated as part of nuclei matching rules + +`dsl` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-dsl-expressions-to-match-in-response "https://template#/$defs/Matcher/properties/dsl") + +#### dsl Type + +`string[]` + +### xpath + +xpath are the XPath queries that will be evaluated against the response part of nuclei matching rules + +`xpath` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-xpath-queries-to-match-in-response "https://template#/$defs/Matcher/properties/xpath") + +#### xpath Type + +`string[]` + +### encoding + +Optional encoding for the word fields + +`encoding` + +* is optional + +* Type: `string` ([encoding for word field](nuclei-schema-defs-matcher-properties-encoding-for-word-field)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-encoding-for-word-field "https://template#/$defs/Matcher/properties/encoding") + +#### encoding Type + +`string` ([encoding for word field](nuclei-schema-defs-matcher-properties-encoding-for-word-field)) + +#### encoding Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :------ | :---------- | +| `"hex"` | | + +### case-insensitive + +use case insensitive match + +`case-insensitive` + +* is optional + +* Type: `boolean` ([use case insensitive match](nuclei-schema-defs-matcher-properties-use-case-insensitive-match)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-use-case-insensitive-match "https://template#/$defs/Matcher/properties/case-insensitive") + +#### case-insensitive Type + +`boolean` ([use case insensitive match](nuclei-schema-defs-matcher-properties-use-case-insensitive-match)) + +### match-all + +match all matcher values ignoring condition + +`match-all` + +* is optional + +* Type: `boolean` ([match all values](nuclei-schema-defs-matcher-properties-match-all-values)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-match-all-values "https://template#/$defs/Matcher/properties/match-all") + +#### match-all Type + +`boolean` ([match all values](nuclei-schema-defs-matcher-properties-match-all-values)) + +### internal + +hide matcher from output + +`internal` + +* is optional + +* Type: `boolean` ([hide matcher from output](nuclei-schema-defs-matcher-properties-hide-matcher-from-output)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matcher-properties-hide-matcher-from-output "https://template#/$defs/Matcher/properties/internal") + +#### internal Type + +`boolean` ([hide matcher from output](nuclei-schema-defs-matcher-properties-hide-matcher-from-output)) + +## Definitions group MatcherTypeHolder + +Reference this group by using + +```json +{"$ref":"https://template#/$defs/MatcherTypeHolder"} +``` + +| Property | Type | Required | Nullable | Defined by | +| :-------------------------- | :-------- | :------- | :------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------- | +| [MatcherType](#matchertype) | `integer` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-matchertypeholder-properties-matchertype "https://template#/$defs/MatcherTypeHolder/properties/MatcherType") | + +### MatcherType + + + +`MatcherType` + +* is required + +* Type: `integer` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-matchertypeholder-properties-matchertype "https://template#/$defs/MatcherTypeHolder/properties/MatcherType") + +#### MatcherType Type + +`integer` + +## Definitions group OrderedMap\[string,string] + +Reference this group by using + +```json +{"$ref":"https://template#/$defs/OrderedMap[string,string]"} +``` + +| Property | Type | Required | Nullable | Defined by | +| :------- | :--- | :------- | :------- | :--------- | + +## Definitions group Request + +Reference this group by using + +```json +{"$ref":"https://template#/$defs/Request"} +``` + +| Property | Type | Required | Nullable | Defined by | +| :-------------------------------------------------------------------- | :-------- | :------- | :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [matchers](#matchers) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-matchers-to-run-on-response "https://template#/$defs/Request/properties/matchers") | +| [extractors](#extractors) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-extractors-to-run-on-response "https://template#/$defs/Request/properties/extractors") | +| [matchers-condition](#matchers-condition) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-condition-between-the-matchers "https://template#/$defs/Request/properties/matchers-condition") | +| [path](#path) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-paths-for-the-http-request "https://template#/$defs/Request/properties/path") | +| [raw](#raw) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-raw "https://template#/$defs/Request/properties/raw") | +| [id](#id) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-id-for-the-http-request "https://template#/$defs/Request/properties/id") | +| [name](#name-3) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-name-for-the-http-request "https://template#/$defs/Request/properties/name") | +| [attack](#attack) | `object` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-attacktypeholder "https://template#/$defs/Request/properties/attack") | +| [method](#method) | `object` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-httpmethodtypeholder "https://template#/$defs/Request/properties/method") | +| [body](#body) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-body-is-the-http-request-body "https://template#/$defs/Request/properties/body") | +| [payloads](#payloads) | `object` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-payloads-for-the-http-request "https://template#/$defs/Request/properties/payloads") | +| [headers](#headers) | `object` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-headers-to-send-with-the-http-request "https://template#/$defs/Request/properties/headers") | +| [race\_count](#race_count) | `integer` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-number-of-times-to-repeat-request-in-race-condition "https://template#/$defs/Request/properties/race_count") | +| [max-redirects](#max-redirects) | `integer` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-maximum-number-of-redirects-to-follow "https://template#/$defs/Request/properties/max-redirects") | +| [pipeline-concurrent-connections](#pipeline-concurrent-connections) | `integer` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-number-of-pipelining-connections "https://template#/$defs/Request/properties/pipeline-concurrent-connections") | +| [pipeline-requests-per-connection](#pipeline-requests-per-connection) | `integer` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-number-of-requests-to-send-per-pipelining-connections "https://template#/$defs/Request/properties/pipeline-requests-per-connection") | +| [threads](#threads) | `integer` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-threads-for-sending-requests "https://template#/$defs/Request/properties/threads") | +| [max-size](#max-size) | `integer` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-maximum-http-response-body-size "https://template#/$defs/Request/properties/max-size") | +| [fuzzing](#fuzzing) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-fuzzin-rules-for-http-fuzzing "https://template#/$defs/Request/properties/fuzzing") | +| [self-contained](#self-contained) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-self-contained "https://template#/$defs/Request/properties/self-contained") | +| [signature](#signature) | `object` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-signaturetypeholder "https://template#/$defs/Request/properties/signature") | +| [cookie-reuse](#cookie-reuse) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-optional-cookie-reuse-enable "https://template#/$defs/Request/properties/cookie-reuse") | +| [disable-cookie](#disable-cookie) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-optional-disable-cookie-reuse "https://template#/$defs/Request/properties/disable-cookie") | +| [read-all](#read-all) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-force-read-all-body "https://template#/$defs/Request/properties/read-all") | +| [redirects](#redirects) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-follow-http-redirects "https://template#/$defs/Request/properties/redirects") | +| [host-redirects](#host-redirects) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-follow-same-host-http-redirects "https://template#/$defs/Request/properties/host-redirects") | +| [pipeline](#pipeline) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-perform-http-11-pipelining "https://template#/$defs/Request/properties/pipeline") | +| [unsafe](#unsafe) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-use-rawhttp-non-strict-rfc-client "https://template#/$defs/Request/properties/unsafe") | +| [race](#race) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-perform-race-http-request-coordination-attack "https://template#/$defs/Request/properties/race") | +| [req-condition](#req-condition) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-preserve-request-history "https://template#/$defs/Request/properties/req-condition") | +| [stop-at-first-match](#stop-at-first-match) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-stop-at-first-match "https://template#/$defs/Request/properties/stop-at-first-match") | +| [skip-variables-check](#skip-variables-check) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-skip-variable-checks "https://template#/$defs/Request/properties/skip-variables-check") | +| [iterate-all](#iterate-all) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-iterate-all-the-values "https://template#/$defs/Request/properties/iterate-all") | +| [digest-username](#digest-username) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-specifies-the-username-for-digest-authentication "https://template#/$defs/Request/properties/digest-username") | +| [digest-password](#digest-password) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-specifies-the-password-for-digest-authentication "https://template#/$defs/Request/properties/digest-password") | +| [disable-path-automerge](#disable-path-automerge) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-disable-auto-merging-of-path "https://template#/$defs/Request/properties/disable-path-automerge") | +| [filter](#filter) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-filter-for-fuzzing "https://template#/$defs/Request/properties/filter") | +| [filter-condition](#filter-condition) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-request-properties-condition-between-the-filters "https://template#/$defs/Request/properties/filter-condition") | + +### matchers + +Detection mechanism to identify whether the request was successful by doing pattern matching + +`matchers` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-matcher)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-matchers-to-run-on-response "https://template#/$defs/Request/properties/matchers") + +#### matchers Type + +`object[]` ([Details](nuclei-schema-defs-matcher)) + +### extractors + +Extractors contains the extraction mechanism for the request to identify and extract parts of the response + +`extractors` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-extractor)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-extractors-to-run-on-response "https://template#/$defs/Request/properties/extractors") + +#### extractors Type + +`object[]` ([Details](nuclei-schema-defs-extractor)) + +### matchers-condition + +Conditions between the matchers + +`matchers-condition` + +* is optional + +* Type: `string` ([condition between the matchers](nuclei-schema-defs-request-properties-condition-between-the-matchers)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-condition-between-the-matchers "https://template#/$defs/Request/properties/matchers-condition") + +#### matchers-condition Type + +`string` ([condition between the matchers](nuclei-schema-defs-request-properties-condition-between-the-matchers)) + +#### matchers-condition Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :------ | :---------- | +| `"and"` | | +| `"or"` | | + +### path + +Path(s) to send http requests to + +`path` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-paths-for-the-http-request "https://template#/$defs/Request/properties/path") + +#### path Type + +`string[]` + +### raw + +HTTP Requests in Raw Format + +`raw` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-raw "https://template#/$defs/Request/properties/raw") + +#### raw Type + +`string[]` + +### id + +ID for the HTTP Request + +`id` + +* is optional + +* Type: `string` ([id for the http request](nuclei-schema-defs-request-properties-id-for-the-http-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-id-for-the-http-request "https://template#/$defs/Request/properties/id") + +#### id Type + +`string` ([id for the http request](nuclei-schema-defs-request-properties-id-for-the-http-request)) + +### name + +Optional name for the HTTP Request + +`name` + +* is optional + +* Type: `string` ([name for the http request](nuclei-schema-defs-request-properties-name-for-the-http-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-name-for-the-http-request "https://template#/$defs/Request/properties/name") + +#### name Type + +`string` ([name for the http request](nuclei-schema-defs-request-properties-name-for-the-http-request)) + +### attack + +Attack is the type of payload combinations to perform + +`attack` + +* is optional + +* Type: `object` ([attack is the payload combination](nuclei-schema-defs-attacktypeholder)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-attacktypeholder "https://template#/$defs/Request/properties/attack") + +#### attack Type + +`object` ([attack is the payload combination](nuclei-schema-defs-attacktypeholder)) + +### method + +Method is the HTTP Request Method + +`method` + +* is optional + +* Type: `object` ([method is the http request method](nuclei-schema-defs-httpmethodtypeholder)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-httpmethodtypeholder "https://template#/$defs/Request/properties/method") + +#### method Type + +`object` ([method is the http request method](nuclei-schema-defs-httpmethodtypeholder)) + +### body + +Body is an optional parameter which contains HTTP Request body + +`body` + +* is optional + +* Type: `string` ([body is the http request body](nuclei-schema-defs-request-properties-body-is-the-http-request-body)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-body-is-the-http-request-body "https://template#/$defs/Request/properties/body") + +#### body Type + +`string` ([body is the http request body](nuclei-schema-defs-request-properties-body-is-the-http-request-body)) + +### payloads + +Payloads contains any payloads for the current request + +`payloads` + +* is optional + +* Type: `object` ([payloads for the http request](nuclei-schema-defs-request-properties-payloads-for-the-http-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-payloads-for-the-http-request "https://template#/$defs/Request/properties/payloads") + +#### payloads Type + +`object` ([payloads for the http request](nuclei-schema-defs-request-properties-payloads-for-the-http-request)) + +### headers + +Headers contains HTTP Headers to send with the request + +`headers` + +* is optional + +* Type: `object` ([headers to send with the http request](nuclei-schema-defs-request-properties-headers-to-send-with-the-http-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-headers-to-send-with-the-http-request "https://template#/$defs/Request/properties/headers") + +#### headers Type + +`object` ([headers to send with the http request](nuclei-schema-defs-request-properties-headers-to-send-with-the-http-request)) + +### race\_count + +Number of times to send a request in Race Condition Attack + +`race_count` + +* is optional + +* Type: `integer` ([number of times to repeat request in race condition](nuclei-schema-defs-request-properties-number-of-times-to-repeat-request-in-race-condition)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-number-of-times-to-repeat-request-in-race-condition "https://template#/$defs/Request/properties/race_count") + +#### race\_count Type + +`integer` ([number of times to repeat request in race condition](nuclei-schema-defs-request-properties-number-of-times-to-repeat-request-in-race-condition)) + +### max-redirects + +Maximum number of redirects that should be followed + +`max-redirects` + +* is optional + +* Type: `integer` ([maximum number of redirects to follow](nuclei-schema-defs-request-properties-maximum-number-of-redirects-to-follow)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-maximum-number-of-redirects-to-follow "https://template#/$defs/Request/properties/max-redirects") + +#### max-redirects Type + +`integer` ([maximum number of redirects to follow](nuclei-schema-defs-request-properties-maximum-number-of-redirects-to-follow)) + +### pipeline-concurrent-connections + +Number of connections to create during pipelining + +`pipeline-concurrent-connections` + +* is optional + +* Type: `integer` ([number of pipelining connections](nuclei-schema-defs-request-properties-number-of-pipelining-connections)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-number-of-pipelining-connections "https://template#/$defs/Request/properties/pipeline-concurrent-connections") + +#### pipeline-concurrent-connections Type + +`integer` ([number of pipelining connections](nuclei-schema-defs-request-properties-number-of-pipelining-connections)) + +### pipeline-requests-per-connection + +Number of requests to send per connection when pipelining + +`pipeline-requests-per-connection` + +* is optional + +* Type: `integer` ([number of requests to send per pipelining connections](nuclei-schema-defs-request-properties-number-of-requests-to-send-per-pipelining-connections)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-number-of-requests-to-send-per-pipelining-connections "https://template#/$defs/Request/properties/pipeline-requests-per-connection") + +#### pipeline-requests-per-connection Type + +`integer` ([number of requests to send per pipelining connections](nuclei-schema-defs-request-properties-number-of-requests-to-send-per-pipelining-connections)) + +### threads + +Threads specifies number of threads to use sending requests. This enables Connection Pooling + +`threads` + +* is optional + +* Type: `integer` ([threads for sending requests](nuclei-schema-defs-request-properties-threads-for-sending-requests)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-threads-for-sending-requests "https://template#/$defs/Request/properties/threads") + +#### threads Type + +`integer` ([threads for sending requests](nuclei-schema-defs-request-properties-threads-for-sending-requests)) + +### max-size + +Maximum size of http response body to read in bytes + +`max-size` + +* is optional + +* Type: `integer` ([maximum http response body size](nuclei-schema-defs-request-properties-maximum-http-response-body-size)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-maximum-http-response-body-size "https://template#/$defs/Request/properties/max-size") + +#### max-size Type + +`integer` ([maximum http response body size](nuclei-schema-defs-request-properties-maximum-http-response-body-size)) + +### fuzzing + +Fuzzing describes rule schema to fuzz http requests + +`fuzzing` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-rule)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-fuzzin-rules-for-http-fuzzing "https://template#/$defs/Request/properties/fuzzing") + +#### fuzzing Type + +`object[]` ([Details](nuclei-schema-defs-rule)) + +### self-contained + + + +`self-contained` + +* is optional + +* Type: `boolean` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-self-contained "https://template#/$defs/Request/properties/self-contained") + +#### self-contained Type + +`boolean` + +### signature + +Signature is the HTTP Request signature Method + +`signature` + +* is optional + +* Type: `object` ([signature is the http request signature method](nuclei-schema-defs-signaturetypeholder)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-signaturetypeholder "https://template#/$defs/Request/properties/signature") + +#### signature Type + +`object` ([signature is the http request signature method](nuclei-schema-defs-signaturetypeholder)) + +### cookie-reuse + +Optional setting that enables cookie reuse + +`cookie-reuse` + +* is optional + +* Type: `boolean` ([optional cookie reuse enable](nuclei-schema-defs-request-properties-optional-cookie-reuse-enable)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-optional-cookie-reuse-enable "https://template#/$defs/Request/properties/cookie-reuse") + +#### cookie-reuse Type + +`boolean` ([optional cookie reuse enable](nuclei-schema-defs-request-properties-optional-cookie-reuse-enable)) + +### disable-cookie + +Optional setting that disables cookie reuse + +`disable-cookie` + +* is optional + +* Type: `boolean` ([optional disable cookie reuse](nuclei-schema-defs-request-properties-optional-disable-cookie-reuse)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-optional-disable-cookie-reuse "https://template#/$defs/Request/properties/disable-cookie") + +#### disable-cookie Type + +`boolean` ([optional disable cookie reuse](nuclei-schema-defs-request-properties-optional-disable-cookie-reuse)) + +### read-all + +Enables force reading of entire unsafe http request body + +`read-all` + +* is optional + +* Type: `boolean` ([force read all body](nuclei-schema-defs-request-properties-force-read-all-body)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-force-read-all-body "https://template#/$defs/Request/properties/read-all") + +#### read-all Type + +`boolean` ([force read all body](nuclei-schema-defs-request-properties-force-read-all-body)) + +### redirects + +Specifies whether redirects should be followed by the HTTP Client + +`redirects` + +* is optional + +* Type: `boolean` ([follow http redirects](nuclei-schema-defs-request-properties-follow-http-redirects)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-follow-http-redirects "https://template#/$defs/Request/properties/redirects") + +#### redirects Type + +`boolean` ([follow http redirects](nuclei-schema-defs-request-properties-follow-http-redirects)) + +### host-redirects + +Specifies whether redirects to the same host should be followed by the HTTP Client + +`host-redirects` + +* is optional + +* Type: `boolean` ([follow same host http redirects](nuclei-schema-defs-request-properties-follow-same-host-http-redirects)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-follow-same-host-http-redirects "https://template#/$defs/Request/properties/host-redirects") + +#### host-redirects Type + +`boolean` ([follow same host http redirects](nuclei-schema-defs-request-properties-follow-same-host-http-redirects)) + +### pipeline + +Pipeline defines if the attack should be performed with HTTP 1.1 Pipelining + +`pipeline` + +* is optional + +* Type: `boolean` ([perform HTTP 1.1 pipelining](nuclei-schema-defs-request-properties-perform-http-11-pipelining)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-perform-http-11-pipelining "https://template#/$defs/Request/properties/pipeline") + +#### pipeline Type + +`boolean` ([perform HTTP 1.1 pipelining](nuclei-schema-defs-request-properties-perform-http-11-pipelining)) + +### unsafe + +Unsafe specifies whether to use rawhttp engine for sending Non RFC-Compliant requests + +`unsafe` + +* is optional + +* Type: `boolean` ([use rawhttp non-strict-rfc client](nuclei-schema-defs-request-properties-use-rawhttp-non-strict-rfc-client)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-use-rawhttp-non-strict-rfc-client "https://template#/$defs/Request/properties/unsafe") + +#### unsafe Type + +`boolean` ([use rawhttp non-strict-rfc client](nuclei-schema-defs-request-properties-use-rawhttp-non-strict-rfc-client)) + +### race + +Race determines if all the request have to be attempted at the same time (Race Condition) + +`race` + +* is optional + +* Type: `boolean` ([perform race-http request coordination attack](nuclei-schema-defs-request-properties-perform-race-http-request-coordination-attack)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-perform-race-http-request-coordination-attack "https://template#/$defs/Request/properties/race") + +#### race Type + +`boolean` ([perform race-http request coordination attack](nuclei-schema-defs-request-properties-perform-race-http-request-coordination-attack)) + +### req-condition + +Automatically assigns numbers to requests and preserves their history + +`req-condition` + +* is optional + +* Type: `boolean` ([preserve request history](nuclei-schema-defs-request-properties-preserve-request-history)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-preserve-request-history "https://template#/$defs/Request/properties/req-condition") + +#### req-condition Type + +`boolean` ([preserve request history](nuclei-schema-defs-request-properties-preserve-request-history)) + +### stop-at-first-match + +Stop the execution after a match is found + +`stop-at-first-match` + +* is optional + +* Type: `boolean` ([stop at first match](nuclei-schema-defs-request-properties-stop-at-first-match)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-stop-at-first-match "https://template#/$defs/Request/properties/stop-at-first-match") + +#### stop-at-first-match Type + +`boolean` ([stop at first match](nuclei-schema-defs-request-properties-stop-at-first-match)) + +### skip-variables-check + +Skips the check for unresolved variables in request + +`skip-variables-check` + +* is optional + +* Type: `boolean` ([skip variable checks](nuclei-schema-defs-request-properties-skip-variable-checks)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-skip-variable-checks "https://template#/$defs/Request/properties/skip-variables-check") + +#### skip-variables-check Type + +`boolean` ([skip variable checks](nuclei-schema-defs-request-properties-skip-variable-checks)) + +### iterate-all + +Iterates all the values extracted from internal extractors + +`iterate-all` + +* is optional + +* Type: `boolean` ([iterate all the values](nuclei-schema-defs-request-properties-iterate-all-the-values)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-iterate-all-the-values "https://template#/$defs/Request/properties/iterate-all") + +#### iterate-all Type + +`boolean` ([iterate all the values](nuclei-schema-defs-request-properties-iterate-all-the-values)) + +### digest-username + +Optional parameter which specifies the username for digest auth + +`digest-username` + +* is optional + +* Type: `string` ([specifies the username for digest authentication](nuclei-schema-defs-request-properties-specifies-the-username-for-digest-authentication)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-specifies-the-username-for-digest-authentication "https://template#/$defs/Request/properties/digest-username") + +#### digest-username Type + +`string` ([specifies the username for digest authentication](nuclei-schema-defs-request-properties-specifies-the-username-for-digest-authentication)) + +### digest-password + +Optional parameter which specifies the password for digest auth + +`digest-password` + +* is optional + +* Type: `string` ([specifies the password for digest authentication](nuclei-schema-defs-request-properties-specifies-the-password-for-digest-authentication)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-specifies-the-password-for-digest-authentication "https://template#/$defs/Request/properties/digest-password") + +#### digest-password Type + +`string` ([specifies the password for digest authentication](nuclei-schema-defs-request-properties-specifies-the-password-for-digest-authentication)) + +### disable-path-automerge + +Disable merging target url path with raw request path + +`disable-path-automerge` + +* is optional + +* Type: `boolean` ([disable auto merging of path](nuclei-schema-defs-request-properties-disable-auto-merging-of-path)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-disable-auto-merging-of-path "https://template#/$defs/Request/properties/disable-path-automerge") + +#### disable-path-automerge Type + +`boolean` ([disable auto merging of path](nuclei-schema-defs-request-properties-disable-auto-merging-of-path)) + +### filter + +Filter is matcher-like field to check if fuzzing should be performed on this request or not + +`filter` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-matcher)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-filter-for-fuzzing "https://template#/$defs/Request/properties/filter") + +#### filter Type + +`object[]` ([Details](nuclei-schema-defs-matcher)) + +### filter-condition + +Conditions between the filters + +`filter-condition` + +* is optional + +* Type: `string` ([condition between the filters](nuclei-schema-defs-request-properties-condition-between-the-filters)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-request-properties-condition-between-the-filters "https://template#/$defs/Request/properties/filter-condition") + +#### filter-condition Type + +`string` ([condition between the filters](nuclei-schema-defs-request-properties-condition-between-the-filters)) + +#### filter-condition Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :------ | :---------- | +| `"and"` | | +| `"or"` | | + +## Definitions group Rule + +Reference this group by using + +```json +{"$ref":"https://template#/$defs/Rule"} +``` + +| Property | Type | Required | Nullable | Defined by | +| :------------------------------ | :------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------- | +| [type](#type-2) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-rule-properties-type-of-rule "https://template#/$defs/Rule/properties/type") | +| [part](#part-2) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-rule-properties-part-of-rule "https://template#/$defs/Rule/properties/part") | +| [mode](#mode) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-rule-properties-mode-of-rule "https://template#/$defs/Rule/properties/mode") | +| [keys](#keys) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-rule-properties-keys-of-parameters-to-fuzz "https://template#/$defs/Rule/properties/keys") | +| [keys-regex](#keys-regex) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-rule-properties-keys-regex-to-fuzz "https://template#/$defs/Rule/properties/keys-regex") | +| [values](#values) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-rule-properties-values-regex-to-fuzz "https://template#/$defs/Rule/properties/values") | +| [fuzz](#fuzz) | `object` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-sliceormapslice "https://template#/$defs/Rule/properties/fuzz") | +| [replace-regex](#replace-regex) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-rule-properties-replace-regex-of-rule "https://template#/$defs/Rule/properties/replace-regex") | + +### type + +Type of fuzzing rule to perform + +`type` + +* is optional + +* Type: `string` ([type of rule](nuclei-schema-defs-rule-properties-type-of-rule)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-rule-properties-type-of-rule "https://template#/$defs/Rule/properties/type") + +#### type Type + +`string` ([type of rule](nuclei-schema-defs-rule-properties-type-of-rule)) + +#### type Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :---------------- | :---------- | +| `"replace"` | | +| `"prefix"` | | +| `"postfix"` | | +| `"infix"` | | +| `"replace-regex"` | | + +### part + +Part of request rule to fuzz + +`part` + +* is optional + +* Type: `string` ([part of rule](nuclei-schema-defs-rule-properties-part-of-rule)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-rule-properties-part-of-rule "https://template#/$defs/Rule/properties/part") + +#### part Type + +`string` ([part of rule](nuclei-schema-defs-rule-properties-part-of-rule)) + +#### part Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :---------- | :---------- | +| `"query"` | | +| `"header"` | | +| `"path"` | | +| `"body"` | | +| `"cookie"` | | +| `"request"` | | + +### mode + +Mode of request rule to fuzz + +`mode` + +* is optional + +* Type: `string` ([mode of rule](nuclei-schema-defs-rule-properties-mode-of-rule)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-rule-properties-mode-of-rule "https://template#/$defs/Rule/properties/mode") + +#### mode Type + +`string` ([mode of rule](nuclei-schema-defs-rule-properties-mode-of-rule)) + +#### mode Constraints + +**enum**: the value of this property must be equal to one of the following values: + +| Value | Explanation | +| :----------- | :---------- | +| `"single"` | | +| `"multiple"` | | + +### keys + +Keys of parameters to fuzz + +`keys` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-rule-properties-keys-of-parameters-to-fuzz "https://template#/$defs/Rule/properties/keys") + +#### keys Type + +`string[]` + +### keys-regex + +Regex of parameter keys to fuzz + +`keys-regex` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-rule-properties-keys-regex-to-fuzz "https://template#/$defs/Rule/properties/keys-regex") + +#### keys-regex Type + +`string[]` + +### values + +Regex of parameter values to fuzz + +`values` + +* is optional + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-rule-properties-values-regex-to-fuzz "https://template#/$defs/Rule/properties/values") + +#### values Type + +`string[]` + +### fuzz + +Payloads to perform fuzzing substitutions with + +`fuzz` + +* is optional + +* Type: `object` ([payloads of fuzz rule](nuclei-schema-defs-sliceormapslice)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-sliceormapslice "https://template#/$defs/Rule/properties/fuzz") + +#### fuzz Type + +`object` ([payloads of fuzz rule](nuclei-schema-defs-sliceormapslice)) + +### replace-regex + +Regex for regex-replace rule type + +`replace-regex` + +* is optional + +* Type: `string` ([replace regex of rule](nuclei-schema-defs-rule-properties-replace-regex-of-rule)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-rule-properties-replace-regex-of-rule "https://template#/$defs/Rule/properties/replace-regex") + +#### replace-regex Type + +`string` ([replace regex of rule](nuclei-schema-defs-rule-properties-replace-regex-of-rule)) + +## Definitions group SignatureTypeHolder + +Reference this group by using + +```json +{"$ref":"https://template#/$defs/SignatureTypeHolder"} +``` + +| Property | Type | Required | Nullable | Defined by | +| :---------------- | :-------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------- | +| [Value](#value-1) | `integer` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-signaturetypeholder-properties-value "https://template#/$defs/SignatureTypeHolder/properties/Value") | + +### Value + + + +`Value` + +* is required + +* Type: `integer` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-signaturetypeholder-properties-value "https://template#/$defs/SignatureTypeHolder/properties/Value") + +#### Value Type + +`integer` + +## Definitions group SliceOrMapSlice + +Reference this group by using + +```json +{"$ref":"https://template#/$defs/SliceOrMapSlice"} +``` + +| Property | Type | Required | Nullable | Defined by | +| :---------------- | :------- | :------- | :------------- | :----------------------------------------------------------------------------------------------------------------------------------- | +| [Value](#value-2) | `array` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-sliceormapslice-properties-value "https://template#/$defs/SliceOrMapSlice/properties/Value") | +| [KV](#kv) | `object` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-orderedmapstringstring "https://template#/$defs/SliceOrMapSlice/properties/KV") | + +### Value + + + +`Value` + +* is required + +* Type: `string[]` + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-sliceormapslice-properties-value "https://template#/$defs/SliceOrMapSlice/properties/Value") + +#### Value Type + +`string[]` + +### KV + + + +`KV` + +* is required + +* Type: `object` ([Details](nuclei-schema-defs-orderedmapstringstring)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-orderedmapstringstring "https://template#/$defs/SliceOrMapSlice/properties/KV") + +#### KV Type + +`object` ([Details](nuclei-schema-defs-orderedmapstringstring)) + +## Definitions group StringOrSlice + +Reference this group by using + +```json +{"$ref":"https://template#/$defs/StringOrSlice"} +``` + +| Property | Type | Required | Nullable | Defined by | +| :------- | :--- | :------- | :------- | :--------- | + +## Definitions group Template + +Reference this group by using + +```json +{"$ref":"https://template#/$defs/Template"} +``` + +| Property | Type | Required | Nullable | Defined by | +| :-------------------------------------------- | :-------- | :------- | :------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [id](#id-1) | `string` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-id-of-the-template "https://template#/$defs/Template/properties/id") | +| [info](#info) | `object` | Required | cannot be null | [Untitled schema](nuclei-schema-defs-info "https://template#/$defs/Template/properties/info") | +| [flow](#flow) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-template-execution-flow-in-js "https://template#/$defs/Template/properties/flow") | +| [requests](#requests) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-http-requests-to-make "https://template#/$defs/Template/properties/requests") | +| [http](#http) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-http-requests-to-make-1 "https://template#/$defs/Template/properties/http") | +| [dns](#dns) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-dns-requests-to-make "https://template#/$defs/Template/properties/dns") | +| [file](#file) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-file-requests-to-make "https://template#/$defs/Template/properties/file") | +| [network](#network) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-network-requests-to-make "https://template#/$defs/Template/properties/network") | +| [tcp](#tcp) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-networktcp-requests-to-make "https://template#/$defs/Template/properties/tcp") | +| [headless](#headless) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-headless-requests-to-make "https://template#/$defs/Template/properties/headless") | +| [ssl](#ssl) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-ssl-requests-to-make "https://template#/$defs/Template/properties/ssl") | +| [websocket](#websocket) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-websocket-requests-to-make "https://template#/$defs/Template/properties/websocket") | +| [whois](#whois) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-whois-requests-to-make "https://template#/$defs/Template/properties/whois") | +| [code](#code) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-code-snippets-to-make "https://template#/$defs/Template/properties/code") | +| [javascript](#javascript) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-javascript-requests-to-make "https://template#/$defs/Template/properties/javascript") | +| [workflows](#workflows) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-list-of-workflows-to-execute "https://template#/$defs/Template/properties/workflows") | +| [self-contained](#self-contained-1) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-mark-requests-as-self-contained "https://template#/$defs/Template/properties/self-contained") | +| [stop-at-first-match](#stop-at-first-match-1) | `boolean` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-stop-at-first-match "https://template#/$defs/Template/properties/stop-at-first-match") | +| [signature](#signature-1) | `object` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-signaturetypeholder "https://template#/$defs/Template/properties/signature") | +| [variables](#variables) | `object` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-variables-for-the-http-request "https://template#/$defs/Template/properties/variables") | +| [constants](#constants) | `object` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-template-properties-constant-for-the-template "https://template#/$defs/Template/properties/constants") | + +### id + +ID is the unique id for the template. + +### Good IDs + +A good ID uniquely identifies what the requests in the template +are doing. Let's say you have a template that identifies a git-config +file on the webservers, a good name would be `git-config-exposure`. Another +example name is `azure-apps-nxdomain-takeover` + +`id` + +* is required + +* Type: `string` ([id of the template](nuclei-schema-defs-template-properties-id-of-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-id-of-the-template "https://template#/$defs/Template/properties/id") + +#### id Type + +`string` ([id of the template](nuclei-schema-defs-template-properties-id-of-the-template)) + +#### id Constraints + +**pattern**: the string must match the following regular expression: + +```regexp +^([a-zA-Z0-9]+[-_])*[a-zA-Z0-9]+$ +``` + +[try pattern](https://regexr.com/?expression=%5E\(%5Ba-zA-Z0-9%5D%2B%5B-_%5D\)*%5Ba-zA-Z0-9%5D%2B%24 "try regular expression with regexr.com") + +#### id Examples + +```json +"example-id" +``` + +```json +"git-config-exposure" +``` + +```json +"azure-apps-nxdomain-takeover" +``` + +```json +"cve-2021-19520" +``` + +### info + +Info contains the required metadata information about the template +It is meant to provide basic but necessary info like name, author , severity +along with many other fields like metadata, classification etc +Note: - +For a template to be valid name,author,severity of `info` section must be set + +`info` + +* is required + +* Type: `object` ([info for the template](nuclei-schema-defs-info)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-info "https://template#/$defs/Template/properties/info") + +#### info Type + +`object` ([info for the template](nuclei-schema-defs-info)) + +#### info Examples + +```json +"\n\tname: Example Template\n\tauthor: pdteam\n\tseverity: info\n\tdescription: This is an example template" +``` + +```json +"\n\tname: example-template\n\tauthor: pdteam\n\tseverity: unknown\n\tdescription: Example description of the template\n\timpact: Impact of the template\n\treference: \n\t - https://example.com\n\tmetadata: \n\t max-request: 1\n\ttags: http" +``` + +### flow + +Flow describes how multiple request-blocks/protocols should be combined together and executed +It is a javascript code where each protocol is a function and all request-blocks are indexed by their corresponding index in request array +Example: +flow: http(1) && http(2) +means that second http request will be executed only if first http request is successful (aka matched) + +`flow` + +* is optional + +* Type: `string` ([template execution flow in js](nuclei-schema-defs-template-properties-template-execution-flow-in-js)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-template-execution-flow-in-js "https://template#/$defs/Template/properties/flow") + +#### flow Type + +`string` ([template execution flow in js](nuclei-schema-defs-template-properties-template-execution-flow-in-js)) + +#### flow Examples + +```json +"'flow: http(0) && http(1)'" +``` + +```json +"http(1) && http(2)" +``` + +```json +" | # example-vhost-enum\n\tssl(); // -> execute all ssl protocol requests\n\tdns(); // -> execute all dns protocol requests\n\tfor (let got of template.domains) { // -> iterate over 'domains' array variable\n\t\tset('vhost', got); // -> set 'vhost' variable to current domain\n\t\thttp(); // -> execute all http protocol requests\n\t}\n" +``` + +### requests + +HTTP requests to make for the template + +`requests` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-http-requests-to-make "https://template#/$defs/Template/properties/requests") + +#### requests Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +### http + +HTTP requests to make for the template + +`http` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-http-requests-to-make-1 "https://template#/$defs/Template/properties/http") + +#### http Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +### dns + +DNS requests to make for the template + +`dns` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-dns-requests-to-make "https://template#/$defs/Template/properties/dns") + +#### dns Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +### file + +File requests to make for the template + +`file` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-file-requests-to-make "https://template#/$defs/Template/properties/file") + +#### file Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +### network + +Network requests to make for the template + +`network` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-network-requests-to-make "https://template#/$defs/Template/properties/network") + +#### network Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +### tcp + +Network requests to make for the template + +`tcp` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-networktcp-requests-to-make "https://template#/$defs/Template/properties/tcp") + +#### tcp Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +### headless + +Headless requests to make for the template + +`headless` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-headless-requests-to-make "https://template#/$defs/Template/properties/headless") + +#### headless Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +### ssl + +SSL requests to make for the template + +`ssl` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-ssl-requests-to-make "https://template#/$defs/Template/properties/ssl") + +#### ssl Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +### websocket + +Websocket requests to make for the template + +`websocket` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-websocket-requests-to-make "https://template#/$defs/Template/properties/websocket") + +#### websocket Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +### whois + +WHOIS requests to make for the template + +`whois` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-whois-requests-to-make "https://template#/$defs/Template/properties/whois") + +#### whois Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +### code + +Code snippets + +`code` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-code-snippets-to-make "https://template#/$defs/Template/properties/code") + +#### code Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +### javascript + +Javascript requests to make for the template + +`javascript` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-javascript-requests-to-make "https://template#/$defs/Template/properties/javascript") + +#### javascript Type + +`object[]` ([Details](nuclei-schema-defs-request)) + +### workflows + +List of workflows to execute for template + +`workflows` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-workflowtemplate)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-list-of-workflows-to-execute "https://template#/$defs/Template/properties/workflows") + +#### workflows Type + +`object[]` ([Details](nuclei-schema-defs-workflowtemplate)) + +### self-contained + +Self-contained marks all requests in this template as independent of input which means input/target is not required for execution of template +but other variables defined in template need to be explicitly set using -V flag +Default value is false +Note: self-contained templates only run once regardless of how many targets where provided to nuclei +Example: + +```yaml +self-contained: true +``` + +Full example template of self-contained is available at + +`self-contained` + +* is optional + +* Type: `boolean` ([mark requests as self-contained](nuclei-schema-defs-template-properties-mark-requests-as-self-contained)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-mark-requests-as-self-contained "https://template#/$defs/Template/properties/self-contained") + +#### self-contained Type + +`boolean` ([mark requests as self-contained](nuclei-schema-defs-template-properties-mark-requests-as-self-contained)) + +#### self-contained Examples + +```json +true +``` + +### stop-at-first-match + +stop-at-first-match stops the execution of template as soon as first match/result was found in a template given that template was sending multiple requests +this is required in case of default-login , brute-force and even detection templates where multiple requests are sent from template but we want to exit as soon as first match/result was found +Example: + +```yaml +stop-at-first-match: true +``` + +Full example template of stop-at-first-match is available at + +`stop-at-first-match` + +* is optional + +* Type: `boolean` ([stop at first match](nuclei-schema-defs-template-properties-stop-at-first-match)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-stop-at-first-match "https://template#/$defs/Template/properties/stop-at-first-match") + +#### stop-at-first-match Type + +`boolean` ([stop at first match](nuclei-schema-defs-template-properties-stop-at-first-match)) + +#### stop-at-first-match Examples + +```json +true +``` + +### signature + +Signature is the HTTP Request signature Method + +`signature` + +* is optional + +* Type: `object` ([signature is the http request signature method](nuclei-schema-defs-signaturetypeholder)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-signaturetypeholder "https://template#/$defs/Template/properties/signature") + +#### signature Type + +`object` ([signature is the http request signature method](nuclei-schema-defs-signaturetypeholder)) + +### variables + +Variables are the global variables that once defined here can be used anywhere in the template +Variables are evaluated in the order they are defined so one variable can be referenced in another variable +Variables are evaluated before sending every requests so one can reference any variables that are available at runtime and they will be evaluate and used when referenced +Example: + +```yaml +variables: + oast: {{interact-sh}} + payload: "{{base64(oast)}}" +``` + +Full example template of variables is available at +Note: - +These variables can be overridden by -V flag at runtime if needed + +`variables` + +* is optional + +* Type: `object` ([variables for the http request](nuclei-schema-defs-template-properties-variables-for-the-http-request)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-variables-for-the-http-request "https://template#/$defs/Template/properties/variables") + +#### variables Type + +`object` ([variables for the http request](nuclei-schema-defs-template-properties-variables-for-the-http-request)) + +#### variables Examples + +```json +"\n\tdomain: \"{{FQDN}}\"\n\temail: pdteam@{{domain}}" +``` + +```json +"\n\toast: \"{{interact-sh}}\"\n\tpayload: \"{{base64(oast)}}\"" +``` + +### constants + +Constants are the global constants that once defined here can be used anywhere in the template +It can be used in same way as variables but only difference is that constants cannot be overridden by -V flag at runtime +Example: + +```yaml +constants: + exploit: 'x0x0x0x0x0x0x +``` + +`constants` + +* is optional + +* Type: `object` ([constant for the template](nuclei-schema-defs-template-properties-constant-for-the-template)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-template-properties-constant-for-the-template "https://template#/$defs/Template/properties/constants") + +#### constants Type + +`object` ([constant for the template](nuclei-schema-defs-template-properties-constant-for-the-template)) + +#### constants Examples + +```json +"\n\texploit: 'x0x0x0x0x0x0x" +``` + +## Definitions group Variable + +Reference this group by using + +```json +{"$ref":"https://template#/$defs/Variable"} +``` + +| Property | Type | Required | Nullable | Defined by | +| :------- | :--- | :------- | :------- | :--------- | + +## Definitions group WorkflowTemplate + +Reference this group by using + +```json +{"$ref":"https://template#/$defs/WorkflowTemplate"} +``` + +| Property | Type | Required | Nullable | Defined by | +| :---------------------------- | :------- | :------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| [template](#template) | `string` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-workflowtemplate-properties-templatedirectory-to-execute "https://template#/$defs/WorkflowTemplate/properties/template") | +| [tags](#tags-1) | Merged | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-stringorslice "https://template#/$defs/WorkflowTemplate/properties/tags") | +| [matchers](#matchers-1) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-workflowtemplate-properties-name-based-template-result-matchers "https://template#/$defs/WorkflowTemplate/properties/matchers") | +| [subtemplates](#subtemplates) | `array` | Optional | cannot be null | [Untitled schema](nuclei-schema-defs-workflowtemplate-properties-subtemplate-based-result-matchers "https://template#/$defs/WorkflowTemplate/properties/subtemplates") | + +### template + +Template or directory to execute as part of workflow + +`template` + +* is optional + +* Type: `string` ([template/directory to execute](nuclei-schema-defs-workflowtemplate-properties-templatedirectory-to-execute)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-workflowtemplate-properties-templatedirectory-to-execute "https://template#/$defs/WorkflowTemplate/properties/template") + +#### template Type + +`string` ([template/directory to execute](nuclei-schema-defs-workflowtemplate-properties-templatedirectory-to-execute)) + +### tags + +Tags to run template based on + +`tags` + +* is optional + +* Type: merged type ([tags to execute](nuclei-schema-defs-stringorslice)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-stringorslice "https://template#/$defs/WorkflowTemplate/properties/tags") + +#### tags Type + +merged type ([tags to execute](nuclei-schema-defs-stringorslice)) + +one (and only one) of + +* [Untitled string in undefined](nuclei-schema-defs-stringorslice-oneof-0 "check type definition") + +* [Untitled array in undefined](nuclei-schema-defs-stringorslice-oneof-1 "check type definition") + +### matchers + +Matchers perform name based matching to run subtemplates for a workflow + +`matchers` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-matcher)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-workflowtemplate-properties-name-based-template-result-matchers "https://template#/$defs/WorkflowTemplate/properties/matchers") + +#### matchers Type + +`object[]` ([Details](nuclei-schema-defs-matcher)) + +### subtemplates + +Subtemplates are ran if the template field Template matches + +`subtemplates` + +* is optional + +* Type: `object[]` ([Details](nuclei-schema-defs-workflowtemplate)) + +* cannot be null + +* defined in: [Untitled schema](nuclei-schema-defs-workflowtemplate-properties-subtemplate-based-result-matchers "https://template#/$defs/WorkflowTemplate/properties/subtemplates") + +#### subtemplates Type + +`object[]` ([Details](nuclei-schema-defs-workflowtemplate))