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