Documentation ¶
Index ¶
- Constants
- type DOMContext
- type Error
- type Notification
- type NotificationWebSocket
- type RawEvent
- type Reproduction
- type ReproductionTest
- type ReproductionWebSocket
- type Request
- type RequestWebSocket
- type Server
- type Tracer
- type TracerEvent
- type TracerEventBulk
- type TracerEventsWebSocket
- type TracerWebSocket
Constants ¶
const ( Attr = iota Text NodeName AttrVal Comment )
Constants used to track the categories for the HTMLLocationType of a tracer string.
const ( LeafNode = iota LeafNodeScriptTag TagName LeafNodeCommentTag AttributeName AttributeNameHTTPResponse AttributeValueStartHref AttributeValueOnEventHandler AttributeValueHTTPResponse )
Constants used to track the different reasons.
const ( HTML = iota JSON )
Constants used to track if the data is HTML or JSON. More formats might be supported in the future.
const ( Header = iota QueryParam Body )
Constants used to track the tracer string location type.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DOMContext ¶
type DOMContext struct { gorm.Model TracerEventID uint `json:"TracerEventID" gorm:"not null; index"` EventContext string `json:"EventContext" gorm:"not null"` HTMLLocationType uint `json:"HTMLLocationType" gorm:"not null"` HTMLNodeType string `json:"HTMLNodeType" gorm:"not null"` Severity uint `json:"Severity" gorm:"not null"` Reason uint `json:"Reason" gorm:"not null"` ReproductionTests []ReproductionTest `json:"ReproductionTests"` }
DOMContext is an event that marks when a particular tracer was viewed again.
type Error ¶
type Error struct { gorm.Model ErrorID uint `json:"ErrorID" gorm:"not null"` ErrorMsg string `json:"ErrorMsg" gorm:"not null"` }
Error is a database table that contains all the errors from the application.
type Notification ¶
type Notification struct { Tracer Tracer Event TracerEvent }
Notification is a struct used to notify listeners for major changes to tracers or their associated events.
type NotificationWebSocket ¶
type NotificationWebSocket struct {
Notification Notification `json:"Notification"`
}
NotificationWebSocket is a struct that is used to pass new notifications back to clients connected to the websocket server.
type RawEvent ¶
type RawEvent struct { gorm.Model Data string `json:"Data" gorm:"not null;unique"` Format uint `json:"Format" gorm:"not null"` }
RawEvent is a structure for holding raw event data such as HTTP responses or DOM.
type Reproduction ¶
type Reproduction struct { Tracer Tracer `json:Tracer` TracerEvent TracerEvent `json:TracerEvent` DOMContext DOMContext `json:DOMContext` ReproductionTests []ReproductionTest `json:ReproductionTests` }
Reproduction is the struct that holds all the information a tab needs to in order to successfully reproduce a finding.
type ReproductionTest ¶
type ReproductionTest struct { gorm.Model TracerEventID uint `json:"TracerEventID" gorm:"not null"` Exploit string `json:"Exploit" gorm:"not null"` Successful bool `json:"Successful" gorm:"not null"` }
ReproductionTest is a struct that holds a single reproduction test case. Reproduction tests are associated with a particular event.
type ReproductionWebSocket ¶
type ReproductionWebSocket struct {
Reproduction Reproduction `json:Reproduction`
}
ReproductionWebSocket is a struct that is used to pass new reproduction data to the extension from the UI.x
type Request ¶
type Request struct { gorm.Model RawRequest string `json:"RawRequest" gorm:"not null"` RequestURL string `json:"RequestURL" gorm:"not null"` RequestMethod string `json:"RequestMethod" gorm:"not null"` Tracers []Tracer `json:Tracers"` }
Request is a structure for holding the request information that created a tracer.
type RequestWebSocket ¶
type RequestWebSocket struct {
Requests Request `json:"Request"`
}
RequestWebSocket is a struct that is used to pass new request data back to clients connected to the websocket server.
type Server ¶
Server is a struct that holds a configured server that has been resolved to a set of IPs and a port number.
func (*Server) Addr ¶
Addr returns the address string of the Server to be used with libraries like http.Server.
type Tracer ¶
type Tracer struct { gorm.Model TracerString string `json:"TracerString" gorm:"not null;index"` // the tracer string used by the user (e.g. {{XSS}}) OverallSeverity uint `json:"OverallSeverity" gorm:"not null"` RequestID uint `json:"RequestID" gorm:"not null;index"` TracerEvents []TracerEvent `json:"TracerEvents" ` TracerPayload string `json:"TracerPayload" gorm:"not null;index;unique_index:idx_tracer_string"` // the payload tracy convert the string into TracerLocationType uint `json:"TracerLocationType" gorm:"not null"` TracerLocationIndex uint `json:"TracerLocationIndex"` // what is the index or where the tracer was located in the request HasTracerEvents bool `json:"HasTracerEvents" gorm:"not null"` Screenshot string `json:"Screenshot"` }
Tracer is a marker for input into the application. This will be used to find outputs.
type TracerEvent ¶
type TracerEvent struct { gorm.Model TracerID uint `json:"TracerID" gorm:"not null;index;unique_index:idx_event_collision"` RawEventID uint `json:"RawEventID" gorm:"not null;unique_index:idx_event_collision"` RawEvent RawEvent `json:"RawEvent"` EventURL string `json:"EventURL" gorm:"not null; unique_index:idx_event_collision"` EventType string `json:"EventType" gorm:"not null"` Extras string `json:"Extras"` DOMContexts []DOMContext `json:"DOMContexts"` }
TracerEvent is an event that marks when a particular tracer was viewed again.
type TracerEventBulk ¶
type TracerEventBulk struct { TracerPayloads []string `json:"TracerPayloads"` TracerEvent TracerEvent `json:"TracerEvent"` }
TracerEventBulk is an event captured from the DOM. TracerEventBulk contains a list of all the tracer strings found in a DOM event.
type TracerEventsWebSocket ¶
type TracerEventsWebSocket struct {
TracerEvents TracerEvent `json:"TracerEvent"`
}
TracerEventsWebSocket is a struct that is used to pass new tracer events data back to clients connected to the websocket server.
type TracerWebSocket ¶
type TracerWebSocket struct {
Tracers Tracer `json:"Tracer"`
}
TracerWebSocket is a struct that is used to pass new tracer data back to clients connected to the websocket server.