Print error messages to stderr to help with piping -s output
This commit is contained in:
parent
466a011db9
commit
8287881a84
14
main.go
14
main.go
@ -62,19 +62,19 @@ func main() {
|
|||||||
//flag.StringVar(&opts.matcherReflect, "mref", "", "Match reflected payload")
|
//flag.StringVar(&opts.matcherReflect, "mref", "", "Match reflected payload")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
if err := prepareConfig(&opts, &conf); err != nil {
|
if err := prepareConfig(&opts, &conf); err != nil {
|
||||||
fmt.Printf("Encountered error(s): %s\n", err)
|
fmt.Fprintf(os.Stderr, "Encountered error(s): %s\n", err)
|
||||||
flag.Usage()
|
flag.Usage()
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
if err := prepareFilters(&opts, &conf); err != nil {
|
if err := prepareFilters(&opts, &conf); err != nil {
|
||||||
fmt.Printf("Encountered error(s): %s\n", err)
|
fmt.Fprintf(os.Stderr, "Encountered error(s): %s\n", err)
|
||||||
flag.Usage()
|
flag.Usage()
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
job, err := prepareJob(&conf)
|
job, err := prepareJob(&conf)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Printf("Encountered error(s): %s\n", err)
|
fmt.Fprintf(os.Stderr, "Encountered error(s): %s\n", err)
|
||||||
flag.Usage()
|
flag.Usage()
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
@ -107,10 +107,10 @@ func prepareConfig(parseOpts *cliOptions, conf *ffuf.Config) error {
|
|||||||
var errlist *multierror.Error
|
var errlist *multierror.Error
|
||||||
foundkeyword := false
|
foundkeyword := false
|
||||||
if len(conf.Url) == 0 {
|
if len(conf.Url) == 0 {
|
||||||
errlist = multierror.Append(errlist, fmt.Errorf("-u flag is required."))
|
errlist = multierror.Append(errlist, fmt.Errorf("-u flag is required"))
|
||||||
}
|
}
|
||||||
if len(conf.Wordlist) == 0 {
|
if len(conf.Wordlist) == 0 {
|
||||||
errlist = multierror.Append(errlist, fmt.Errorf("-w flag is required."))
|
errlist = multierror.Append(errlist, fmt.Errorf("-w flag is required"))
|
||||||
}
|
}
|
||||||
//Prepare headers
|
//Prepare headers
|
||||||
for _, v := range parseOpts.headers {
|
for _, v := range parseOpts.headers {
|
||||||
@ -130,7 +130,7 @@ func prepareConfig(parseOpts *cliOptions, conf *ffuf.Config) error {
|
|||||||
conf.StaticHeaders[strings.TrimSpace(hs[0])] = strings.TrimSpace(hs[1])
|
conf.StaticHeaders[strings.TrimSpace(hs[0])] = strings.TrimSpace(hs[1])
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
errlist = multierror.Append(errlist, fmt.Errorf("Header defined by -H needs to have a value. \":\" should be used as a separator."))
|
errlist = multierror.Append(errlist, fmt.Errorf("Header defined by -H needs to have a value. \":\" should be used as a separator"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//Search for keyword from URL and POST data too
|
//Search for keyword from URL and POST data too
|
||||||
@ -142,7 +142,7 @@ func prepareConfig(parseOpts *cliOptions, conf *ffuf.Config) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if !foundkeyword {
|
if !foundkeyword {
|
||||||
errlist = multierror.Append(errlist, fmt.Errorf("No FUZZ keywords found in headers or URL, nothing to do."))
|
errlist = multierror.Append(errlist, fmt.Errorf("No FUZZ keywords found in headers or URL, nothing to do"))
|
||||||
}
|
}
|
||||||
return errlist.ErrorOrNil()
|
return errlist.ErrorOrNil()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package ffuf
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"os"
|
||||||
"sync"
|
"sync"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -49,12 +50,12 @@ func (j *Job) Start() {
|
|||||||
func (j *Job) runTask(input []byte) {
|
func (j *Job) runTask(input []byte) {
|
||||||
req, err := j.Runner.Prepare(input)
|
req, err := j.Runner.Prepare(input)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Printf("Encountered error while preparing request: %s\n", err)
|
fmt.Fprintf(os.Stderr, "Encountered error while preparing request: %s\n", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
resp, err := j.Runner.Execute(&req)
|
resp, err := j.Runner.Execute(&req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Printf("Error in runner: %s\n", err)
|
fmt.Fprintf(os.Stderr, "Error in runner: %s\n", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
j.Output.Result(resp)
|
j.Output.Result(resp)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user