Skip to content

Commit

Permalink
move tls ignore to basic so we can use it in s3
Browse files Browse the repository at this point in the history
  • Loading branch information
firefart committed Jan 28, 2021
1 parent 676a27f commit 8cfbcb7
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 29 deletions.
13 changes: 7 additions & 6 deletions cli/cmd/http.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ func addBasicHTTPOptions(cmd *cobra.Command) {
cmd.Flags().BoolP("random-agent", "", false, "Use a random User-Agent string")
cmd.Flags().StringP("proxy", "", "", "Proxy to use for requests [http(s)://host:port]")
cmd.Flags().DurationP("timeout", "", 10*time.Second, "HTTP Timeout")
cmd.Flags().BoolP("no-tls-validation", "k", false, "Skip TLS certificate verification")
}

func addCommonHTTPOptions(cmd *cobra.Command) error {
Expand All @@ -28,7 +29,6 @@ func addCommonHTTPOptions(cmd *cobra.Command) error {
cmd.Flags().StringP("username", "U", "", "Username for Basic Auth")
cmd.Flags().StringP("password", "P", "", "Password for Basic Auth")
cmd.Flags().BoolP("follow-redirect", "r", false, "Follow redirects")
cmd.Flags().BoolP("no-tls-validation", "k", false, "Skip TLS certificate verification")
cmd.Flags().StringArrayP("headers", "H", []string{""}, "Specify HTTP headers, -H 'Header1: val1' -H 'Header2: val2'")
cmd.Flags().StringP("method", "m", "GET", "Use the following HTTP method")

Expand Down Expand Up @@ -68,6 +68,11 @@ func parseBasicHTTPOptions(cmd *cobra.Command) (libgobuster.BasicHTTPOptions, er
if err != nil {
return options, fmt.Errorf("invalid value for timeout: %w", err)
}

options.NoTLSValidation, err = cmd.Flags().GetBool("no-tls-validation")
if err != nil {
return options, fmt.Errorf("invalid value for no-tls-validation: %w", err)
}
return options, nil
}

Expand All @@ -82,6 +87,7 @@ func parseCommonHTTPOptions(cmd *cobra.Command) (libgobuster.HTTPOptions, error)
options.Proxy = basic.Proxy
options.Timeout = basic.Timeout
options.UserAgent = basic.UserAgent
options.NoTLSValidation = basic.NoTLSValidation

options.URL, err = cmd.Flags().GetString("url")
if err != nil {
Expand Down Expand Up @@ -128,11 +134,6 @@ func parseCommonHTTPOptions(cmd *cobra.Command) (libgobuster.HTTPOptions, error)
return options, fmt.Errorf("invalid value for follow-redirect: %w", err)
}

options.NoTLSValidation, err = cmd.Flags().GetBool("no-tls-validation")
if err != nil {
return options, fmt.Errorf("invalid value for no-tls-validation: %w", err)
}

options.Method, err = cmd.Flags().GetString("method")
if err != nil {
return options, fmt.Errorf("invalid value for method: %w", err)
Expand Down
8 changes: 4 additions & 4 deletions gobusterdir/gobusterdir.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,15 +55,15 @@ func NewGobusterDir(cont context.Context, globalopts *libgobuster.Options, opts
}

basicOptions := libgobuster.BasicHTTPOptions{
Proxy: opts.Proxy,
Timeout: opts.Timeout,
UserAgent: opts.UserAgent,
Proxy: opts.Proxy,
Timeout: opts.Timeout,
UserAgent: opts.UserAgent,
NoTLSValidation: opts.NoTLSValidation,
}

httpOpts := libgobuster.HTTPOptions{
BasicHTTPOptions: basicOptions,
FollowRedirect: opts.FollowRedirect,
NoTLSValidation: opts.NoTLSValidation,
Username: opts.Username,
Password: opts.Password,
Headers: opts.Headers,
Expand Down
8 changes: 4 additions & 4 deletions gobusterfuzz/gobusterfuzz.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,15 +46,15 @@ func NewGobusterFuzz(cont context.Context, globalopts *libgobuster.Options, opts
}

basicOptions := libgobuster.BasicHTTPOptions{
Proxy: opts.Proxy,
Timeout: opts.Timeout,
UserAgent: opts.UserAgent,
Proxy: opts.Proxy,
Timeout: opts.Timeout,
UserAgent: opts.UserAgent,
NoTLSValidation: opts.NoTLSValidation,
}

httpOpts := libgobuster.HTTPOptions{
BasicHTTPOptions: basicOptions,
FollowRedirect: opts.FollowRedirect,
NoTLSValidation: opts.NoTLSValidation,
Username: opts.Username,
Password: opts.Password,
Headers: opts.Headers,
Expand Down
8 changes: 4 additions & 4 deletions gobustervhost/gobustervhost.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,15 @@ func NewGobusterVhost(cont context.Context, globalopts *libgobuster.Options, opt
}

basicOptions := libgobuster.BasicHTTPOptions{
Proxy: opts.Proxy,
Timeout: opts.Timeout,
UserAgent: opts.UserAgent,
Proxy: opts.Proxy,
Timeout: opts.Timeout,
UserAgent: opts.UserAgent,
NoTLSValidation: opts.NoTLSValidation,
}

httpOpts := libgobuster.HTTPOptions{
BasicHTTPOptions: basicOptions,
FollowRedirect: opts.FollowRedirect,
NoTLSValidation: opts.NoTLSValidation,
Username: opts.Username,
Password: opts.Password,
Headers: opts.Headers,
Expand Down
22 changes: 11 additions & 11 deletions libgobuster/options_http.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,20 @@ import (

// BasicHTTPOptions defines only core http options
type BasicHTTPOptions struct {
UserAgent string
Proxy string
Timeout time.Duration
UserAgent string
Proxy string
NoTLSValidation bool
Timeout time.Duration
}

// HTTPOptions is the struct to pass in all http options to Gobuster
type HTTPOptions struct {
BasicHTTPOptions
Password string
URL string
Username string
Cookies string
Headers []HTTPHeader
FollowRedirect bool
NoTLSValidation bool
Method string
Password string
URL string
Username string
Cookies string
Headers []HTTPHeader
FollowRedirect bool
Method string
}

0 comments on commit 8cfbcb7

Please sign in to comment.