Documentation ¶
Index ¶
- Variables
- func HasMarkers(data string) bool
- func HasMatchers(op *operators.Operators) bool
- type Client
- func (c *Client) AlreadyMatched(data *RequestData) bool
- func (c *Client) Close() bool
- func (c *Client) MakePlaceholders(urls []string, data map[string]interface{})
- func (c *Client) NewURL() (string, error)
- func (c *Client) NewURLWithData(data string) (string, error)
- func (c *Client) Replace(data string, interactshURLs []string) (string, []string)
- func (c *Client) ReplaceWithMarker(data string, regex *regexp.Regexp, interactshURLs []string) (string, []string)
- func (c *Client) RequestEvent(interactshURLs []string, data *RequestData)
- func (c *Client) URL() (string, error)
- type MakeResultEventFunc
- type Options
- type RequestData
Constants ¶
This section is empty.
Variables ¶
var (
ErrInteractshClientNotInitialized = errors.New("interactsh client not initialized")
)
Functions ¶
func HasMarkers ¶
HasMarkers checks if the text contains interactsh markers
func HasMatchers ¶
HasMatchers returns true if an operator has interactsh part matchers or extractors.
Used by requests to show result or not depending on presence of interact.sh data part matchers.
Types ¶
type Client ¶
Client is a wrapped client for interactsh server.
func (*Client) AlreadyMatched ¶
func (c *Client) AlreadyMatched(data *RequestData) bool
func (*Client) MakePlaceholders ¶
MakePlaceholders does placeholders for interact URLs and other data to a map
func (*Client) Replace ¶
ReplaceMarkers replaces the default {{interactsh-url}} placeholders with interactsh urls
func (*Client) ReplaceWithMarker ¶
func (c *Client) ReplaceWithMarker(data string, regex *regexp.Regexp, interactshURLs []string) (string, []string)
ReplaceMarkers replaces the placeholders with interactsh urls and appends them to interactshURLs
func (*Client) RequestEvent ¶
func (c *Client) RequestEvent(interactshURLs []string, data *RequestData)
RequestEvent is the event for a network request sent by nuclei.
type MakeResultEventFunc ¶
type MakeResultEventFunc func(wrapped *output.InternalWrappedEvent) []*output.ResultEvent
MakeResultEventFunc is a result making function for nuclei
type Options ¶
type Options struct { // ServerURL is the URL of the interactsh server. ServerURL string // Authorization is the Authorization header value Authorization string // CacheSize is the numbers of requests to keep track of at a time. // Older items are discarded in LRU manner in favor of new requests. CacheSize int // Eviction is the period of time after which to automatically discard // interaction requests. Eviction time.Duration // CooldownPeriod is additional time to wait for interactions after closing // of the poller. CooldownPeriod time.Duration // PollDuration is the time to wait before each poll to the server for interactions. PollDuration time.Duration // Output is the output writer for nuclei Output output.Writer // IssuesClient is a client for issue exporting IssuesClient reporting.Client // Progress is the nuclei progress bar implementation. Progress progress.Progress // Debug specifies whether debugging output should be shown for interactsh-client Debug bool // DebugRequest outputs interaction request DebugRequest bool // DebugResponse outputs interaction response DebugResponse bool // DisableHttpFallback controls http retry in case of https failure for server url DisableHttpFallback bool // NoInteractsh disables the engine NoInteractsh bool // NoColor disables printing colors for matches NoColor bool FuzzParamsFrequency *frequency.Tracker StopAtFirstMatch bool HTTPClient *retryablehttp.Client }
Options contains configuration options for interactsh nuclei integration.
type RequestData ¶
type RequestData struct { MakeResultFunc MakeResultEventFunc Event *output.InternalWrappedEvent Operators *operators.Operators MatchFunc operators.MatchFunc ExtractFunc operators.ExtractFunc Parameter string Request *retryablehttp.Request }
RequestData contains data for a request event