Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add injectable javascript agent for technologies detection #36

Open
Mzack9999 opened this issue Feb 6, 2023 · 2 comments
Open

Add injectable javascript agent for technologies detection #36

Mzack9999 opened this issue Feb 6, 2023 · 2 comments
Labels
Type: Enhancement Most issues will probably ask for additions or changes.

Comments

@Mzack9999
Copy link
Member

An always up-to-date javascript injectable library version should be prepared and kept up to date. The library should be injected via headless into existing browsers' contexts and collect enriched info within the JS engine for a specific domain open in a browser tab. This is similar to the behavior of the official wappalyzer extension https://chrome.google.com/webstore/detail/wappalyzer-technology-pro

@Mzack9999 Mzack9999 added the Type: Enhancement Most issues will probably ask for additions or changes. label Feb 6, 2023
@Bisstocuz
Copy link

Bisstocuz commented Mar 10, 2023

Maybe can define a new function:

func FingerprintURL(url string) map[string]struct{} {
	// 1. Request URL and resolve HTML, CSS or JS.
	// 2. Detect and return result
}

Maybe it is not necessary to use the headless library, we can also use HTML parser like goquery.

Another question:
Why use map[string]struct{} instead of []string as returned value?

@Gby56
Copy link

Gby56 commented Jun 9, 2024

I'm actually confused right now, I thought I could feed both HTML and JS to the Fingerprint function and it would apply regexes directly. I simply used a headless browser to load a web page and get all the other loaded assets automatically, and I wanted to fingerprint everything that gets loaded, but it looks like wappalyzergo doesn't regex the raw javascript files I give it, it's only doing that on JS included inside HTML ?

I think the problem resides in the checkBody() function, as it always expects HTML and tries to tokenize it, if I give it a pure JS file it won't work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Enhancement Most issues will probably ask for additions or changes.
Projects
None yet
Development

No branches or pull requests

3 participants