Documentation ¶
Index ¶
- func Fuzz(input RequestFuzzOptions, taskID uint) (int, error)
- func GenerateCrossSiteWebsocketHijackingPoC(connection db.WebSocketConnection, interactionURL string) (bytes.Buffer, error)
- func InsertPayloadIntoRawRequest(raw string, point FuzzerInsertionPoint, payload string) string
- func LaunchUserBrowser(workspaceID uint, initialURL string, taskID uint)
- type BrowserReplayActions
- type BrowserReplayActionsResults
- type FilesystemWordlistStorage
- type FuzzerInsertionPoint
- type FuzzerPayloadsGroup
- type ReplayResult
- type Request
- type RequestFuzzOptions
- type RequestOptions
- type RequestReplayOptions
- type Wordlist
- type WordlistStorage
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateCrossSiteWebsocketHijackingPoC ¶
func GenerateCrossSiteWebsocketHijackingPoC(connection db.WebSocketConnection, interactionURL string) (bytes.Buffer, error)
GenerateCrossSiteWebsocketHijackingPoC generates a PoC for CSWH
func InsertPayloadIntoRawRequest ¶
func InsertPayloadIntoRawRequest(raw string, point FuzzerInsertionPoint, payload string) string
func LaunchUserBrowser ¶
LaunchUserBrowser launches a browser in non headless mode and logs all network requests
Types ¶
type BrowserReplayActions ¶
type BrowserReplayActions struct { PreRequestAction *db.StoredBrowserActions `json:"pre_request_action" validate:"omitempty"` PostRequestAction *db.StoredBrowserActions `json:"post_request_action" validate:"omitempty"` }
type BrowserReplayActionsResults ¶
type BrowserReplayActionsResults struct { PreRequest actions.ActionsExecutionResults `json:"pre_request,omitempty"` PostRequest actions.ActionsExecutionResults `json:"post_request,omitempty"` }
type FilesystemWordlistStorage ¶
type FilesystemWordlistStorage struct {
// contains filtered or unexported fields
}
func NewFilesystemWordlistStorage ¶
func NewFilesystemWordlistStorage() *FilesystemWordlistStorage
func (*FilesystemWordlistStorage) GetWordlistByID ¶
func (s *FilesystemWordlistStorage) GetWordlistByID(id string) (Wordlist, error)
func (*FilesystemWordlistStorage) GetWordlists ¶
func (s *FilesystemWordlistStorage) GetWordlists() ([]Wordlist, error)
func (*FilesystemWordlistStorage) ReadWordlist ¶
func (s *FilesystemWordlistStorage) ReadWordlist(name string, maxLines int) ([]string, error)
type FuzzerInsertionPoint ¶
type FuzzerInsertionPoint struct { Start int `json:"start"` End int `json:"end"` OriginalValue string `json:"originalValue"` PayloadGroups []FuzzerPayloadsGroup `json:"payloadGroups"` }
type FuzzerPayloadsGroup ¶
type ReplayResult ¶
type ReplayResult struct { Result *db.History `json:"result"` BrowserEvents []web.PageEvent `json:"browser_events"` BrowserActionsResults BrowserReplayActionsResults `json:"browser_actions_results"` }
func Replay ¶
func Replay(input RequestReplayOptions) (ReplayResult, error)
func ReplayInBrowser ¶
func ReplayInBrowser(input RequestReplayOptions) (ReplayResult, error)
func ReplayRaw ¶
func ReplayRaw(input RequestReplayOptions) (ReplayResult, error)
type Request ¶
type Request struct { URL string `json:"url" validate:"required"` URI string `json:"uri" validate:"omitempty"` Method string `json:"method" validate:"required"` Headers map[string][]string `json:"headers" validate:"required"` Body string `json:"body" validate:"omitempty"` HTTPVersion string `json:"http_version" validate:"omitempty"` }
type RequestFuzzOptions ¶
type RequestFuzzOptions struct { URL string `json:"url" validate:"required"` Raw string `json:"raw" validate:"required"` InsertionPoints []FuzzerInsertionPoint `json:"insertion_points" validate:"required"` Session db.PlaygroundSession `json:"session" validate:"required"` Options RequestOptions `json:"options"` }
type RequestOptions ¶
type RequestReplayOptions ¶
type RequestReplayOptions struct { Mode string `json:"mode" validate:"required,oneof=raw browser"` Request Request `json:"request" validate:"required"` Session db.PlaygroundSession `json:"session" validate:"required"` BrowserActions BrowserReplayActions `json:"browser_actions" validate:"omitempty"` Options RequestOptions `json:"options"` }
type Wordlist ¶
type WordlistStorage ¶
Click to show internal directories.
Click to hide internal directories.