Documentation ¶
Index ¶
- Constants
- func DefaultUserAgent() string
- func GetRandomUserAgent() (string, error)
- func JoinIntSlice(s []int) string
- func ParseExtensionsFile(file string) ([]string, error)
- func SliceContains(s []int, e int) bool
- type BasicHTTPOptions
- type Gobuster
- type GobusterPlugin
- type HTTPClient
- type HTTPHeader
- type HTTPOptions
- type Logger
- func (l Logger) Debug(v ...any)
- func (l Logger) Debugf(format string, v ...any)
- func (l Logger) Error(v ...any)
- func (l Logger) Errorf(format string, v ...any)
- func (l Logger) Fatal(v ...any)
- func (l Logger) Fatalf(format string, v ...any)
- func (l Logger) Fatalln(v ...any)
- func (l Logger) Info(v ...any)
- func (l Logger) Infof(format string, v ...any)
- func (l Logger) Print(v ...any)
- func (l Logger) Printf(format string, v ...any)
- func (l Logger) Println(v ...any)
- type Message
- type MessageLevel
- type Options
- type ProcessFunc
- type Progress
- type RequestOptions
- type Result
- type ResultToStringFunc
- type Set
- type SetupFunc
Constants ¶
const PATTERN = "{GOBUSTER}"
PATTERN is the pattern for wordlist replacements in pattern file
const (
// VERSION contains the current gobuster version
VERSION = "3.6"
)
Variables ¶
This section is empty.
Functions ¶
func DefaultUserAgent ¶
func DefaultUserAgent() string
DefaultUserAgent returns the default user agent to use in HTTP requests
func GetRandomUserAgent ¶
GetRandomUserAgent picks a random user agent from a predefined list
func ParseExtensionsFile ¶
func SliceContains ¶
SliceContains checks if an integer slice contains a specific value
Types ¶
type BasicHTTPOptions ¶
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 Logger 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, logger Logger) (*Gobuster, error)
NewGobuster returns a new Gobuster object
func (*Gobuster) GetConfigString ¶
GetConfigString returns the current config as a printable string
type GobusterPlugin ¶
type GobusterPlugin interface { Name() string PreRun(context.Context, *Progress) 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 ¶
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 ¶
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 Message ¶
type Message struct { Level MessageLevel Message string }
type MessageLevel ¶
type MessageLevel int
const ( LevelDebug MessageLevel = iota LevelInfo LevelError )
type Options ¶
type Options struct { Threads int Debug bool Wordlist string WordlistOffset int PatternFile string Patterns []string OutputFilename string NoStatus bool NoProgress bool NoError bool NoStdout bool Quiet bool Verbose bool Delay time.Duration }
Options holds all options that can be passed to libgobuster
type ProcessFunc ¶
ProcessFunc is the "process" function prototype for implementations
type Progress ¶
type Progress struct { ResultChan chan Result ErrorChan chan error MessageChan chan Message // contains filtered or unexported fields }
func NewProgress ¶
func NewProgress() *Progress
func (*Progress) IncrementTotalRequests ¶
func (*Progress) RequestsExpected ¶
func (*Progress) RequestsIssued ¶
type RequestOptions ¶
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 ResultToStringFunc ¶
ResultToStringFunc is the "to string" function prototype for implementations
type Set ¶
type Set[T comparable] struct { Set map[T]bool }
Set is a set of Ts
func ParseCommaSeparatedInt ¶
ParseCommaSeparatedInt parses the status codes provided as a comma separated list
func ParseExtensions ¶
ParseExtensions parses the extensions provided as a comma separated list
func (*Set[T]) AddRange ¶
func (set *Set[T]) AddRange(ss []T)
AddRange adds a list of elements to a set
func (*Set[T]) ContainsAny ¶
ContainsAny checks if any of the elements exist