Documentation
¶
Overview ¶
Package oob is an out-of-band interaction catcher for blind-vulnerability testing (blind SSRF / XXE / SQLi / RCE). It mints unique tokens, records any inbound HTTP request whose path carries one (/oob/<token>/…), and lets the UI poll the captured interactions.
Reachability is the operator's responsibility: the catcher only sees callbacks that actually reach the bound interface. For local testing the control origin works; for a real target, bind externally (or tunnel) and set the base URL so payloads point at a host the target can resolve and reach. (This is the same constraint any collaborator has — we just don't ship a public server.)
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func TokenFromPath ¶
TokenFromPath extracts the token from a /oob/<token>[/...] request path, or "".
Types ¶
type Catcher ¶
type Catcher struct {
// contains filtered or unexported fields
}
Catcher records OOB interactions in memory.
func (*Catcher) List ¶
func (c *Catcher) List() []Interaction
List returns the recorded interactions, newest first.
func (*Catcher) Record ¶
Record stores an interaction for the request (token taken from its path). bodyPreview should be a short, already-truncated snippet (may be empty).
func (*Catcher) SetNotifier ¶
func (c *Catcher) SetNotifier(fn func())
SetNotifier registers a callback fired when a new interaction is recorded.
type Interaction ¶
type Interaction struct {
ID int64 `json:"id"`
Token string `json:"token"`
Method string `json:"method"`
Path string `json:"path"`
RemoteAddr string `json:"remoteAddr"`
Host string `json:"host"`
UserAgent string `json:"userAgent"`
Query string `json:"query"`
BodyPrev string `json:"bodyPreview"`
TS int64 `json:"ts"` // unix millis
}
Interaction is one recorded inbound hit.