Documentation ¶
Index ¶
- Constants
- func AppendTo(filename string, data string) (string, error)
- func Base64Decode(raw string) string
- func Base64Encode(raw string) string
- func BeautifyHeaders(res libs.Response) string
- func BeautifyRequest(req libs.Request) string
- func BeautifyResponse(res libs.Response) string
- func BigResponseReq(baseUrl string) string
- func BuildClient(options libs.Options) *resty.Client
- func BuildWordlists(options libs.Options, link string, doc *goquery.Document)
- func CleanWords(filename string)
- func DoScreenshot(options libs.Options, raw string) string
- func DownloadFile(from, to string) error
- func FileExists(filename string) bool
- func FindMatches(content string, regexes []AppRegexp) ([][]string, string)
- func FindVersion(matches [][]string, version string) string
- func FolderExists(foldername string) bool
- func GenHash(text string) string
- func GenerateReport(options libs.Options, contents []Content) error
- func GetFavHash(URL string) string
- func GetFileNames(dir string, ext string) []string
- func GetLinks(doc *goquery.Document) []string
- func GetTS() string
- func GetTitle(doc *goquery.Document) string
- func InitConfig(options *libs.Options)
- func JustSend(options libs.Options, url string, client *resty.Client) (res libs.Response, err error)
- func LoadTechs(options libs.Options) error
- func LocalFingerPrint(options libs.Options, filename string) string
- func Mmh3Hash32(raw []byte) string
- func NewDoScreenshot(options libs.Options, raw string) string
- func ParseBurpRequest(raw string) string
- func ParseDocLevel0(options libs.Options, doc *goquery.Document) string
- func ParseDocLevel1(options libs.Options, doc *goquery.Document) string
- func ParseDocLevel2(options libs.Options, doc *goquery.Document) string
- func ParseID(doc *goquery.Document) []string
- func ParseInput(doc *goquery.Document) []string
- func ParseLink(link string) []string
- func ParseLinks(links []string) []string
- func ParseResponse(resp resty.Response) (res libs.Response)
- func PrintOverview(options libs.Options, overview Overview) string
- func PrintScreen(options libs.Options, screen Screen) string
- func ReadingFile(filename string) []string
- func ReadingFileUnique(filename string) []string
- func RenderReport(options libs.Options)
- func Sending(options libs.Options, url string, client *resty.Client) string
- func StandBase64(data []byte) []byte
- func StripPath(raw string) string
- func URLDecode(raw string) string
- func URLEncode(raw string) string
- func Unique(filename string)
- func WriteToFile(filename string, data string) (string, error)
- type App
- type AppRegexp
- type AppsDefinition
- type Category
- type Content
- type Match
- type Overview
- type ReportData
- type Result
- type Screen
- type SecretRegex
- type SecretResult
- type StringArray
- type WebAnalyzer
Constants ¶
const WappalyzerURL = "https://raw.githubusercontent.com/AliasIO/wappalyzer/master/src/technologies.json"
WappalyzerURL is the link to the latest apps.json file in the Wappalyzer repo
Variables ¶
This section is empty.
Functions ¶
func BeautifyHeaders ¶
BeautifyHeaders beautify headers
func BeautifyRequest ¶
BeautifyRequest beautify request
func BeautifyResponse ¶
BeautifyResponse beautify response
func BigResponseReq ¶
func BuildClient ¶
BuildClient build base HTTP client
func BuildWordlists ¶
BuildWordlists based on HTML content
func DownloadFile ¶
DownloadFile pulls the latest apps.json file from the Wappalyzer github
func FindMatches ¶
runs a list of regexes on content
func FindVersion ¶
parses a version against matches
func FolderExists ¶
FolderExists check if file is exist or not
func GenerateReport ¶
GenerateReport generate report file
func GetFavHash ¶
func GetFileNames ¶
GetFileNames get all file name with extension
func JustSend ¶
func JustSend(options libs.Options, url string, client *resty.Client) (res libs.Response, err error)
JustSend just sending request
func LocalFingerPrint ¶
LocalFingerPrint do fingerprint but from local file
func Mmh3Hash32 ¶
func NewDoScreenshot ¶
NewDoScreenshot new do screenshot based on rod
func ParseBurpRequest ¶
ParseBurpRequest parse burp style request
func ParseDocLevel0 ¶
ParseDocLevel0 calculate Hash based on src in scripts
func ParseDocLevel1 ¶
ParseDocLevel1 calculate Hash based on src in scripts
func ParseDocLevel2 ¶
ParseDocLevel2 calculate Hash based on src in scripts
func ParseResponse ¶
ParseResponse field to Response
func PrintOverview ¶
PrintOverview print probe string
func PrintScreen ¶
PrintScreen print probe string
func ReadingFile ¶
ReadingFile Reading file and return content as []string
func ReadingFileUnique ¶
ReadingFileUnique Reading file and return content as []string
func RenderReport ¶
Types ¶
type App ¶
type App struct { Cats StringArray `json:"cats"` CatNames []string `json:"category_names"` Cookies map[string]string `json:"cookies"` Headers map[string]string `json:"headers"` Meta map[string]string `json:"meta"` JS map[string]string `json:"js"` HTML StringArray `json:"html"` Script StringArray `json:"script"` URL StringArray `json:"url"` Website string `json:"website"` Implies StringArray `json:"implies"` HTMLRegex []AppRegexp `json:"-"` ScriptRegex []AppRegexp `json:"-"` URLRegex []AppRegexp `json:"-"` HeaderRegex []AppRegexp `json:"-"` MetaRegex []AppRegexp `json:"-"` CookieRegex []AppRegexp `json:"-"` JSRegex []AppRegexp `json:"-"` }
App type encapsulates all the data about an App from apps.json
type AppsDefinition ¶
type AppsDefinition struct { Apps map[string]App `json:"technologies"` Cats map[string]Category `json:"categories"` }
AppsDefinition type encapsulates the json encoding of the whole apps.json file
type Category ¶
type Category struct {
Name string `json:"name"`
}
Category names defined by wappalyzer
type Match ¶
type Match struct { App `json:"app"` AppName string `json:"app_name"` Matches [][]string `json:"matches"` Version string `json:"version"` }
Match type encapsulates the App information from a match on a document
type Overview ¶
type Overview struct { URL string `json:"url"` Title string `json:"title"` CheckSum string `json:"checksum"` ContentFile string `json:"content_file"` Status string `json:"status"` ResponseTime string `json:"time"` ContentLength string `json:"length"` Redirect string `json:"redirect"` Headers string `json:"headers"` Favicon string `json:"favicon"` }
Overview overview data
type ReportData ¶
type ReportData struct {
Contents []Content
}
type Screen ¶
type Screen struct { URL string `json:"url"` Image string `json:"image"` ContentFile string `json:"content_file"` Technologies string `json:"tech"` // with check sum Title string `json:"title"` CheckSum string `json:"checksum"` Status string `json:"status"` }
Screen overview struct
type SecretRegex ¶
type SecretRegex struct { R *regexp.Regexp Reason string `json:"Reason"` Rule string `json:"Rule"` }
func (*SecretRegex) SetRegex ¶
func (s *SecretRegex) SetRegex(regex string)
type SecretResult ¶
type StringArray ¶
type StringArray []string
StringArray type is a wrapper for []string for use in unmarshalling the apps.json
func (*StringArray) UnmarshalJSON ¶
func (t *StringArray) UnmarshalJSON(data []byte) error
UnmarshalJSON is a custom unmarshaler for handling bogus apps.json types from wappalyzer
type WebAnalyzer ¶
type WebAnalyzer struct {
AppDefs *AppsDefinition
}
WebAnalyzer types holds an analyzation job
var WA *WebAnalyzer
func (*WebAnalyzer) CategoryById ¶
func (wa *WebAnalyzer) CategoryById(cid string) string
func (*WebAnalyzer) LoadApps ¶
func (wa *WebAnalyzer) LoadApps(filename string) error
load apps from file