mirror of https://github.com/daffainfo/nuclei.git
Markdown Reporting Index File (#3129)
* implemented index.md creation on markdown export * fixes on markdown generation added also hyperlink to markdown created * code optimization and refactoring * index header refactordev
parent
94ec553234
commit
84b0581306
|
@ -11,6 +11,8 @@ import (
|
|||
stringsutil "github.com/projectdiscovery/utils/strings"
|
||||
)
|
||||
|
||||
const indexFileName = "index.md"
|
||||
|
||||
type Exporter struct {
|
||||
directory string
|
||||
options *Options
|
||||
|
@ -33,6 +35,17 @@ func New(options *Options) (*Exporter, error) {
|
|||
directory = dir
|
||||
}
|
||||
_ = os.MkdirAll(directory, 0755)
|
||||
|
||||
// index generation header
|
||||
dataHeader := "" +
|
||||
"|Hostname/IP|Finding|Severity|\n" +
|
||||
"|-|-|-|\n"
|
||||
|
||||
err := os.WriteFile(filepath.Join(directory, indexFileName), []byte(dataHeader), 0644)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &Exporter{options: options, directory: directory}, nil
|
||||
}
|
||||
|
||||
|
@ -66,6 +79,18 @@ func (exporter *Exporter) Export(event *output.ResultEvent) error {
|
|||
dataBuilder.WriteString(description)
|
||||
data := dataBuilder.Bytes()
|
||||
|
||||
// index generation
|
||||
file, err := os.OpenFile(filepath.Join(exporter.directory, indexFileName), os.O_APPEND|os.O_WRONLY, 0644)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
_, err = file.WriteString("|[" + event.Host + "](" + finalFilename + ")" + "|" + event.TemplateID + " " + event.MatcherName + "|" + event.Info.SeverityHolder.Severity.String() + "|\n")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return os.WriteFile(filepath.Join(exporter.directory, finalFilename), data, 0644)
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue