minecraft-log4j-honeypot/extractor/finder.go

31 lines
477 B
Go
Raw Permalink Normal View History

2021-12-10 23:42:15 +00:00
package extractor
import (
"net/url"
"regexp"
)
type Finder struct {
RegexPattern *regexp.Regexp
}
func NewFinder(pattern *regexp.Regexp) *Finder {
return &Finder{RegexPattern: pattern}
}
func (f *Finder) FindInjections(text string) []*url.URL {
var urls []*url.URL
res := f.RegexPattern.FindAllStringSubmatch(text, -1)
for i := range res {
address, err := url.Parse(res[i][1])
if err != nil {
continue
}
urls = append(urls, address)
}
return urls
}