diff --git a/pkg/fingerprinthub.go b/pkg/fingerprinthub.go index d599cfb..6570373 100644 --- a/pkg/fingerprinthub.go +++ b/pkg/fingerprinthub.go @@ -15,15 +15,21 @@ type FingerPrintHub struct { func FingerPrintHubDetect(header, body string) parsers.Frameworks { frames := make(parsers.Frameworks) + for _, finger := range FingerPrintHubs { status := false + for _, key := range finger.Keyword { if strings.Contains(body, key) { status = true } else { status = false + break } } + if !status { + continue + } for k, v := range finger.Headers { if v == "*" && strings.Contains(header, k) { status = true @@ -31,8 +37,10 @@ func FingerPrintHubDetect(header, body string) parsers.Frameworks { status = true } else { status = false + break } } + if status { frame := &parsers.Framework{ Name: finger.Name,