Skip to content

Commit

Permalink
log filtered error pages
Browse files Browse the repository at this point in the history
  • Loading branch information
dogancanbakir committed Jul 3, 2023
1 parent bbcee49 commit 68736ae
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions runner/runner.go
Original file line number Diff line number Diff line change
Expand Up @@ -746,6 +746,7 @@ func (r *Runner) RunEnumeration() {
}

if r.options.OutputFilterErrorPage && resp.KnowledgeBase["PageType"] == "error" {
logFilteredErrorPage(resp.URL)
continue
}
if len(r.options.filterStatusCode) > 0 && slice.IntSliceContains(r.options.filterStatusCode, resp.StatusCode) {
Expand Down Expand Up @@ -925,6 +926,37 @@ func (r *Runner) RunEnumeration() {
wgoutput.Wait()
}

func logFilteredErrorPage(url string) {
fileName := "filtered_error_page.json"
file, err := os.OpenFile(fileName, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0600)
if err != nil {
gologger.Fatal().Msgf("Could not open/create output file '%s': %s\n", fileName, err)
return
}
defer file.Close()

info := map[string]interface{}{
"url": url,
"time_filtered": time.Now(),
}

data, err := json.Marshal(info)
if err != nil {
fmt.Println("Failed to marshal JSON:", err)
return
}

if _, err := file.Write(data); err != nil {
gologger.Fatal().Msgf("Failed to write to '%s': %s\n", fileName, err)
return
}

if _, err := file.WriteString("\n"); err != nil {
gologger.Fatal().Msgf("Failed to write newline to '%s': %s\n", fileName, err)
return
}
}

func (r *Runner) GetScanOpts() ScanOptions {
return r.scanopts
}
Expand Down

0 comments on commit 68736ae

Please sign in to comment.