nuclei/pkg/tmplexec
Dogan Can Bakir 7c2db9c394
introduce `template-encoded` field (#4315)
* introduce `template-encoded` field

* remove IsCustomTemplate func

* refactor and move encoding to `MakeResultEventItem` func

* encode template in case of no results were found

* commit to last commit

* don't encode templates when`-ms` is used
2023-11-11 04:42:27 +05:30
..
flow introduce `template-encoded` field (#4315) 2023-11-11 04:42:27 +05:30
generic nuclei v3 : misc updates (#4247) 2023-10-17 17:44:13 +05:30
multiproto introduce `template-encoded` field (#4315) 2023-11-11 04:42:27 +05:30
README.md nuclei v3 : misc updates (#4247) 2023-10-17 17:44:13 +05:30
doc.go nuclei v3 : misc updates (#4247) 2023-10-17 17:44:13 +05:30
exec.go nuclei v3 : misc updates (#4247) 2023-10-17 17:44:13 +05:30
interface.go nuclei v3 : misc updates (#4247) 2023-10-17 17:44:13 +05:30

README.md

tmplexec

tmplexec also known as template executer executes template it is different from protocols package which only contains logic within the scope of one protocol. tmplexec is resposible for executing Template with defined logic. with introduction of multi protocol and flow templates (deprecated package protocols/common/executer) did not seem appropriate/helpful anymore as it is outside of protocol scope and deals with execution of template which can contain 1 requests , or multiple requests of same protocol or multiple requests of different protocols. tmplexec is responsible for executing template and handling all logic related to it.

Engine/Backends

Currently there are 3 engines for template execution

  • Generic => executes request[s] of same/one protocol
  • MultiProtocol => executes requests of multiple protocols with shared logic between protocol requests see multiprotocol
  • Flow => executes requests of one or multiple protocol requests as specified by template in javascript (aka flow) flow