mirror of https://github.com/daffainfo/nuclei.git
Auto Generate Syntax Docs + JSONSchema [Thu Dec 2 19:06:54 UTC 2021] 🤖
parent
982d3c3e61
commit
5eb17833e4
|
@ -576,6 +576,38 @@ Appears in:
|
|||
|
||||
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="dd">
|
||||
|
||||
<code></code> <i>Severity</i>
|
||||
|
||||
</div>
|
||||
<div class="dt">
|
||||
|
||||
|
||||
|
||||
|
||||
Enum Values:
|
||||
|
||||
|
||||
- <code>undefined</code>
|
||||
|
||||
- <code>info</code>
|
||||
|
||||
- <code>low</code>
|
||||
|
||||
- <code>medium</code>
|
||||
|
||||
- <code>high</code>
|
||||
|
||||
- <code>critical</code>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## model.Classification
|
||||
|
@ -715,8 +747,26 @@ path:
|
|||
method: GET
|
||||
```
|
||||
|
||||
Part Definitions:
|
||||
|
||||
|
||||
- <code>template-id</code> - ID of the template executed
|
||||
- <code>template-info</code> - Info Block of the template executed
|
||||
- <code>template-path</code> - Path of the template executed
|
||||
- <code>host</code> - Host is the input to the template
|
||||
- <code>matched</code> - Matched is the input which was matched upon
|
||||
- <code>type</code> - Type is the type of request made
|
||||
- <code>request</code> - HTTP request made from the client
|
||||
- <code>response</code> - HTTP response recieved from server
|
||||
- <code>status_code</code> - Status Code received from the Server
|
||||
- <code>body</code> - HTTP response body received from server (default)
|
||||
- <code>content_length</code> - HTTP Response content length
|
||||
- <code>header,all_headers</code> - HTTP response headers
|
||||
- <code>duration</code> - HTTP request time duration
|
||||
- <code>all</code> - HTTP response body + headers
|
||||
- <code>cookies_from_response</code> - HTTP response cookies in name:value format
|
||||
- <code>headers_from_response</code> - HTTP response headers in name:value format
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="dd">
|
||||
|
@ -892,7 +942,7 @@ Valid values:
|
|||
|
||||
<div class="dd">
|
||||
|
||||
<code>method</code> <i>HTTPMethodTypeHolder</i>
|
||||
<code>method</code> <i><a href="#httpmethodtypeholder">HTTPMethodTypeHolder</a></i>
|
||||
|
||||
</div>
|
||||
<div class="dt">
|
||||
|
@ -1278,7 +1328,7 @@ Appears in:
|
|||
|
||||
<div class="dd">
|
||||
|
||||
<code>type</code> <i>MatcherTypeHolder</i>
|
||||
<code>type</code> <i><a href="#matchertypeholder">MatcherTypeHolder</a></i>
|
||||
|
||||
</div>
|
||||
<div class="dt">
|
||||
|
@ -1597,6 +1647,52 @@ Valid values:
|
|||
|
||||
|
||||
|
||||
## MatcherTypeHolder
|
||||
MatcherTypeHolder is used to hold internal type of the matcher
|
||||
|
||||
Appears in:
|
||||
|
||||
|
||||
- <code><a href="#matchersmatcher">matchers.Matcher</a>.type</code>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="dd">
|
||||
|
||||
<code></code> <i>MatcherType</i>
|
||||
|
||||
</div>
|
||||
<div class="dt">
|
||||
|
||||
|
||||
|
||||
|
||||
Enum Values:
|
||||
|
||||
|
||||
- <code>word</code>
|
||||
|
||||
- <code>regex</code>
|
||||
|
||||
- <code>binary</code>
|
||||
|
||||
- <code>status</code>
|
||||
|
||||
- <code>size</code>
|
||||
|
||||
- <code>dsl</code>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## extractors.Extractor
|
||||
Extractor is used to extract part of response using a regex.
|
||||
|
||||
|
@ -1649,7 +1745,7 @@ name: cookie-extractor
|
|||
|
||||
<div class="dd">
|
||||
|
||||
<code>type</code> <i>ExtractorTypeHolder</i>
|
||||
<code>type</code> <i><a href="#extractortypeholder">ExtractorTypeHolder</a></i>
|
||||
|
||||
</div>
|
||||
<div class="dt">
|
||||
|
@ -1891,6 +1987,48 @@ Valid values:
|
|||
|
||||
|
||||
|
||||
## ExtractorTypeHolder
|
||||
ExtractorTypeHolder is used to hold internal type of the extractor
|
||||
|
||||
Appears in:
|
||||
|
||||
|
||||
- <code><a href="#extractorsextractor">extractors.Extractor</a>.type</code>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="dd">
|
||||
|
||||
<code></code> <i>ExtractorType</i>
|
||||
|
||||
</div>
|
||||
<div class="dt">
|
||||
|
||||
|
||||
|
||||
|
||||
Enum Values:
|
||||
|
||||
|
||||
- <code>regex</code>
|
||||
|
||||
- <code>kval</code>
|
||||
|
||||
- <code>xpath</code>
|
||||
|
||||
- <code>json</code>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## generators.AttackTypeHolder
|
||||
AttackTypeHolder is used to hold internal type of the protocol
|
||||
|
||||
|
@ -1907,6 +2045,86 @@ Appears in:
|
|||
|
||||
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="dd">
|
||||
|
||||
<code></code> <i>AttackType</i>
|
||||
|
||||
</div>
|
||||
<div class="dt">
|
||||
|
||||
|
||||
|
||||
|
||||
Enum Values:
|
||||
|
||||
|
||||
- <code>batteringram</code>
|
||||
|
||||
- <code>pitchfork</code>
|
||||
|
||||
- <code>clusterbomb</code>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## HTTPMethodTypeHolder
|
||||
HTTPMethodTypeHolder is used to hold internal type of the HTTP Method
|
||||
|
||||
Appears in:
|
||||
|
||||
|
||||
- <code><a href="#httprequest">http.Request</a>.method</code>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="dd">
|
||||
|
||||
<code></code> <i>HTTPMethodType</i>
|
||||
|
||||
</div>
|
||||
<div class="dt">
|
||||
|
||||
|
||||
|
||||
|
||||
Enum Values:
|
||||
|
||||
|
||||
- <code>GET</code>
|
||||
|
||||
- <code>GET</code>
|
||||
|
||||
- <code>POST</code>
|
||||
|
||||
- <code>PUT</code>
|
||||
|
||||
- <code>DELETE</code>
|
||||
|
||||
- <code>CONNECT</code>
|
||||
|
||||
- <code>OPTIONS</code>
|
||||
|
||||
- <code>TRACE</code>
|
||||
|
||||
- <code>PATCH</code>
|
||||
|
||||
- <code>PURGE</code>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## dns.Request
|
||||
|
@ -1931,8 +2149,24 @@ retries: 2
|
|||
recursion: true
|
||||
```
|
||||
|
||||
Part Definitions:
|
||||
|
||||
|
||||
- <code>template-id</code> - ID of the template executed
|
||||
- <code>template-info</code> - Info Block of the template executed
|
||||
- <code>template-path</code> - Path of the template executed
|
||||
- <code>host</code> - Host is the input to the template
|
||||
- <code>matched</code> - Matched is the input which was matched upon
|
||||
- <code>request</code> - Request contains the DNS request in text format
|
||||
- <code>type</code> - Type is the type of request made
|
||||
- <code>rcode</code> - Rcode field returned for the DNS request
|
||||
- <code>question</code> - Question contains the DNS question field
|
||||
- <code>extra</code> - Extra contains the DNS response extra field
|
||||
- <code>answer</code> - Answer contains the DNS response answer field
|
||||
- <code>ns</code> - NS contains the DNS response NS field
|
||||
- <code>raw,body,all</code> - Raw contains the raw DNS response (default)
|
||||
- <code>trace</code> - Trace contains trace data for DNS request if enabled
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="dd">
|
||||
|
@ -2027,7 +2261,7 @@ name: '{{FQDN}}'
|
|||
|
||||
<div class="dd">
|
||||
|
||||
<code>type</code> <i>DNSRequestTypeHolder</i>
|
||||
<code>type</code> <i><a href="#dnsrequesttypeholder">DNSRequestTypeHolder</a></i>
|
||||
|
||||
</div>
|
||||
<div class="dt">
|
||||
|
@ -2159,6 +2393,58 @@ Resolvers to use for the dns requests
|
|||
|
||||
|
||||
|
||||
## DNSRequestTypeHolder
|
||||
DNSRequestTypeHolder is used to hold internal type of the DNS type
|
||||
|
||||
Appears in:
|
||||
|
||||
|
||||
- <code><a href="#dnsrequest">dns.Request</a>.type</code>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="dd">
|
||||
|
||||
<code></code> <i>DNSRequestType</i>
|
||||
|
||||
</div>
|
||||
<div class="dt">
|
||||
|
||||
|
||||
|
||||
|
||||
Enum Values:
|
||||
|
||||
|
||||
- <code>A</code>
|
||||
|
||||
- <code>NS</code>
|
||||
|
||||
- <code>DS</code>
|
||||
|
||||
- <code>CNAME</code>
|
||||
|
||||
- <code>SOA</code>
|
||||
|
||||
- <code>PTR</code>
|
||||
|
||||
- <code>MX</code>
|
||||
|
||||
- <code>TXT</code>
|
||||
|
||||
- <code>AAAA</code>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## file.Request
|
||||
Request contains a File matching mechanism for local disk operations.
|
||||
|
||||
|
@ -2177,8 +2463,17 @@ extensions:
|
|||
- all
|
||||
```
|
||||
|
||||
Part Definitions:
|
||||
|
||||
|
||||
- <code>template-id</code> - ID of the template executed
|
||||
- <code>template-info</code> - Info Block of the template executed
|
||||
- <code>template-path</code> - Path of the template executed
|
||||
- <code>matched</code> - Matched is the input which was matched upon
|
||||
- <code>path</code> - Path is the path of file on local filesystem
|
||||
- <code>type</code> - Type is the type of request made
|
||||
- <code>raw,body,all,data</code> - Raw contains the raw file contents
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="dd">
|
||||
|
@ -2366,8 +2661,19 @@ matchers:
|
|||
- zookeeper.version
|
||||
```
|
||||
|
||||
Part Definitions:
|
||||
|
||||
|
||||
- <code>template-id</code> - ID of the template executed
|
||||
- <code>template-info</code> - Info Block of the template executed
|
||||
- <code>template-path</code> - Path of the template executed
|
||||
- <code>host</code> - Host is the input to the template
|
||||
- <code>matched</code> - Matched is the input which was matched upon
|
||||
- <code>type</code> - Type is the type of request made
|
||||
- <code>request</code> - Network request made from the client
|
||||
- <code>body,all,data</code> - Network response recieved from server (default)
|
||||
- <code>raw</code> - Full Network protocol data
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="dd">
|
||||
|
@ -2606,7 +2912,7 @@ data: hex_decode('50494e47')
|
|||
|
||||
<div class="dd">
|
||||
|
||||
<code>type</code> <i>NetworkInputTypeHolder</i>
|
||||
<code>type</code> <i><a href="#networkinputtypeholder">NetworkInputTypeHolder</a></i>
|
||||
|
||||
</div>
|
||||
<div class="dt">
|
||||
|
@ -2682,6 +2988,44 @@ name: prefix
|
|||
|
||||
|
||||
|
||||
## NetworkInputTypeHolder
|
||||
NetworkInputTypeHolder is used to hold internal type of the Network type
|
||||
|
||||
Appears in:
|
||||
|
||||
|
||||
- <code><a href="#networkinput">network.Input</a>.type</code>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="dd">
|
||||
|
||||
<code></code> <i>NetworkInputType</i>
|
||||
|
||||
</div>
|
||||
<div class="dt">
|
||||
|
||||
|
||||
|
||||
|
||||
Enum Values:
|
||||
|
||||
|
||||
- <code>hex</code>
|
||||
|
||||
- <code>text</code>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## headless.Request
|
||||
Request contains a Headless protocol request to be made from a template
|
||||
|
||||
|
@ -2692,8 +3036,18 @@ Appears in:
|
|||
|
||||
|
||||
|
||||
Part Definitions:
|
||||
|
||||
|
||||
- <code>template-id</code> - ID of the template executed
|
||||
- <code>template-info</code> - Info Block of the template executed
|
||||
- <code>template-path</code> - Path of the template executed
|
||||
- <code>host</code> - Host is the input to the template
|
||||
- <code>matched</code> - Matched is the input which was matched upon
|
||||
- <code>type</code> - Type is the type of request made
|
||||
- <code>req</code> - Headless request made from the client
|
||||
- <code>resp,body,data</code> - Headless response recieved from client (default)
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="dd">
|
||||
|
@ -2843,7 +3197,7 @@ Description is the optional description of the headless action
|
|||
|
||||
<div class="dd">
|
||||
|
||||
<code>action</code> <i>ActionTypeHolder</i>
|
||||
<code>action</code> <i><a href="#actiontypeholder">ActionTypeHolder</a></i>
|
||||
|
||||
</div>
|
||||
<div class="dt">
|
||||
|
@ -2858,6 +3212,84 @@ Action is the type of the action to perform.
|
|||
|
||||
|
||||
|
||||
## ActionTypeHolder
|
||||
ActionTypeHolder is used to hold internal type of the action
|
||||
|
||||
Appears in:
|
||||
|
||||
|
||||
- <code><a href="#engineaction">engine.Action</a>.action</code>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="dd">
|
||||
|
||||
<code></code> <i>ActionType</i>
|
||||
|
||||
</div>
|
||||
<div class="dt">
|
||||
|
||||
|
||||
|
||||
|
||||
Enum Values:
|
||||
|
||||
|
||||
- <code>navigate</code>
|
||||
|
||||
- <code>script</code>
|
||||
|
||||
- <code>click</code>
|
||||
|
||||
- <code>rightclick</code>
|
||||
|
||||
- <code>text</code>
|
||||
|
||||
- <code>screenshot</code>
|
||||
|
||||
- <code>time</code>
|
||||
|
||||
- <code>select</code>
|
||||
|
||||
- <code>files</code>
|
||||
|
||||
- <code>waitload</code>
|
||||
|
||||
- <code>getresource</code>
|
||||
|
||||
- <code>extract</code>
|
||||
|
||||
- <code>setmethod</code>
|
||||
|
||||
- <code>addheader</code>
|
||||
|
||||
- <code>setheader</code>
|
||||
|
||||
- <code>deleteheader</code>
|
||||
|
||||
- <code>setbody</code>
|
||||
|
||||
- <code>waitevent</code>
|
||||
|
||||
- <code>keyboard</code>
|
||||
|
||||
- <code>debug</code>
|
||||
|
||||
- <code>sleep</code>
|
||||
|
||||
- <code>waitvisible</code>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## ssl.Request
|
||||
Request is a request for the SSL protocol
|
||||
|
||||
|
@ -2868,8 +3300,15 @@ Appears in:
|
|||
|
||||
|
||||
|
||||
Part Definitions:
|
||||
|
||||
|
||||
- <code>type</code> - Type is the type of request made
|
||||
- <code>response</code> - JSON SSL protocol handshake details
|
||||
- <code>not_after</code> - Timestamp after which the remote cert expires
|
||||
- <code>host</code> - Host is the input to the template
|
||||
- <code>matched</code> - Matched is the input which was matched upon
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="dd">
|
||||
|
@ -2951,8 +3390,16 @@ Appears in:
|
|||
|
||||
|
||||
|
||||
Part Definitions:
|
||||
|
||||
|
||||
- <code>type</code> - Type is the type of request made
|
||||
- <code>success</code> - Success specifies whether websocket connection was successful
|
||||
- <code>request</code> - Websocket request made to the server
|
||||
- <code>response</code> - Websocket response recieved from the server
|
||||
- <code>host</code> - Host is the input to the template
|
||||
- <code>matched</code> - Matched is the input which was matched upon
|
||||
|
||||
<hr />
|
||||
|
||||
<div class="dd">
|
||||
|
|
|
@ -16,14 +16,20 @@ var (
|
|||
MODELClassificationDoc encoder.Doc
|
||||
HTTPRequestDoc encoder.Doc
|
||||
MATCHERSMatcherDoc encoder.Doc
|
||||
MatcherTypeHolderDoc encoder.Doc
|
||||
EXTRACTORSExtractorDoc encoder.Doc
|
||||
ExtractorTypeHolderDoc encoder.Doc
|
||||
GENERATORSAttackTypeHolderDoc encoder.Doc
|
||||
HTTPMethodTypeHolderDoc encoder.Doc
|
||||
DNSRequestDoc encoder.Doc
|
||||
DNSRequestTypeHolderDoc encoder.Doc
|
||||
FILERequestDoc encoder.Doc
|
||||
NETWORKRequestDoc encoder.Doc
|
||||
NETWORKInputDoc encoder.Doc
|
||||
NetworkInputTypeHolderDoc encoder.Doc
|
||||
HEADLESSRequestDoc encoder.Doc
|
||||
ENGINEActionDoc encoder.Doc
|
||||
ActionTypeHolderDoc encoder.Doc
|
||||
SSLRequestDoc encoder.Doc
|
||||
WEBSOCKETRequestDoc encoder.Doc
|
||||
WEBSOCKETInputDoc encoder.Doc
|
||||
|
@ -235,7 +241,20 @@ func init() {
|
|||
FieldName: "severity",
|
||||
},
|
||||
}
|
||||
SEVERITYHolderDoc.Fields = make([]encoder.Doc, 0)
|
||||
SEVERITYHolderDoc.Fields = make([]encoder.Doc, 1)
|
||||
SEVERITYHolderDoc.Fields[0].Name = ""
|
||||
SEVERITYHolderDoc.Fields[0].Type = "Severity"
|
||||
SEVERITYHolderDoc.Fields[0].Note = ""
|
||||
SEVERITYHolderDoc.Fields[0].Description = ""
|
||||
SEVERITYHolderDoc.Fields[0].Comments[encoder.LineComment] = ""
|
||||
SEVERITYHolderDoc.Fields[0].EnumFields = []string{
|
||||
"undefined",
|
||||
"info",
|
||||
"low",
|
||||
"medium",
|
||||
"high",
|
||||
"critical",
|
||||
}
|
||||
|
||||
MODELClassificationDoc.Type = "model.Classification"
|
||||
MODELClassificationDoc.Comments[encoder.LineComment] = ""
|
||||
|
@ -287,6 +306,72 @@ func init() {
|
|||
FieldName: "requests",
|
||||
},
|
||||
}
|
||||
HTTPRequestDoc.PartDefinitions = []encoder.KeyValue{
|
||||
{
|
||||
Key: "template-id",
|
||||
Value: "ID of the template executed",
|
||||
},
|
||||
{
|
||||
Key: "template-info",
|
||||
Value: "Info Block of the template executed",
|
||||
},
|
||||
{
|
||||
Key: "template-path",
|
||||
Value: "Path of the template executed",
|
||||
},
|
||||
{
|
||||
Key: "host",
|
||||
Value: "Host is the input to the template",
|
||||
},
|
||||
{
|
||||
Key: "matched",
|
||||
Value: "Matched is the input which was matched upon",
|
||||
},
|
||||
{
|
||||
Key: "type",
|
||||
Value: "Type is the type of request made",
|
||||
},
|
||||
{
|
||||
Key: "request",
|
||||
Value: "HTTP request made from the client",
|
||||
},
|
||||
{
|
||||
Key: "response",
|
||||
Value: "HTTP response recieved from server",
|
||||
},
|
||||
{
|
||||
Key: "status_code",
|
||||
Value: "Status Code received from the Server",
|
||||
},
|
||||
{
|
||||
Key: "body",
|
||||
Value: "HTTP response body received from server (default)",
|
||||
},
|
||||
{
|
||||
Key: "content_length",
|
||||
Value: "HTTP Response content length",
|
||||
},
|
||||
{
|
||||
Key: "header,all_headers",
|
||||
Value: "HTTP response headers",
|
||||
},
|
||||
{
|
||||
Key: "duration",
|
||||
Value: "HTTP request time duration",
|
||||
},
|
||||
{
|
||||
Key: "all",
|
||||
Value: "HTTP response body + headers",
|
||||
},
|
||||
{
|
||||
Key: "cookies_from_response",
|
||||
Value: "HTTP response cookies in name:value format",
|
||||
},
|
||||
{
|
||||
Key: "headers_from_response",
|
||||
Value: "HTTP response headers in name:value format",
|
||||
},
|
||||
}
|
||||
HTTPRequestDoc.Fields = make([]encoder.Doc, 27)
|
||||
HTTPRequestDoc.Fields[0].Name = "matchers"
|
||||
HTTPRequestDoc.Fields[0].Type = "[]matchers.Matcher"
|
||||
|
@ -590,6 +675,30 @@ func init() {
|
|||
"true",
|
||||
}
|
||||
|
||||
MatcherTypeHolderDoc.Type = "MatcherTypeHolder"
|
||||
MatcherTypeHolderDoc.Comments[encoder.LineComment] = " MatcherTypeHolder is used to hold internal type of the matcher"
|
||||
MatcherTypeHolderDoc.Description = "MatcherTypeHolder is used to hold internal type of the matcher"
|
||||
MatcherTypeHolderDoc.AppearsIn = []encoder.Appearance{
|
||||
{
|
||||
TypeName: "matchers.Matcher",
|
||||
FieldName: "type",
|
||||
},
|
||||
}
|
||||
MatcherTypeHolderDoc.Fields = make([]encoder.Doc, 1)
|
||||
MatcherTypeHolderDoc.Fields[0].Name = ""
|
||||
MatcherTypeHolderDoc.Fields[0].Type = "MatcherType"
|
||||
MatcherTypeHolderDoc.Fields[0].Note = ""
|
||||
MatcherTypeHolderDoc.Fields[0].Description = ""
|
||||
MatcherTypeHolderDoc.Fields[0].Comments[encoder.LineComment] = ""
|
||||
MatcherTypeHolderDoc.Fields[0].EnumFields = []string{
|
||||
"word",
|
||||
"regex",
|
||||
"binary",
|
||||
"status",
|
||||
"size",
|
||||
"dsl",
|
||||
}
|
||||
|
||||
EXTRACTORSExtractorDoc.Type = "extractors.Extractor"
|
||||
EXTRACTORSExtractorDoc.Comments[encoder.LineComment] = " Extractor is used to extract part of response using a regex."
|
||||
EXTRACTORSExtractorDoc.Description = "Extractor is used to extract part of response using a regex."
|
||||
|
@ -704,6 +813,28 @@ func init() {
|
|||
"true",
|
||||
}
|
||||
|
||||
ExtractorTypeHolderDoc.Type = "ExtractorTypeHolder"
|
||||
ExtractorTypeHolderDoc.Comments[encoder.LineComment] = " ExtractorTypeHolder is used to hold internal type of the extractor"
|
||||
ExtractorTypeHolderDoc.Description = "ExtractorTypeHolder is used to hold internal type of the extractor"
|
||||
ExtractorTypeHolderDoc.AppearsIn = []encoder.Appearance{
|
||||
{
|
||||
TypeName: "extractors.Extractor",
|
||||
FieldName: "type",
|
||||
},
|
||||
}
|
||||
ExtractorTypeHolderDoc.Fields = make([]encoder.Doc, 1)
|
||||
ExtractorTypeHolderDoc.Fields[0].Name = ""
|
||||
ExtractorTypeHolderDoc.Fields[0].Type = "ExtractorType"
|
||||
ExtractorTypeHolderDoc.Fields[0].Note = ""
|
||||
ExtractorTypeHolderDoc.Fields[0].Description = ""
|
||||
ExtractorTypeHolderDoc.Fields[0].Comments[encoder.LineComment] = ""
|
||||
ExtractorTypeHolderDoc.Fields[0].EnumFields = []string{
|
||||
"regex",
|
||||
"kval",
|
||||
"xpath",
|
||||
"json",
|
||||
}
|
||||
|
||||
GENERATORSAttackTypeHolderDoc.Type = "generators.AttackTypeHolder"
|
||||
GENERATORSAttackTypeHolderDoc.Comments[encoder.LineComment] = " AttackTypeHolder is used to hold internal type of the protocol"
|
||||
GENERATORSAttackTypeHolderDoc.Description = "AttackTypeHolder is used to hold internal type of the protocol"
|
||||
|
@ -721,7 +852,45 @@ func init() {
|
|||
FieldName: "attack",
|
||||
},
|
||||
}
|
||||
GENERATORSAttackTypeHolderDoc.Fields = make([]encoder.Doc, 0)
|
||||
GENERATORSAttackTypeHolderDoc.Fields = make([]encoder.Doc, 1)
|
||||
GENERATORSAttackTypeHolderDoc.Fields[0].Name = ""
|
||||
GENERATORSAttackTypeHolderDoc.Fields[0].Type = "AttackType"
|
||||
GENERATORSAttackTypeHolderDoc.Fields[0].Note = ""
|
||||
GENERATORSAttackTypeHolderDoc.Fields[0].Description = ""
|
||||
GENERATORSAttackTypeHolderDoc.Fields[0].Comments[encoder.LineComment] = ""
|
||||
GENERATORSAttackTypeHolderDoc.Fields[0].EnumFields = []string{
|
||||
"batteringram",
|
||||
"pitchfork",
|
||||
"clusterbomb",
|
||||
}
|
||||
|
||||
HTTPMethodTypeHolderDoc.Type = "HTTPMethodTypeHolder"
|
||||
HTTPMethodTypeHolderDoc.Comments[encoder.LineComment] = " HTTPMethodTypeHolder is used to hold internal type of the HTTP Method"
|
||||
HTTPMethodTypeHolderDoc.Description = "HTTPMethodTypeHolder is used to hold internal type of the HTTP Method"
|
||||
HTTPMethodTypeHolderDoc.AppearsIn = []encoder.Appearance{
|
||||
{
|
||||
TypeName: "http.Request",
|
||||
FieldName: "method",
|
||||
},
|
||||
}
|
||||
HTTPMethodTypeHolderDoc.Fields = make([]encoder.Doc, 1)
|
||||
HTTPMethodTypeHolderDoc.Fields[0].Name = ""
|
||||
HTTPMethodTypeHolderDoc.Fields[0].Type = "HTTPMethodType"
|
||||
HTTPMethodTypeHolderDoc.Fields[0].Note = ""
|
||||
HTTPMethodTypeHolderDoc.Fields[0].Description = ""
|
||||
HTTPMethodTypeHolderDoc.Fields[0].Comments[encoder.LineComment] = ""
|
||||
HTTPMethodTypeHolderDoc.Fields[0].EnumFields = []string{
|
||||
"GET",
|
||||
"GET",
|
||||
"POST",
|
||||
"PUT",
|
||||
"DELETE",
|
||||
"CONNECT",
|
||||
"OPTIONS",
|
||||
"TRACE",
|
||||
"PATCH",
|
||||
"PURGE",
|
||||
}
|
||||
|
||||
DNSRequestDoc.Type = "dns.Request"
|
||||
DNSRequestDoc.Comments[encoder.LineComment] = " Request contains a DNS protocol request to be made from a template"
|
||||
|
@ -734,6 +903,64 @@ func init() {
|
|||
FieldName: "dns",
|
||||
},
|
||||
}
|
||||
DNSRequestDoc.PartDefinitions = []encoder.KeyValue{
|
||||
{
|
||||
Key: "template-id",
|
||||
Value: "ID of the template executed",
|
||||
},
|
||||
{
|
||||
Key: "template-info",
|
||||
Value: "Info Block of the template executed",
|
||||
},
|
||||
{
|
||||
Key: "template-path",
|
||||
Value: "Path of the template executed",
|
||||
},
|
||||
{
|
||||
Key: "host",
|
||||
Value: "Host is the input to the template",
|
||||
},
|
||||
{
|
||||
Key: "matched",
|
||||
Value: "Matched is the input which was matched upon",
|
||||
},
|
||||
{
|
||||
Key: "request",
|
||||
Value: "Request contains the DNS request in text format",
|
||||
},
|
||||
{
|
||||
Key: "type",
|
||||
Value: "Type is the type of request made",
|
||||
},
|
||||
{
|
||||
Key: "rcode",
|
||||
Value: "Rcode field returned for the DNS request",
|
||||
},
|
||||
{
|
||||
Key: "question",
|
||||
Value: "Question contains the DNS question field",
|
||||
},
|
||||
{
|
||||
Key: "extra",
|
||||
Value: "Extra contains the DNS response extra field",
|
||||
},
|
||||
{
|
||||
Key: "answer",
|
||||
Value: "Answer contains the DNS response answer field",
|
||||
},
|
||||
{
|
||||
Key: "ns",
|
||||
Value: "NS contains the DNS response NS field",
|
||||
},
|
||||
{
|
||||
Key: "raw,body,all",
|
||||
Value: "Raw contains the raw DNS response (default)",
|
||||
},
|
||||
{
|
||||
Key: "trace",
|
||||
Value: "Trace contains trace data for DNS request if enabled",
|
||||
},
|
||||
}
|
||||
DNSRequestDoc.Fields = make([]encoder.Doc, 12)
|
||||
DNSRequestDoc.Fields[0].Name = "matchers"
|
||||
DNSRequestDoc.Fields[0].Type = "[]matchers.Matcher"
|
||||
|
@ -814,6 +1041,33 @@ func init() {
|
|||
DNSRequestDoc.Fields[11].Description = "Resolvers to use for the dns requests"
|
||||
DNSRequestDoc.Fields[11].Comments[encoder.LineComment] = " Resolvers to use for the dns requests"
|
||||
|
||||
DNSRequestTypeHolderDoc.Type = "DNSRequestTypeHolder"
|
||||
DNSRequestTypeHolderDoc.Comments[encoder.LineComment] = " DNSRequestTypeHolder is used to hold internal type of the DNS type"
|
||||
DNSRequestTypeHolderDoc.Description = "DNSRequestTypeHolder is used to hold internal type of the DNS type"
|
||||
DNSRequestTypeHolderDoc.AppearsIn = []encoder.Appearance{
|
||||
{
|
||||
TypeName: "dns.Request",
|
||||
FieldName: "type",
|
||||
},
|
||||
}
|
||||
DNSRequestTypeHolderDoc.Fields = make([]encoder.Doc, 1)
|
||||
DNSRequestTypeHolderDoc.Fields[0].Name = ""
|
||||
DNSRequestTypeHolderDoc.Fields[0].Type = "DNSRequestType"
|
||||
DNSRequestTypeHolderDoc.Fields[0].Note = ""
|
||||
DNSRequestTypeHolderDoc.Fields[0].Description = ""
|
||||
DNSRequestTypeHolderDoc.Fields[0].Comments[encoder.LineComment] = ""
|
||||
DNSRequestTypeHolderDoc.Fields[0].EnumFields = []string{
|
||||
"A",
|
||||
"NS",
|
||||
"DS",
|
||||
"CNAME",
|
||||
"SOA",
|
||||
"PTR",
|
||||
"MX",
|
||||
"TXT",
|
||||
"AAAA",
|
||||
}
|
||||
|
||||
FILERequestDoc.Type = "file.Request"
|
||||
FILERequestDoc.Comments[encoder.LineComment] = " Request contains a File matching mechanism for local disk operations."
|
||||
FILERequestDoc.Description = "Request contains a File matching mechanism for local disk operations."
|
||||
|
@ -825,6 +1079,36 @@ func init() {
|
|||
FieldName: "file",
|
||||
},
|
||||
}
|
||||
FILERequestDoc.PartDefinitions = []encoder.KeyValue{
|
||||
{
|
||||
Key: "template-id",
|
||||
Value: "ID of the template executed",
|
||||
},
|
||||
{
|
||||
Key: "template-info",
|
||||
Value: "Info Block of the template executed",
|
||||
},
|
||||
{
|
||||
Key: "template-path",
|
||||
Value: "Path of the template executed",
|
||||
},
|
||||
{
|
||||
Key: "matched",
|
||||
Value: "Matched is the input which was matched upon",
|
||||
},
|
||||
{
|
||||
Key: "path",
|
||||
Value: "Path is the path of file on local filesystem",
|
||||
},
|
||||
{
|
||||
Key: "type",
|
||||
Value: "Type is the type of request made",
|
||||
},
|
||||
{
|
||||
Key: "raw,body,all,data",
|
||||
Value: "Raw contains the raw file contents",
|
||||
},
|
||||
}
|
||||
FILERequestDoc.Fields = make([]encoder.Doc, 8)
|
||||
FILERequestDoc.Fields[0].Name = "matchers"
|
||||
FILERequestDoc.Fields[0].Type = "[]matchers.Matcher"
|
||||
|
@ -888,6 +1172,44 @@ func init() {
|
|||
FieldName: "network",
|
||||
},
|
||||
}
|
||||
NETWORKRequestDoc.PartDefinitions = []encoder.KeyValue{
|
||||
{
|
||||
Key: "template-id",
|
||||
Value: "ID of the template executed",
|
||||
},
|
||||
{
|
||||
Key: "template-info",
|
||||
Value: "Info Block of the template executed",
|
||||
},
|
||||
{
|
||||
Key: "template-path",
|
||||
Value: "Path of the template executed",
|
||||
},
|
||||
{
|
||||
Key: "host",
|
||||
Value: "Host is the input to the template",
|
||||
},
|
||||
{
|
||||
Key: "matched",
|
||||
Value: "Matched is the input which was matched upon",
|
||||
},
|
||||
{
|
||||
Key: "type",
|
||||
Value: "Type is the type of request made",
|
||||
},
|
||||
{
|
||||
Key: "request",
|
||||
Value: "Network request made from the client",
|
||||
},
|
||||
{
|
||||
Key: "body,all,data",
|
||||
Value: "Network response recieved from server (default)",
|
||||
},
|
||||
{
|
||||
Key: "raw",
|
||||
Value: "Full Network protocol data",
|
||||
},
|
||||
}
|
||||
NETWORKRequestDoc.Fields = make([]encoder.Doc, 10)
|
||||
NETWORKRequestDoc.Fields[0].Name = "id"
|
||||
NETWORKRequestDoc.Fields[0].Type = "string"
|
||||
|
@ -993,6 +1315,26 @@ func init() {
|
|||
|
||||
NETWORKInputDoc.Fields[3].AddExample("", "prefix")
|
||||
|
||||
NetworkInputTypeHolderDoc.Type = "NetworkInputTypeHolder"
|
||||
NetworkInputTypeHolderDoc.Comments[encoder.LineComment] = " NetworkInputTypeHolder is used to hold internal type of the Network type"
|
||||
NetworkInputTypeHolderDoc.Description = "NetworkInputTypeHolder is used to hold internal type of the Network type"
|
||||
NetworkInputTypeHolderDoc.AppearsIn = []encoder.Appearance{
|
||||
{
|
||||
TypeName: "network.Input",
|
||||
FieldName: "type",
|
||||
},
|
||||
}
|
||||
NetworkInputTypeHolderDoc.Fields = make([]encoder.Doc, 1)
|
||||
NetworkInputTypeHolderDoc.Fields[0].Name = ""
|
||||
NetworkInputTypeHolderDoc.Fields[0].Type = "NetworkInputType"
|
||||
NetworkInputTypeHolderDoc.Fields[0].Note = ""
|
||||
NetworkInputTypeHolderDoc.Fields[0].Description = ""
|
||||
NetworkInputTypeHolderDoc.Fields[0].Comments[encoder.LineComment] = ""
|
||||
NetworkInputTypeHolderDoc.Fields[0].EnumFields = []string{
|
||||
"hex",
|
||||
"text",
|
||||
}
|
||||
|
||||
HEADLESSRequestDoc.Type = "headless.Request"
|
||||
HEADLESSRequestDoc.Comments[encoder.LineComment] = " Request contains a Headless protocol request to be made from a template"
|
||||
HEADLESSRequestDoc.Description = "Request contains a Headless protocol request to be made from a template"
|
||||
|
@ -1002,6 +1344,40 @@ func init() {
|
|||
FieldName: "headless",
|
||||
},
|
||||
}
|
||||
HEADLESSRequestDoc.PartDefinitions = []encoder.KeyValue{
|
||||
{
|
||||
Key: "template-id",
|
||||
Value: "ID of the template executed",
|
||||
},
|
||||
{
|
||||
Key: "template-info",
|
||||
Value: "Info Block of the template executed",
|
||||
},
|
||||
{
|
||||
Key: "template-path",
|
||||
Value: "Path of the template executed",
|
||||
},
|
||||
{
|
||||
Key: "host",
|
||||
Value: "Host is the input to the template",
|
||||
},
|
||||
{
|
||||
Key: "matched",
|
||||
Value: "Matched is the input which was matched upon",
|
||||
},
|
||||
{
|
||||
Key: "type",
|
||||
Value: "Type is the type of request made",
|
||||
},
|
||||
{
|
||||
Key: "req",
|
||||
Value: "Headless request made from the client",
|
||||
},
|
||||
{
|
||||
Key: "resp,body,data",
|
||||
Value: "Headless response recieved from client (default)",
|
||||
},
|
||||
}
|
||||
HEADLESSRequestDoc.Fields = make([]encoder.Doc, 5)
|
||||
HEADLESSRequestDoc.Fields[0].Name = "id"
|
||||
HEADLESSRequestDoc.Fields[0].Type = "string"
|
||||
|
@ -1064,6 +1440,46 @@ func init() {
|
|||
ENGINEActionDoc.Fields[3].Description = "Action is the type of the action to perform."
|
||||
ENGINEActionDoc.Fields[3].Comments[encoder.LineComment] = "Action is the type of the action to perform."
|
||||
|
||||
ActionTypeHolderDoc.Type = "ActionTypeHolder"
|
||||
ActionTypeHolderDoc.Comments[encoder.LineComment] = " ActionTypeHolder is used to hold internal type of the action"
|
||||
ActionTypeHolderDoc.Description = "ActionTypeHolder is used to hold internal type of the action"
|
||||
ActionTypeHolderDoc.AppearsIn = []encoder.Appearance{
|
||||
{
|
||||
TypeName: "engine.Action",
|
||||
FieldName: "action",
|
||||
},
|
||||
}
|
||||
ActionTypeHolderDoc.Fields = make([]encoder.Doc, 1)
|
||||
ActionTypeHolderDoc.Fields[0].Name = ""
|
||||
ActionTypeHolderDoc.Fields[0].Type = "ActionType"
|
||||
ActionTypeHolderDoc.Fields[0].Note = ""
|
||||
ActionTypeHolderDoc.Fields[0].Description = ""
|
||||
ActionTypeHolderDoc.Fields[0].Comments[encoder.LineComment] = ""
|
||||
ActionTypeHolderDoc.Fields[0].EnumFields = []string{
|
||||
"navigate",
|
||||
"script",
|
||||
"click",
|
||||
"rightclick",
|
||||
"text",
|
||||
"screenshot",
|
||||
"time",
|
||||
"select",
|
||||
"files",
|
||||
"waitload",
|
||||
"getresource",
|
||||
"extract",
|
||||
"setmethod",
|
||||
"addheader",
|
||||
"setheader",
|
||||
"deleteheader",
|
||||
"setbody",
|
||||
"waitevent",
|
||||
"keyboard",
|
||||
"debug",
|
||||
"sleep",
|
||||
"waitvisible",
|
||||
}
|
||||
|
||||
SSLRequestDoc.Type = "ssl.Request"
|
||||
SSLRequestDoc.Comments[encoder.LineComment] = " Request is a request for the SSL protocol"
|
||||
SSLRequestDoc.Description = "Request is a request for the SSL protocol"
|
||||
|
@ -1073,6 +1489,28 @@ func init() {
|
|||
FieldName: "ssl",
|
||||
},
|
||||
}
|
||||
SSLRequestDoc.PartDefinitions = []encoder.KeyValue{
|
||||
{
|
||||
Key: "type",
|
||||
Value: "Type is the type of request made",
|
||||
},
|
||||
{
|
||||
Key: "response",
|
||||
Value: "JSON SSL protocol handshake details",
|
||||
},
|
||||
{
|
||||
Key: "not_after",
|
||||
Value: "Timestamp after which the remote cert expires",
|
||||
},
|
||||
{
|
||||
Key: "host",
|
||||
Value: "Host is the input to the template",
|
||||
},
|
||||
{
|
||||
Key: "matched",
|
||||
Value: "Matched is the input which was matched upon",
|
||||
},
|
||||
}
|
||||
SSLRequestDoc.Fields = make([]encoder.Doc, 4)
|
||||
SSLRequestDoc.Fields[0].Name = "matchers"
|
||||
SSLRequestDoc.Fields[0].Type = "[]matchers.Matcher"
|
||||
|
@ -1108,6 +1546,32 @@ func init() {
|
|||
FieldName: "websocket",
|
||||
},
|
||||
}
|
||||
WEBSOCKETRequestDoc.PartDefinitions = []encoder.KeyValue{
|
||||
{
|
||||
Key: "type",
|
||||
Value: "Type is the type of request made",
|
||||
},
|
||||
{
|
||||
Key: "success",
|
||||
Value: "Success specifies whether websocket connection was successful",
|
||||
},
|
||||
{
|
||||
Key: "request",
|
||||
Value: "Websocket request made to the server",
|
||||
},
|
||||
{
|
||||
Key: "response",
|
||||
Value: "Websocket response recieved from the server",
|
||||
},
|
||||
{
|
||||
Key: "host",
|
||||
Value: "Host is the input to the template",
|
||||
},
|
||||
{
|
||||
Key: "matched",
|
||||
Value: "Matched is the input which was matched upon",
|
||||
},
|
||||
}
|
||||
WEBSOCKETRequestDoc.Fields = make([]encoder.Doc, 8)
|
||||
WEBSOCKETRequestDoc.Fields[0].Name = "matchers"
|
||||
WEBSOCKETRequestDoc.Fields[0].Type = "[]matchers.Matcher"
|
||||
|
@ -1259,14 +1723,20 @@ func GetTemplateDoc() *encoder.FileDoc {
|
|||
&MODELClassificationDoc,
|
||||
&HTTPRequestDoc,
|
||||
&MATCHERSMatcherDoc,
|
||||
&MatcherTypeHolderDoc,
|
||||
&EXTRACTORSExtractorDoc,
|
||||
&ExtractorTypeHolderDoc,
|
||||
&GENERATORSAttackTypeHolderDoc,
|
||||
&HTTPMethodTypeHolderDoc,
|
||||
&DNSRequestDoc,
|
||||
&DNSRequestTypeHolderDoc,
|
||||
&FILERequestDoc,
|
||||
&NETWORKRequestDoc,
|
||||
&NETWORKInputDoc,
|
||||
&NetworkInputTypeHolderDoc,
|
||||
&HEADLESSRequestDoc,
|
||||
&ENGINEActionDoc,
|
||||
&ActionTypeHolderDoc,
|
||||
&SSLRequestDoc,
|
||||
&WEBSOCKETRequestDoc,
|
||||
&WEBSOCKETInputDoc,
|
||||
|
|
Loading…
Reference in New Issue