Files
nuclei/pkg/tmplexec
Mohammed Diaa ff23949bb0 Apply input transformation to multi-protocol templates (#5426)
* Apply input transformation to multi-protocol template execution

* Remove ad hoc input transoformation from DNS protocol

* Add SSL protocol input transformer

* Remove ad hoc input transoformation from SSL protocol

* Remove unused function extractDomain from the DNS protocol engine

* transform in flow as well

* bug fix + update test

* bug fix multi proto
:

* bug fix multi proto input

* bug fixes in input transform

---------

Co-authored-by: Tarun Koyalwar <tarun@projectdiscovery.io>
2024-08-01 20:43:47 +05:30
..
2023-10-17 17:44:13 +05:30
2023-11-28 00:24:45 +05:30
2023-10-17 17:44:13 +05:30

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