libgobuster

package
v3.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 19, 2022 License: Apache-2.0 Imports: 15 Imported by: 1

Documentation

Index

Constants

View Source
const PATTERN = "{GOBUSTER}"

PATTERN is the pattern for wordlist replacements in pattern file

View Source
const (
	// VERSION contains the current gobuster version
	VERSION = "3.4"
)

Variables

This section is empty.

Functions

func DefaultUserAgent

func DefaultUserAgent() string

DefaultUserAgent returns the default user agent to use in HTTP requests

Types

type BasicHTTPOptions added in v3.1.0

type BasicHTTPOptions struct {
	UserAgent       string
	Proxy           string
	NoTLSValidation bool
	Timeout         time.Duration
	RetryOnTimeout  bool
	RetryAttempts   int
	TLSCertificate  *tls.Certificate
}

BasicHTTPOptions defines only core http options

type Gobuster

type Gobuster struct {
	Opts *Options

	LogInfo  *log.Logger
	LogError *log.Logger
	Progress *Progress
	// contains filtered or unexported fields
}

Gobuster is the main object when creating a new run

func NewGobuster

func NewGobuster(opts *Options, plugin GobusterPlugin) (*Gobuster, error)

NewGobuster returns a new Gobuster object

func (*Gobuster) GetConfigString

func (g *Gobuster) GetConfigString() (string, error)

GetConfigString returns the current config as a printable string

func (*Gobuster) Run added in v3.2.0

func (g *Gobuster) Run(ctx context.Context) error

Run the busting of the website with the given set of settings from the command line.

type GobusterPlugin

type GobusterPlugin interface {
	Name() string
	PreRun(context.Context) error
	ProcessWord(context.Context, string, *Progress) error
	AdditionalWords(string) []string
	GetConfigString() (string, error)
}

GobusterPlugin is an interface which plugins must implement

type HTTPClient

type HTTPClient struct {
	// contains filtered or unexported fields
}

HTTPClient represents a http object

func NewHTTPClient

func NewHTTPClient(opt *HTTPOptions) (*HTTPClient, error)

NewHTTPClient returns a new HTTPClient

func (*HTTPClient) Request added in v3.1.0

func (client *HTTPClient) Request(ctx context.Context, fullURL string, opts RequestOptions) (int, int64, http.Header, []byte, error)

Request makes an http request and returns the status, the content length, the headers, the body and an error if you want the body returned set the corresponding property inside RequestOptions

type HTTPHeader

type HTTPHeader struct {
	Name  string
	Value string
}

HTTPHeader holds a single key value pair of a HTTP header

type HTTPOptions

type HTTPOptions struct {
	BasicHTTPOptions
	Password              string
	URL                   string
	Username              string
	Cookies               string
	Headers               []HTTPHeader
	NoCanonicalizeHeaders bool
	FollowRedirect        bool
	Method                string
}

HTTPOptions is the struct to pass in all http options to Gobuster

type Options

type Options struct {
	Threads        int
	Wordlist       string
	PatternFile    string
	Patterns       []string
	OutputFilename string
	NoStatus       bool
	NoProgress     bool
	NoError        bool
	Quiet          bool
	Verbose        bool
	Delay          time.Duration
}

Options holds all options that can be passed to libgobuster

func NewOptions

func NewOptions() *Options

NewOptions returns a new initialized Options object

type ProcessFunc

type ProcessFunc func(*Gobuster, string) ([]Result, error)

ProcessFunc is the "process" function prototype for implementations

type Progress added in v3.2.0

type Progress struct {
	ResultChan chan Result
	ErrorChan  chan error
	// contains filtered or unexported fields
}

func NewProgress added in v3.2.0

func NewProgress() *Progress

func (*Progress) IncrementTotalRequests added in v3.2.0

func (p *Progress) IncrementTotalRequests(by int)

func (*Progress) RequestsExpected added in v3.2.0

func (p *Progress) RequestsExpected() int

func (*Progress) RequestsIssued added in v3.2.0

func (p *Progress) RequestsIssued() int

type RequestOptions added in v3.1.0

type RequestOptions struct {
	Host                     string
	Body                     io.Reader
	ReturnBody               bool
	ModifiedHeaders          []HTTPHeader
	UpdatedBasicAuthUsername string
	UpdatedBasicAuthPassword string
}

RequestOptions is used to pass options to a single individual request

type Result

type Result interface {
	ResultToString() (string, error)
}

Result is an interface for the Result object

type ResultToStringFunc

type ResultToStringFunc func(*Gobuster, *Result) (*string, error)

ResultToStringFunc is the "to string" function prototype for implementations

type Set added in v3.2.0

type Set[T comparable] struct {
	Set map[T]bool
}

Set is a set of Ts

func NewSet added in v3.2.0

func NewSet[T comparable]() Set[T]

NewSSet creates a new initialized Set

func (*Set[T]) Add added in v3.2.0

func (set *Set[T]) Add(s T) bool

Add an element to a set

func (*Set[T]) AddRange added in v3.2.0

func (set *Set[T]) AddRange(ss []T)

AddRange adds a list of elements to a set

func (*Set[T]) Contains added in v3.2.0

func (set *Set[T]) Contains(s T) bool

Contains tests if an element is in a set

func (*Set[T]) ContainsAny added in v3.2.0

func (set *Set[T]) ContainsAny(ss []T) bool

ContainsAny checks if any of the elements exist

func (*Set[T]) Length added in v3.2.0

func (set *Set[T]) Length() int

Length returns the length of the Set

func (*Set[T]) Stringify added in v3.2.0

func (set *Set[T]) Stringify() string

Stringify the set

type SetupFunc

type SetupFunc func(*Gobuster) error

SetupFunc is the "setup" function prototype for implementations

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL