From 6317c3ae7526e33963fa27e6fbdc1e74c1685014 Mon Sep 17 00:00:00 2001 From: Shaun Date: Tue, 25 Jan 2022 20:53:06 +0800 Subject: [PATCH 01/10] Fixed Technologies Update Supporting new format --- Wappalyzer/Wappalyzer.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Wappalyzer/Wappalyzer.py b/Wappalyzer/Wappalyzer.py index 575f430..496cfdb 100644 --- a/Wappalyzer/Wappalyzer.py +++ b/Wappalyzer/Wappalyzer.py @@ -243,8 +243,12 @@ def latest(cls, technologies_file:str=None, update:bool=False) -> 'Wappalyzer': # Get the lastest file if should_update: try: - lastest_technologies_file=requests.get('https://raw.githubusercontent.com/AliasIO/wappalyzer/master/src/technologies.json') - obj = lastest_technologies_file.json() + cats = requests.get('https://github.com/AliasIO/wappalyzer/raw/master/src/categories.json').json() + techs = {} + for _ in '_abcdefghijklmnopqrstuvwxyz': + r = requests.get(f'https://github.com/AliasIO/wappalyzer/raw/master/src/technologies/{_}.json') + techs = {**techs, **r.json()} + obj = {'categories': cats, 'technologies': techs} _technologies_file = pathlib.Path(cls._find_files( ['HOME', 'APPDATA',], ['.python-Wappalyzer/technologies.json'], @@ -253,7 +257,7 @@ def latest(cls, technologies_file:str=None, update:bool=False) -> 'Wappalyzer': if obj != defaultobj: with _technologies_file.open('w', encoding='utf-8') as tfile: - tfile.write(lastest_technologies_file.text) + tfile.write(json.dumps(obj)) logger.info("python-Wappalyzer technologies.json file updated") except Exception as err: # Or loads default From 9372f6d9f8403fa665cb362b3b53f013113fecde Mon Sep 17 00:00:00 2001 From: tristanlatr Date: Fri, 11 Mar 2022 00:29:58 -0500 Subject: [PATCH 02/10] Add a script to include technologies in a python module --- Wappalyzer/Wappalyzer.py | 35 ++++++++++++++-------------------- Wappalyzer/fingerprint.py | 16 +++++++++++++++- scripts/update-technologies.py | 22 +++++++++++++++++++++ 3 files changed, 51 insertions(+), 22 deletions(-) create mode 100644 scripts/update-technologies.py diff --git a/Wappalyzer/Wappalyzer.py b/Wappalyzer/Wappalyzer.py index 1107302..b62e658 100644 --- a/Wappalyzer/Wappalyzer.py +++ b/Wappalyzer/Wappalyzer.py @@ -1,17 +1,15 @@ -from typing import Callable, Dict, Iterable, List, Any, Mapping, Set +from typing import Callable, Dict, Iterable, List, Any, Mapping, Set, Union import json import logging -import pkg_resources import re import os import pathlib -import requests from datetime import datetime, timedelta from typing import Optional -from Wappalyzer.fingerprint import Fingerprint, Pattern, Technology, Category +from Wappalyzer.fingerprint import Fingerprint, Pattern, Technology, Category, get_latest_tech_data from Wappalyzer.webpage import WebPage, IWebPage logger = logging.getLogger(name="python-Wappalyzer") @@ -88,8 +86,6 @@ def latest(cls, technologies_file:str=None, update:bool=False) -> 'Wappalyzer': from `AliasIO/wappalyzer `_ repository. """ - default=pkg_resources.resource_string(__name__, "data/technologies.json") - defaultobj = json.loads(default) if technologies_file: with open(technologies_file, 'r', encoding='utf-8') as fd: @@ -107,26 +103,20 @@ def latest(cls, technologies_file:str=None, update:bool=False) -> 'Wappalyzer': # Get the lastest file if should_update: try: - cats = requests.get('https://github.com/AliasIO/wappalyzer/raw/master/src/categories.json').json() - techs = {} - for _ in '_abcdefghijklmnopqrstuvwxyz': - r = requests.get(f'https://github.com/AliasIO/wappalyzer/raw/master/src/technologies/{_}.json') - techs = {**techs, **r.json()} - obj = {'categories': cats, 'technologies': techs} + obj = get_latest_tech_data() _technologies_file = pathlib.Path(cls._find_files( ['HOME', 'APPDATA',], ['.python-Wappalyzer/technologies.json'], create = True ).pop()) - if obj != defaultobj: - with _technologies_file.open('w', encoding='utf-8') as tfile: - tfile.write(json.dumps(obj)) - logger.info("python-Wappalyzer technologies.json file updated") + with _technologies_file.open('w', encoding='utf-8') as tfile: + tfile.write(json.dumps(obj)) + logger.info("python-Wappalyzer technologies.json file updated") except Exception as err: # Or loads default logger.error("Could not download latest Wappalyzer technologies.json file because of error : '{}'. Using default. ".format(err)) - obj = defaultobj + obj = None else: logger.debug("python-Wappalyzer technologies.json file not updated because already updated in the last 24h") with _technologies_file.open('r', encoding='utf-8') as tfile: @@ -134,8 +124,11 @@ def latest(cls, technologies_file:str=None, update:bool=False) -> 'Wappalyzer': logger.info("Using technologies.json file at {}".format(_technologies_file.as_posix())) else: - obj = defaultobj + obj = None + if obj is None: + from Wappalyzer.technologies import TECHNOLOGIES_DATA + obj = TECHNOLOGIES_DATA return cls(categories=obj['categories'], technologies=obj['technologies']) @@ -198,11 +191,11 @@ def _has_technology(self, tech_fingerprint: Fingerprint, webpage: IWebPage) -> b if pattern.regex.search(content): self._set_detected_app(webpage.url, tech_fingerprint, 'headers', pattern, value=content, key=name) has_tech = True - # analyze scripts patterns - for pattern in tech_fingerprint.scripts: + # analyze scripts src patterns + for pattern in tech_fingerprint.scriptSrc: for script in webpage.scripts: if pattern.regex.search(script): - self._set_detected_app(webpage.url, tech_fingerprint, 'scripts', pattern, value=script) + self._set_detected_app(webpage.url, tech_fingerprint, 'scriptSrc', pattern, value=script) has_tech = True # analyze meta patterns for name, patterns in list(tech_fingerprint.meta.items()): diff --git a/Wappalyzer/fingerprint.py b/Wappalyzer/fingerprint.py index 720118c..1ce2c7a 100644 --- a/Wappalyzer/fingerprint.py +++ b/Wappalyzer/fingerprint.py @@ -8,6 +8,8 @@ import logging from typing import Optional, Optional, Union, Mapping, Dict, List, Any +import requests + logger = logging.getLogger(name="python-Wappalyzer") class Pattern: @@ -100,8 +102,11 @@ def __init__(self, name:str, **attrs: Any) -> None: self.html: List[Pattern] = self._prepare_pattern(attrs['html']) if 'html' in attrs else [] self.text: List[Pattern] = self._prepare_pattern(attrs['text']) if 'text' in attrs else [] self.url: List[Pattern] = self._prepare_pattern(attrs['url']) if 'url' in attrs else [] + self.scriptSrc: List[Pattern] = self._prepare_pattern(attrs['scriptSrc']) if 'scriptSrc' in attrs else [] self.scripts: List[Pattern] = self._prepare_pattern(attrs['scripts']) if 'scripts' in attrs else [] + + # For python-Wappayzer, we match # self.cookies: Mapping[str, List[Pattern]] Not supported # self.dns: Mapping[str, List[Pattern]] Not supported @@ -199,4 +204,13 @@ def _prepare_dom(cls, thing: Union[str, List[str], for _key, pattern in clause['attributes'].items(): #type: ignore _prep_attr_patterns[_key] = cls._prepare_pattern(pattern) selectors.append(DomSelector(cssselect, exists=_exists, text=_prep_text_patterns, attributes=_prep_attr_patterns)) - return selectors \ No newline at end of file + return selectors + +def get_latest_tech_data() -> Dict[str, Any]: + cats = requests.get('https://github.com/AliasIO/wappalyzer/raw/master/src/categories.json').json() + techs: Dict[str, Any] = {} + for _ in '_abcdefghijklmnopqrstuvwxyz': + r = requests.get(f'https://github.com/AliasIO/wappalyzer/raw/master/src/technologies/{_}.json') + techs = {**techs, **r.json()} + obj = {'categories': cats, 'technologies': techs} + return obj diff --git a/scripts/update-technologies.py b/scripts/update-technologies.py new file mode 100644 index 0000000..cf0a7a8 --- /dev/null +++ b/scripts/update-technologies.py @@ -0,0 +1,22 @@ +import argparse +import datetime +import pprint +from pathlib import Path + +from Wappalyzer.fingerprint import get_latest_tech_data + +def get_parser() -> argparse.ArgumentParser: + parser = argparse.ArgumentParser() + parser.add_argument('technologies_py_moddule', action='store', type=Path, nargs=1) + return parser + +TECHNOLOGIES_PY_MOD_DOC = """ +This module contains the raw fingerprints data. It has been automatically generated on the %s. +""" + +if __name__ == "__main__": + args = get_parser().parse_args() + with args.technologies_py_moddule[0].open(mode='w', encoding='utf-8') as f: + text = f"TECHNOLOGIES_DATA = {pprint.pformat(get_latest_tech_data(), indent=4, width=120)}" + text = f'"""{TECHNOLOGIES_PY_MOD_DOC%datetime.datetime.now().isoformat()}"""\n\n{text}' + f.write(text) From b717b76ddf93d4c3f9f25d98230d6b76b3c56fb1 Mon Sep 17 00:00:00 2001 From: tristanlatr Date: Fri, 11 Mar 2022 00:30:57 -0500 Subject: [PATCH 03/10] Remove JSON - add generated python module --- Wappalyzer/data/technologies.json | 18424 ----------------------- Wappalyzer/technologies.py | 22572 ++++++++++++++++++++++++++++ 2 files changed, 22572 insertions(+), 18424 deletions(-) delete mode 100644 Wappalyzer/data/technologies.json create mode 100644 Wappalyzer/technologies.py diff --git a/Wappalyzer/data/technologies.json b/Wappalyzer/data/technologies.json deleted file mode 100644 index 897983b..0000000 --- a/Wappalyzer/data/technologies.json +++ /dev/null @@ -1,18424 +0,0 @@ -{ - "$schema": "../schema.json", - "categories": { - "1": { - "name": "CMS", - "priority": 1 - }, - "2": { - "name": "Message boards", - "priority": 1 - }, - "3": { - "name": "Database managers", - "priority": 2 - }, - "4": { - "name": "Documentation", - "priority": 2 - }, - "5": { - "name": "Widgets", - "priority": 9 - }, - "6": { - "name": "Ecommerce", - "priority": 1 - }, - "7": { - "name": "Photo galleries", - "priority": 1 - }, - "8": { - "name": "Wikis", - "priority": 1 - }, - "9": { - "name": "Hosting panels", - "priority": 1 - }, - "10": { - "name": "Analytics", - "priority": 9 - }, - "11": { - "name": "Blogs", - "priority": 1 - }, - "12": { - "name": "JavaScript frameworks", - "priority": 8 - }, - "13": { - "name": "Issue trackers", - "priority": 2 - }, - "14": { - "name": "Video players", - "priority": 7 - }, - "15": { - "name": "Comment systems", - "priority": 9 - }, - "16": { - "name": "Security", - "priority": 9 - }, - "17": { - "name": "Font scripts", - "priority": 9 - }, - "18": { - "name": "Web frameworks", - "priority": 7 - }, - "19": { - "name": "Miscellaneous", - "priority": 9 - }, - "20": { - "name": "Editors", - "priority": 4 - }, - "21": { - "name": "LMS", - "priority": 1 - }, - "22": { - "name": "Web servers", - "priority": 8 - }, - "23": { - "name": "Caching", - "priority": 7 - }, - "24": { - "name": "Rich text editors", - "priority": 5 - }, - "25": { - "name": "JavaScript graphics", - "priority": 6 - }, - "26": { - "name": "Mobile frameworks", - "priority": 8 - }, - "27": { - "name": "Programming languages", - "priority": 5 - }, - "28": { - "name": "Operating systems", - "priority": 6 - }, - "29": { - "name": "Search engines", - "priority": 4 - }, - "30": { - "name": "Webmail", - "priority": 2 - }, - "31": { - "name": "CDN", - "priority": 9 - }, - "32": { - "name": "Marketing automation", - "priority": 9 - }, - "33": { - "name": "Web server extensions", - "priority": 7 - }, - "34": { - "name": "Databases", - "priority": 5 - }, - "35": { - "name": "Maps", - "priority": 6 - }, - "36": { - "name": "Advertising", - "priority": 9 - }, - "37": { - "name": "Network devices", - "priority": 2 - }, - "38": { - "name": "Media servers", - "priority": 1 - }, - "39": { - "name": "Webcams", - "priority": 9 - }, - "41": { - "name": "Payment processors", - "priority": 8 - }, - "42": { - "name": "Tag managers", - "priority": 9 - }, - "44": { - "name": "CI", - "priority": 3 - }, - "45": { - "name": "Control systems", - "priority": 2 - }, - "46": { - "name": "Remote access", - "priority": 1 - }, - "47": { - "name": "Development", - "priority": 2 - }, - "48": { - "name": "Network storage", - "priority": 2 - }, - "49": { - "name": "Feed readers", - "priority": 1 - }, - "50": { - "name": "DMS", - "priority": 1 - }, - "51": { - "name": "Page builders", - "priority": 2 - }, - "52": { - "name": "Live chat", - "priority": 9 - }, - "53": { - "name": "CRM", - "priority": 5 - }, - "54": { - "name": "SEO", - "priority": 8 - }, - "55": { - "name": "Accounting", - "priority": 1 - }, - "56": { - "name": "Cryptominers", - "priority": 5 - }, - "57": { - "name": "Static site generator", - "priority": 1 - }, - "58": { - "name": "User Onboarding", - "priority": 8 - }, - "59": { - "name": "JavaScript libraries", - "priority": 9 - }, - "60": { - "name": "Containers", - "priority": 8 - }, - "62": { - "name": "PaaS", - "priority": 8 - }, - "63": { - "name": "IaaS", - "priority": 8 - }, - "64": { - "name": "Reverse proxies", - "priority": 7 - }, - "65": { - "name": "Load balancers", - "priority": 7 - }, - "66": { - "name": "UI frameworks", - "priority": 7 - }, - "67": { - "name": "Cookie compliance", - "priority": 9 - }, - "68": { - "name": "Accessibility", - "priority": 9 - }, - "69": { - "name": "Social logins", - "priority": 6 - }, - "70": { - "name": "SSL/TLS certificate authorities", - "priority": 9 - }, - "71": { - "name": "Affiliate programs", - "priority": 9 - }, - "72": { - "name": "Appointment scheduling", - "priority": 9 - }, - "73": { - "name": "Surveys", - "priority": 9 - }, - "74": { - "name": "A/B Testing", - "priority": 9 - }, - "75": { - "name": "Email", - "priority": 9 - } - }, - "technologies": { - "1C-Bitrix": { - "cats": [ - 1, - 6 - ], - "description": "1C-Bitrix is a system of web project management, universal software for the creation, support and successful development of corporate websites and online stores.", - "headers": { - "Set-Cookie": "BITRIX_", - "X-Powered-CMS": "Bitrix Site Manager" - }, - "html": "(?:]+components/bitrix|(?:src|href)=\"/bitrix/(?:js|templates))", - "icon": "1C-Bitrix.svg", - "implies": "PHP", - "scripts": "1c-bitrix", - "website": "http://www.1c-bitrix.ru" - }, - "3dCart": { - "cats": [ - 1, - 6 - ], - "cookies": { - "3dvisit": "" - }, - "headers": { - "X-Powered-By": "3DCART" - }, - "icon": "3dCart.png", - "scripts": "(?:twlh(?:track)?\\.asp|3d_upsell\\.js)", - "website": "http://www.3dcart.com" - }, - "91App": { - "cats": [ - 6 - ], - "icon": "91app.png", - "scripts": "https\\:\\/\\/track\\.91app\\.io\\/track\\.js\\?", - "website": "https://www.91app.com/" - }, - "@sulu/web": { - "cats": [ - 59 - ], - "icon": "Sulu.svg", - "js": { - "web.startComponents": "" - }, - "website": "https://github.com/sulu/web-js" - }, - "A-Frame": { - "cats": [ - 25 - ], - "html": "]*>", - "icon": "A-Frame.svg", - "implies": "three.js", - "js": { - "AFRAME.version": "^(.+)$\\;version:\\1" - }, - "scripts": "/?([\\d.]+)?/aframe(?:\\.min)?\\.js\\;version:\\1", - "website": "https://aframe.io" - }, - "AD EBiS": { - "cats": [ - 10 - ], - "html": [ - "", - "icon": "Business Catalyst.svg", - "scripts": "CatalystScripts", - "website": "http://businesscatalyst.com" - }, - "BuySellAds": { - "cats": [ - 36 - ], - "icon": "BuySellAds.svg", - "js": { - "_bsa": "", - "_bsaPRO": "", - "_bsap": "", - "_bsap_serving_callback": "" - }, - "scripts": [ - "^https?://s\\d\\.buysellads\\.com/", - "servedby-buysellads\\.com/monetization(?:\\.[\\w\\d]+)?\\.js" - ], - "website": "http://buysellads.com" - }, - "CCV Shop": { - "cats": [ - 6 - ], - "icon": "ccvshop.png", - "scripts": "/website/JavaScript/Vertoshop\\.js", - "website": "https://ccvshop.be" - }, - "CDN77": { - "cats": [ - 31 - ], - "description": "CDN77 is a content delivery network (CDN).", - "headers": { - "Server": "^CDN77-Turbo$" - }, - "icon": "CDN77.png", - "website": "https://www.cdn77.com" - }, - "CFML": { - "cats": [ - 27 - ], - "description": "ColdFusion Markup Language (CFML), is a scripting language for web development that runs on the JVM, the .NET framework, and Google App Engine.", - "icon": "CFML.png", - "website": "http://adobe.com/products/coldfusion-family.html" - }, - "Borlabs Cookie": { - "cats": [ - 67 - ], - "description": "Borlabs Cookie is a GDPR cookie consent plugin for WordPress.", - "icon": "Borlabs Cookie.svg", - "js": { "borlabsCookieConfig": "" }, - "dom": { - "#BorlabsCookieBox": { - "text": "" - } - }, - "pricing": ["low", "onetime"], - "implies": "WordPress", - "website": "https://borlabs.io/borlabs-cookie/" - }, - "CIVIC": { - "cats": [ - 67 - ], - "description": "Civic provides cookie control for user consent and the use of cookies.", - "icon": "civic.png", - "scripts": "cc\\.cdn\\.civiccomputing\\.com", - "website": "https://www.civicuk.com/cookie-control" - }, - "CKEditor": { - "cats": [ - 24 - ], - "cpe": "cpe:/a:ckeditor:ckeditor", - "description": "CKEditor is a WYSIWYG rich text editor which enables writing content directly inside of web pages or online applications. Its core code is written in JavaScript and it is developed by CKSource. CKEditor is available under open-source and commercial licenses.", - "icon": "CKEditor.png", - "js": { - "CKEDITOR": "", - "CKEDITOR.version": "^(.+)$\\;version:\\1", - "CKEDITOR_BASEPATH": "" - }, - "website": "http://ckeditor.com" - }, - "CMS Made Simple": { - "cats": [ - 1 - ], - "cookies": { - "CMSSESSID": "" - }, - "cpe": "cpe:/a:cmsmadesimple:cms_made_simple", - "icon": "CMS Made Simple.png", - "implies": "PHP", - "meta": { - "generator": "CMS Made Simple" - }, - "website": "http://cmsmadesimple.org" - }, - "CMSimple": { - "cats": [ - 1 - ], - "cpe": "cpe:/a:cmsimple:cmsimple", - "implies": "PHP", - "meta": { - "generator": "CMSimple( [\\d.]+)?\\;version:\\1" - }, - "website": "http://www.cmsimple.org/en" - }, - "CNZZ": { - "cats": [ - 10 - ], - "icon": "cnzz.png", - "js": { - "cnzz_protocol": "" - }, - "scripts": "//[^./]+\\.cnzz\\.com/(?:z_stat.php|core)\\?", - "website": "https://web.umeng.com/" - }, - "CPG Dragonfly": { - "cats": [ - 1 - ], - "headers": { - "X-Powered-By": "^Dragonfly CMS" - }, - "icon": "CPG Dragonfly.png", - "implies": "PHP", - "meta": { - "generator": "CPG Dragonfly" - }, - "website": "http://dragonflycms.org" - }, - "CS Cart": { - "cats": [ - 6 - ], - "html": [ - " Powered by (?:]+cs-cart\\.com|CS-Cart)", - "\\.cm-noscript[^>]+" - ], - "icon": "CS Cart.png", - "implies": "PHP", - "js": { - "fn_compare_strings": "" - }, - "website": "http://www.cs-cart.com" - }, - "CacheFly": { - "cats": [ - 31 - ], - "description": "CacheFly is a content delivery network (CDN) which offers CDN service that relies solely on IP anycast for routing, rather than DNS based global load balancing.", - "headers": { - "Server": "^CFS ", - "X-CF1": "", - "X-CF2": "" - }, - "icon": "CacheFly.svg", - "website": "http://www.cachefly.com" - }, - "Caddy": { - "cats": [ - 22 - ], - "headers": { - "Server": "^Caddy$" - }, - "icon": "caddy.svg", - "implies": "Go", - "website": "http://caddyserver.com" - }, - "Cafe24": { - "cats": [ - 6 - ], - "icon": "Cafe24.png", - "js": { - "EC_GLOBAL_DATETIME": "", - "EC_GLOBAL_INFO": "", - "EC_ROOT_DOMAIN": "" - }, - "website": "https://ec.cafe24.com/" - }, - "CakePHP": { - "cats": [ - 18 - ], - "cookies": { - "cakephp": "" - }, - "cpe": "cpe:/a:cakephp:cakephp", - "icon": "CakePHP.png", - "implies": "PHP", - "meta": { - "application-name": "CakePHP" - }, - "website": "http://cakephp.org" - }, - "Calendly": { - "cats": [ - 72 - ], - "description": "Calendly is an app for scheduling appointments, meetings, and events.", - "icon": "Calendly.svg", - "js": { - "Calendly": "" - }, - "scripts": "https://assets\\.calendly\\.com/assets/external/widget\\.js", - "website": "https://calendly.com/" - }, - "Captch Me": { - "cats": [ - 16, - 36 - ], - "icon": "Captch Me.svg", - "js": { - "Captchme": "" - }, - "scripts": "^https?://api\\.captchme\\.net/", - "website": "http://captchme.com" - }, - "Carbon Ads": { - "cats": [ - 36 - ], - "html": "<[a-z]+ [^>]*id=\"carbonads-container\"", - "icon": "Carbon Ads.png", - "js": { - "_carbonads": "" - }, - "scripts": "carbonads\\.com", - "website": "http://carbonads.net" - }, - "Cargo": { - "cats": [ - 1 - ], - "html": "]+Cargo feed", - "icon": "Cargo.svg", - "implies": "PHP", - "meta": { - "cargo_title": "" - }, - "scripts": "/cargo\\.", - "website": "http://cargocollective.com" - }, - "Cart Functionality": { - "cats": [ - 6 - ], - "description": "Websites that have a shopping cart or checkout page, either using a known ecommerce platform or a custom solution.", - "html": [ - "]*href=[^>]*/Cart", - "]*href=[^>]*/Basket", - "]*href=[^>]*/Trolley", - "]*href=[^>]*/Bag", - "]*href=[^>]*/ShoppingBag", - "]*href=[^>]*/Checkout" - ], - "icon": "Cart-generic.svg", - "website": "https://www.wappalyzer.com/technologies/ecommerce/cart-functionality" - }, - "Catberry.js": { - "cats": [ - 12, - 18 - ], - "headers": { - "X-Powered-By": "Catberry" - }, - "icon": "Catberry.js.png", - "implies": "Node.js", - "js": { - "catberry": "", - "catberry.version": "^(.+)$\\;version:\\1" - }, - "website": "https://catberry.github.io/" - }, - "Cecil": { - "cats": [ - 57 - ], - "description": "Cecil is a CLI application, powered by PHP, that merge plain text files (written in Markdown), images and Twig templates to generate a static website.", - "icon": "Cecil.svg", - "meta": { - "generator": "^Cecil(?: ([0-9.]+))?$\\;version:\\1" - }, - "website": "https://cecil.app" - }, - "CentOS": { - "cats": [ - 28 - ], - "cpe": "cpe:/o:centos:centos", - "description": "CentOS is a Linux distribution that provides a free, community-supported computing platform functionally compatible with its upstream source, Red Hat Enterprise Linux (RHEL).", - "headers": { - "Server": "CentOS", - "X-Powered-By": "CentOS" - }, - "icon": "CentOS.png", - "website": "http://centos.org" - }, - "Centminmod": { - "cats": [ - 22 - ], - "headers": { - "X-Powered-By": "centminmod" - }, - "icon": "centminmod.png", - "implies": [ - "CentOS", - "Nginx", - "PHP" - ], - "website": "https://centminmod.com" - }, - "Ceres": { - "cats": [ - 6 - ], - "headers": { - "X-Plenty-Shop": "Ceres" - }, - "icon": "Ceres.svg", - "website": "https://www.plentymarkets.com/" - }, - "Chamilo": { - "cats": [ - 21 - ], - "cpe": "cpe:/a:chamilo:chamilo_lms", - "description": "Chamilo is an open-source learning management and collaboration system.", - "headers": { - "X-Powered-By": "Chamilo ([\\d.]+)\\;version:\\1" - }, - "html": "\">Chamilo ([\\d.]+)\\;version:\\1", - "icon": "Chamilo.png", - "implies": "PHP", - "meta": { - "generator": "Chamilo ([\\d.]+)\\;version:\\1" - }, - "website": "http://www.chamilo.org" - }, - "Chart.js": { - "cats": [ - 25 - ], - "description": "Chart.js is an open-source JavaScript library that allows you to draw different types of charts by using the HTML5 canvas element.", - "icon": "Chart.js.svg", - "js": { - "Chart": "\\;confidence:50", - "Chart.defaults.doughnut": "", - "chart.ctx.bezierCurveTo": "" - }, - "scripts": [ - "/Chart(?:\\.bundle)?(?:\\.min)?\\.js\\;confidence:75", - "chartjs\\.org/dist/([\\d.]+(?:-[^/]+)?|master|latest)/Chart.*\\.js\\;version:\\1", - "cdnjs\\.cloudflare\\.com/ajax/libs/Chart\\.js/([\\d.]+(?:-[^/]+)?)/Chart.*\\.js\\;version:\\1", - "cdn\\.jsdelivr\\.net/(?:npm|gh/chartjs)/chart\\.js@([\\d.]+(?:-[^/]+)?|latest)/dist/Chart.*\\.js\\;version:\\1" - ], - "website": "https://www.chartjs.org" - }, - "Chartbeat": { - "cats": [ - 10 - ], - "icon": "Chartbeat.png", - "js": { - "_sf_async_config": "", - "_sf_endpt": "" - }, - "scripts": "chartbeat\\.js", - "website": "http://chartbeat.com" - }, - "Checkfront": { - "cats": [ - 5, - 6, - 72 - ], - "description": "Checkfront is a cloud-based booking management application and ecommerce platform.", - "icon": "Checkfront.svg", - "scripts": "\\.checkfront\\.com/", - "website": "https://www.checkfront.com" - }, - "Cherokee": { - "cats": [ - 22 - ], - "cpe": "cpe:/a:cherokee-project:cherokee", - "headers": { - "Server": "^Cherokee(?:/([\\d.]+))?\\;version:\\1" - }, - "icon": "Cherokee.png", - "website": "http://www.cherokee-project.com" - }, - "CherryPy": { - "cats": [ - 22 - ], - "description": "CherryPy is an object-oriented web application framework using the Python programming language.", - "headers": { - "Server": "CherryPy(?:/([\\d.]+))?\\;version:\\1" - }, - "icon": "CherryPy.svg", - "website": "https://cherrypy.org/" - }, - "Chevereto": { - "cats": [ - 7 - ], - "description": "Chevereto is an image hosting software that allows you to create a full-featured image hosting website on your own server.", - "html": "Powered by ", - "icon": "chevereto.png", - "implies": "PHP", - "meta": { - "generator": "^Chevereto ?([0-9.]+)?$\\;version:\\1" - }, - "scripts": "/chevereto\\.js", - "website": "https://chevereto.com/" - }, - "Chili Piper": { - "cats": [ - 72 - ], - "description": "Chili Piper is a suite of automated scheduling tools that help revenue teams convert leads.", - "icon": "Chili Piper.svg", - "js": { - "ChiliPiper": "" - }, - "scripts": "js\\.chilipiper\\.com/marketing\\.js", - "website": "https://www.chilipiper.com/" - }, - "Chitika": { - "cats": [ - 36 - ], - "icon": "Chitika.png", - "js": { - "ch_client": "", - "ch_color_site_link": "" - }, - "scripts": "scripts\\.chitika\\.net/", - "website": "http://chitika.com" - }, - "Chorus": { - "cats": [ - 1 - ], - "html": "; rel=shortlink" - }, - "icon": "Ckan.png", - "implies": [ - "Python", - "Solr", - "Java", - "PostgreSQL" - ], - "meta": { - "generator": "^ckan ?([0-9.]+)$\\;version:\\1" - }, - "website": "http://ckan.org/" - }, - "Clarity": { - "cats": [ - 66 - ], - "html": [ - "]*href=\"[^\"]*clr-ui(?:\\.min)?\\.css" - ], - "icon": "clarity.svg", - "implies": "Angular", - "js": { - "ClarityIcons": "" - }, - "scripts": "clr-angular(?:\\.umd)?(?:\\.min)?\\.js", - "website": "https://clarity.design/" - }, - "Classy": { - "cats": [ - 51 - ], - "description": "Classy is a class library for JavaScript applications.", - "icon": "classy.png", - "js": { - "Classy": "" - }, - "website": "https://www.classy.org/" - }, - "ClearSale": { - "cats": [ - 10 - ], - "description": "ClearSale offers fraud management and chargeback protection services.", - "icon": "ClearSale.svg", - "js": { - "window.csdm": "\\;confidence:50" - }, - "scripts": [ - "device\\.clearsale\\.com\\.br" - ], - "website": "https://www.clear.sale/" - }, - "Clearbit Reveal": { - "cats": [ - 10 - ], - "description": "Clearbit Reveal identifies anonymous visitors to websites.", - "icon": "Clearbit.png", - "scripts": [ - "reveal\\.clearbit\\.com/v[(0-9)]/" - ], - "website": "https://clearbit.com/reveal" - }, - "Cleverbridge": { - "cats": [ - 6 - ], - "description": "Cleverbridge is a all-in-one ecommerce and subscription billing solution for software, (SaaS) and digital goods.", - "icon": "Cleverbridge.svg", - "js": { - "cbCartProductSelection": "" - }, - "scripts": [ - "static-cf\\.cleverbridge\\.\\w+/js/Shop\\.js" - ], - "website": "https://www.cleverbridge.com" - }, - "ClickFunnels": { - "cats": [ - 32 - ], - "description": "Clickfunnels is an online sales funnel builder that helps businesses market, sell, and deliver their products online.", - "html": "]*\\s?=\\s?[^>]*;", - "icon": "Clientexec.png", - "website": "http://www.clientexec.com" - }, - "Clipboard.js": { - "cats": [ - 19 - ], - "icon": "Clipboard.js.svg", - "scripts": "clipboard(?:-([\\d.]+))?(?:\\.min)?\\.js\\;version:\\1", - "website": "https://clipboardjs.com/" - }, - "Cloud Platform": { - "cats": [ - 62 - ], - "description": "Cloud Platform (formally Acquia Cloud) is a Drupal-tuned application lifecycle management suite with an infrastructure to support Drupal deployment workflow processes.", - "headers": { - "X-AH-Environment": "^\\w+$" - }, - "icon": "acquia-cloud.png", - "implies": [ - "Drupal\\;confidence:95", - "Apache", - "Percona", - "Amazon EC2" - ], - "website": "https://www.acquia.com/" - }, - "CloudCart": { - "cats": [ - 6 - ], - "icon": "cloudcart.svg", - "meta": { - "author": "^CloudCart LLC$" - }, - "scripts": "/cloudcart-(?:assets|storage)/", - "website": "http://cloudcart.com" - }, - "CloudSuite": { - "cats": [ - 6 - ], - "cookies": { - "cs_secure_session": "" - }, - "icon": "CloudSuite.svg", - "website": "https://cloudsuite.com" - }, - "Cloudera": { - "cats": [ - 34 - ], - "description": "Cloudera is a software platform for data engineering, data warehousing, machine learning and analytics that runs in the cloud or on-premises.", - "headers": { - "Server": "cloudera" - }, - "icon": "Cloudera.png", - "website": "http://www.cloudera.com" - }, - "Cloudflare": { - "cats": [ - 31 - ], - "cookies": { - "__cfduid": "" - }, - "description": "Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.", - "headers": { - "Server": "^cloudflare$", - "cf-cache-status": "", - "cf-ray": "" - }, - "icon": "CloudFlare.svg", - "js": { - "CloudFlare": "" - }, - "website": "http://www.cloudflare.com" - }, - "Cloudflare Browser Insights": { - "cats": [ - 10 - ], - "description": "Cloudflare Browser Insights is a tool tool that measures the performance of websites from the perspective of users.", - "icon": "CloudFlare.svg", - "js": { - "__cfBeaconCustomTag": "" - }, - "scripts": "static\\.cloudflareinsights\\.com/beacon(?:\\.min)?\\.js", - "website": "http://www.cloudflare.com" - }, - "Cloudinary": { - "cats": [ - 31 - ], - "html": [ - "]+\\.cloudinary\\.com\\;confidence:80" - ], - "icon": "Cloudinary.svg", - "website": "https://cloudinary.com" - }, - "Coaster CMS": { - "cats": [ - 1 - ], - "cpe": "cpe:/a:web-feet:coaster_cms", - "icon": "coaster-cms.png", - "implies": "Laravel", - "meta": { - "generator": "^Coaster CMS v([\\d.]+)$\\;version:\\1" - }, - "website": "https://www.coastercms.org" - }, - "CoconutSoftware": { - "cats": [ - 5, - 72 - ], - "cookies": { - "coconut_calendar": "" - }, - "description": "Coconut is a cloud-based appointment scheduling solution designed for enterprise financial services organizations such as credit unions, retail banks and more.", - "icon": "CoconutSoftware.svg", - "website": "https://www.coconutsoftware.com/" - }, - "CodeIgniter": { - "cats": [ - 18 - ], - "cookies": { - "ci_csrf_token": "^(.+)$\\;version:\\1?2+:", - "ci_session": "", - "exp_last_activity": "", - "exp_tracker": "" - }, - "cpe": "cpe:/a:codeigniter:codeigniter", - "html": "]+name=\"ci_csrf_token\"\\;version:2+", - "icon": "CodeIgniter.png", - "implies": "PHP", - "website": "http://codeigniter.com" - }, - "CodeMirror": { - "cats": [ - 19 - ], - "description": "CodeMirror is a JavaScript component that provides a code editor in the browser.", - "icon": "CodeMirror.png", - "js": { - "CodeMirror": "", - "CodeMirror.version": "^(.+)$\\;version:\\1" - }, - "website": "http://codemirror.net" - }, - "CoinHive": { - "cats": [ - 56 - ], - "description": "Coinhive is a cryptocurrency mining service.", - "icon": "CoinHive.svg", - "js": { - "CoinHive": "" - }, - "scripts": [ - "\\/(?:coinhive|(authedmine))(?:\\.min)?\\.js\\;version:\\1?opt-in:", - "coinhive\\.com/lib" - ], - "url": "https?://cnhv\\.co/", - "website": "https://coinhive.com" - }, - "CoinHive Captcha": { - "cats": [ - 16, - 56 - ], - "html": "(?:]+class=\"coinhive-captcha[^>]+data-key|]+data-key[^>]+class=\"coinhive-captcha)", - "icon": "CoinHive.svg", - "scripts": "https?://authedmine\\.com/(?:lib/captcha|captcha)", - "website": "https://coinhive.com" - }, - "Coinbase Commerce": { - "cats": [ - 41 - ], - "description": "Coinbase Commerce is a platform that enables merchants to accept cryptocurrency payments.", - "dom": { - "a[href^='https://commerce.coinbase.com/checkout/']": { - "attributes": { - "href": "^https://commerce\\.coinbase\\.com/checkout/[a-z0-9-]+$" - } - } - }, - "icon": "Coinbase.svg", - "website": "https://commerce.coinbase.com/" - }, - "Coinhave": { - "cats": [ - 56 - ], - "description": "CoinHave is a cryptocurrency mining service.", - "icon": "coinhave.png", - "scripts": "https?://coin-have\\.com/c/[0-9a-zA-Z]{4}\\.js", - "website": "https://coin-have.com/" - }, - "Coinimp": { - "cats": [ - 56 - ], - "description": "CoinImp is a cryptocurrency mining service.", - "icon": "coinimp.png", - "js": { - "Client.Anonymous": "\\;confidence:50" - }, - "scripts": "https?://www\\.hashing\\.win/scripts/min\\.js", - "website": "https://www.coinimp.com" - }, - "ColorMeShop": { - "cats": [ - 6 - ], - "icon": "colormeshop.png", - "js": { - "Colorme": "" - }, - "website": "https://shop-pro.jp" - }, - "Comandia": { - "cats": [ - 6 - ], - "html": "]+=['\"]//cdn\\.mycomandia\\.com", - "icon": "Comandia.svg", - "js": { - "Comandia": "" - }, - "website": "http://comandia.com" - }, - "Combeenation": { - "cats": [ - 6 - ], - "html": "]+src=\"[^>]+portal\\.combeenation\\.com", - "icon": "Combeenation.png", - "website": "https://www.combeenation.com" - }, - "Commerce Server": { - "cats": [ - 6 - ], - "cpe": "cpe:/a:microsoft:commerce_server", - "headers": { - "COMMERCE-SERVER-SOFTWARE": "" - }, - "icon": "Commerce Server.png", - "implies": "Microsoft ASP.NET", - "website": "http://commerceserver.net" - }, - "Commerce.js": { - "cats": [ - 6 - ], - "description": "Commerce.js is an API-first eCommerce platform for developers & businesses.", - "headers": { - "Chec-Version": ".*", - "X-Support": "support@commercejs\\.com" - }, - "icon": "commercejs.png", - "scripts": [ - "https?:/cdn\\.chec\\.io/v(\\d+)/commerce\\.js\\;version:\\1", - "chec/commerce\\.js" - ], - "url": "^https?//.+\\.spaces.chec\\.io", - "website": "https://www.commercejs.com" - }, - "CompaqHTTPServer": { - "cats": [ - 22 - ], - "cpe": "cpe:/a:hp:compaqhttpserver", - "headers": { - "Server": "CompaqHTTPServer\\/?([\\d\\.]+)?\\;version:\\1" - }, - "icon": "HP.svg", - "website": "http://www.hp.com" - }, - "Concrete5": { - "cats": [ - 1 - ], - "cookies": { - "CONCRETE5": "" - }, - "cpe": "cpe:/a:concrete5:concrete5", - "icon": "Concrete5.png", - "implies": "PHP", - "js": { - "CCM_IMAGE_PATH": "" - }, - "meta": { - "generator": "^concrete5 - ([\\d.]+)$\\;version:\\1" - }, - "scripts": "/concrete/js/", - "website": "https://concrete5.org" - }, - "Contao": { - "cats": [ - 1 - ], - "cpe": "cpe:/a:contao:contao_cms", - "html": [ - "", - "]+(?:typolight|contao)\\.css" - ], - "icon": "Contao.svg", - "implies": "PHP", - "meta": { - "generator": "^Contao Open Source CMS$" - }, - "website": "http://contao.org" - }, - "Contenido": { - "cats": [ - 1 - ], - "cpe": "cpe:/a:contenido:contendio", - "icon": "Contenido.png", - "implies": "PHP", - "meta": { - "generator": "Contenido ([\\d.]+)\\;version:\\1" - }, - "website": "http://contenido.org/en" - }, - "Contensis": { - "cats": [ - 1 - ], - "icon": "Contensis.png", - "implies": [ - "Java", - "CFML" - ], - "meta": { - "generator": "Contensis CMS Version ([\\d.]+)\\;version:\\1" - }, - "website": "https://zengenti.com/en-gb/products/contensis" - }, - "ContentBox": { - "cats": [ - 1, - 11 - ], - "icon": "ContentBox.png", - "implies": "Adobe ColdFusion", - "meta": { - "generator": "ContentBox powered by ColdBox" - }, - "website": "http://www.gocontentbox.org" - }, - "Contentful": { - "cats": [ - 1 - ], - "description": "Contentful is an API-first content management platform to create, manage and publish content on any digital channel.", - "html": "<[^>]+(?:https?:)?//(?:assets|downloads|images|videos)\\.(?:ct?fassets\\.net|contentful\\.com)", - "icon": "Contentful.svg", - "website": "http://www.contentful.com" - }, - "ConversionLab": { - "cats": [ - 10 - ], - "icon": "ConversionLab.png", - "scripts": "conversionlab\\.trackset\\.com/track/tsend\\.js", - "website": "http://www.trackset.it/conversionlab" - }, - "Cookie Script": { - "cats": [ - 67 - ], - "description": "Cookie-Script automatically scans, categorizes and adds description to all cookies found on your website.", - "icon": "CookieScript.png", - "scripts": "//cookie-script\\.com/s/", - "website": "https://cookie-script.com/" - }, - "CookieHub": { - "cats": [ - 67 - ], - "icon": "CookieHub.png", - "scripts": [ - "cookiehub\\.net/.*\\.js" - ], - "website": "https://www.cookiehub.com" - }, - "CookieYes": { - "cats": [ - 67 - ], - "icon": "cookieyes.png", - "scripts": "app\\.cookieyes\\.com/client_data/", - "website": "https://www.cookieyes.com/" - }, - "Cookiebot": { - "cats": [ - 67 - ], - "description": "Cookiebot is a cloud-driven solution that automatically controls cookies and trackers, enabling full GDPR/ePrivacy and CCPA compliance for websites.", - "icon": "Cookiebot.svg", - "scripts": "consent\\.cookiebot\\.com", - "website": "http://www.cookiebot.com" - }, - "Coppermine": { - "cats": [ - 7 - ], - "cpe": "cpe:/a:coppermine-gallery:coppermine_photo_gallery", - "description": "Coppermine is an open-source image gallery application.", - "html": "", - "icon": "Docker.svg", - "website": "https://www.docker.com/" - }, - "Docusaurus": { - "cats": [ - 4 - ], - "description": "Docusaurus is a tool for teams to publish documentation websites.", - "icon": "docusaurus.svg", - "implies": [ - "React", - "webpack" - ], - "js": { - "search.indexName": "" - }, - "meta": { - "generator": "^Docusaurus$" - }, - "website": "https://docusaurus.io/" - }, - "Dojo": { - "cats": [ - 59 - ], - "cpe": "cpe:/a:dojotoolkit:dojo", - "icon": "Dojo.png", - "js": { - "dojo": "", - "dojo.version.major": "^(.+)$\\;version:\\1" - }, - "scripts": "([\\d.]+)/dojo/dojo(?:\\.xd)?\\.js\\;version:\\1", - "website": "https://dojotoolkit.org" - }, - "Dokeos": { - "cats": [ - 21 - ], - "description": "Dokeos is an e-learning and course management web application.", - "headers": { - "X-Powered-By": "Dokeos" - }, - "html": "(?:Portal ]+>Dokeos|@import \"[^\"]+dokeos_blue)", - "icon": "Dokeos.png", - "implies": [ - "PHP", - "Xajax", - "jQuery", - "CKEditor" - ], - "meta": { - "generator": "Dokeos" - }, - "website": "https://dokeos.com" - }, - "DokuWiki": { - "cats": [ - 8 - ], - "cookies": { - "DokuWiki": "" - }, - "cpe": "cpe:/a:dokuwiki:dokuwiki", - "description": "DokuWiki is a Free open-source wiki software.", - "html": [ - "]+id=\"dokuwiki__>", - "]+href=\"#dokuwiki__" - ], - "icon": "DokuWiki.png", - "implies": "PHP", - "meta": { - "generator": "^DokuWiki( Release [\\d-]+)?\\;version:\\1" - }, - "website": "https://www.dokuwiki.org" - }, - "Dotclear": { - "cats": [ - 1 - ], - "cpe": "cpe:/a:dotclear:dotclear", - "headers": { - "X-Dotclear-Static-Cache": "" - }, - "icon": "Dotclear.png", - "implies": "PHP", - "website": "http://dotclear.org" - }, - "DoubleClick Ad Exchange (AdX)": { - "cats": [ - 36 - ], - "description": "DoubleClick Ad Exchange is a real-time marketplace to buy and sell display advertising space.", - "icon": "DoubleClick.svg", - "scripts": [ - "googlesyndication\\.com/pagead/show_ads\\.js", - "tpc\\.googlesyndication\\.com/safeframe", - "googlesyndication\\.com.*abg\\.js" - ], - "website": "http://www.doubleclickbygoogle.com/solutions/digital-marketing/ad-exchange/" - }, - "DoubleClick Campaign Manager (DCM)": { - "cats": [ - 36 - ], - "icon": "DoubleClick.svg", - "scripts": "2mdn\\.net", - "website": "http://www.doubleclickbygoogle.com/solutions/digital-marketing/campaign-manager/" - }, - "DoubleClick Floodlight": { - "cats": [ - 36 - ], - "icon": "DoubleClick.svg", - "scripts": "https?://fls\\.doubleclick\\.net", - "website": "http://support.google.com/ds/answer/6029713?hl=en" - }, - "DoubleClick for Publishers (DFP)": { - "cats": [ - 36 - ], - "description": "DoubleClick for Publishers (DFP) is a hosted ad serving platform that streamlines your ad management.", - "icon": "DoubleClick.svg", - "scripts": "googletagservices\\.com/tag/js/gpt(?:_mobile)?\\.js", - "website": "http://www.google.com/dfp" - }, - "DovetailWRP": { - "cats": [ - 1 - ], - "html": "]* href=\"\\/DovetailWRP\\/", - "icon": "DovetailWRP.png", - "implies": "Microsoft ASP.NET", - "scripts": "\\/DovetailWRP\\/", - "website": "http://www.dovetailinternet.com" - }, - "Doxygen": { - "cats": [ - 4 - ], - "cpe": "cpe:/a:doxygen:doxygen", - "description": "Doxygen is a documentation generator, a tool for writing software reference documentation.", - "html": "(?:|" - ], - "icon": "Google Tag Manager.svg", - "js": { - "google_tag_manager": "", - "googletag": "" - }, - "scripts": [ - "googletagmanager\\.com/gtm\\.js", - "googletagmanager\\.com/gtag/js" - ], - "website": "http://www.google.com/tagmanager" - }, - "Google Wallet": { - "cats": [ - 41 - ], - "icon": "Google Wallet.png", - "scripts": [ - "checkout\\.google\\.com", - "wallet\\.google\\.com" - ], - "website": "http://wallet.google.com" - }, - "Google Web Server": { - "cats": [ - 22 - ], - "cpe": "cpe:/a:google:web_server", - "headers": { - "Server": "gws" - }, - "icon": "Google.svg", - "website": "http://en.wikipedia.org/wiki/Google_Web_Server" - }, - "Google Web Toolkit": { - "cats": [ - 18 - ], - "cpe": "cpe:/a:google:web_toolkit", - "description": "Google Web Toolkit (GWT) is an open-source Java software development framework that makes writing AJAX applications.", - "icon": "Google Web Toolkit.png", - "implies": "Java", - "js": { - "__gwt_": "", - "__gwt_activeModules": "", - "__gwt_getMetaProperty": "", - "__gwt_isKnownPropertyValue": "", - "__gwt_stylesLoaded": "", - "__gwtlistener": "" - }, - "meta": { - "gwt:property": "" - }, - "website": "http://developers.google.com/web-toolkit" - }, - "Google Workspace": { - "cats": [ - 30, - 75 - ], - "description": "Google Workspace, formerly G Suite, is a collection of cloud computing, productivity and collaboration tools.", - "dns": { - "MX": [ - "aspmx\\.l\\.google\\.com", - "googlemail\\.com" - ] - }, - "icon": "Google Workspace.svg", - "website": "https://workspace.google.com/" - }, - "Graffiti CMS": { - "cats": [ - 1 - ], - "cookies": { - "graffitibot": "" - }, - "icon": "Graffiti CMS.png", - "implies": "Microsoft ASP.NET", - "meta": { - "generator": "Graffiti CMS ([^\"]+)\\;version:\\1" - }, - "scripts": "/graffiti\\.js", - "website": "http://graffiticms.codeplex.com" - }, - "GrandNode": { - "cats": [ - 6 - ], - "cookies": { - "Grand.customer": "" - }, - "html": "(?:" - ], - "icon": "inspectlet.png", - "js": { - "__insp": "", - "__inspld": "" - }, - "scripts": [ - "cdn\\.inspectlet\\.com" - ], - "website": "https://www.inspectlet.com/" - }, - "Instabot": { - "cats": [ - 5, - 10, - 32, - 52, - 58 - ], - "description": "Instabot is a conversion chatbot that understands your users, and curates information, answers questions, captures contacts, and books meetings instantly.", - "icon": "Instabot.png", - "js": { - "Instabot": "" - }, - "scripts": "/rokoInstabot\\.js", - "website": "https://instabot.io/" - }, - "InstantCMS": { - "cats": [ - 1 - ], - "cookies": { - "InstantCMS[logdate]": "" - }, - "cpe": "cpe:/a:instantcms:instantcms", - "icon": "InstantCMS.png", - "implies": "PHP", - "meta": { - "generator": "InstantCMS" - }, - "website": "http://www.instantcms.ru" - }, - "Intel Active Management Technology": { - "cats": [ - 22, - 46 - ], - "cpe": "cpe:/a:intel:active_management_technology", - "description": "Intel Active Management Technology (AMT) is a proprietary remote management and control system for personal computers with Intel CPUs.", - "headers": { - "Server": "Intel\\(R\\) Active Management Technology(?: ([\\d.]+))?\\;version:\\1" - }, - "icon": "Intel Active Management Technology.png", - "website": "http://intel.com" - }, - "IntenseDebate": { - "cats": [ - 15 - ], - "description": "IntenseDebate is a blog commenting system that supports Typepad, Blogger and Wordpress blogs. The system allows blog owners to track and moderate comments from one place with features like threading, comment analytics, user reputation, and comment aggregation.", - "icon": "IntenseDebate.png", - "scripts": "intensedebate\\.com", - "website": "http://intensedebate.com" - }, - "Intercom": { - "cats": [ - 10 - ], - "description": "Intercom is a Conversational Relationship Platform that helps businesses build better customer relationships through personalised, messenger-based experiences.", - "icon": "Intercom.svg", - "js": { - "Intercom": "" - }, - "scripts": "(?:api\\.intercom\\.io/api|static\\.intercomcdn\\.com/intercom\\.v1)", - "website": "https://www.intercom.com" - }, - "Intercom Articles": { - "cats": [ - 4 - ], - "description": "Intercom Articles is a tool to create, organise and publish help articles.", - "html": "]+>We run on Intercom", - "icon": "Intercom.svg", - "website": "https://www.intercom.com/articles" - }, - "Intershop": { - "cats": [ - 6 - ], - "html": "(?:CDS )?Invenio\\s*v?([\\d\\.]+)?\\;version:\\1", - "icon": "Invenio.png", - "website": "http://invenio-software.org" - }, - "Ionic": { - "cats": [ - 18 - ], - "icon": "ionic.png", - "js": { - "Ionic.config": "", - "Ionic.version": "^(.+)$\\;version:\\1" - }, - "website": "https://ionicframework.com" - }, - "Ionicons": { - "cats": [ - 17 - ], - "description": "Ionicons is an open-source icon set crafted for web, iOS, Android, and desktop apps.", - "html": "]* href=[^>]+ionicons(?:\\.min)?\\.css", - "icon": "Ionicons.png", - "website": "http://ionicons.com" - }, - "Irroba": { - "cats": [ - 6 - ], - "html": "]*href=\"https://www\\.irroba\\.com\\.br", - "icon": "irroba.svg", - "website": "https://www.irroba.com.br/" - }, - "Iubenda": { - "cats": [ - 67 - ], - "icon": "iubenda.png", - "scripts": [ - "iubenda\\.com/cookie-solution/confs/js/" - ], - "website": "https://www.iubenda.com/" - }, - "J2Store": { - "cats": [ - 6 - ], - "icon": "j2store.png", - "implies": "Joomla", - "js": { - "j2storeURL": "" - }, - "website": "https://www.j2store.org/" - }, - "JAlbum": { - "cats": [ - 7 - ], - "description": "jAlbum is across-platform photo website software for creating and uploading galleries from images and videos.", - "icon": "JAlbum.png", - "implies": "Java", - "meta": { - "generator": "JAlbum( [\\d.]+)?\\;version:\\1" - }, - "website": "http://jalbum.net/en" - }, - "JBoss Application Server": { - "cats": [ - 22 - ], - "headers": { - "X-Powered-By": "JBoss(?:-([\\d.]+))?\\;version:\\1" - }, - "icon": "JBoss Application Server.png", - "website": "http://jboss.org/jbossas.html" - }, - "JBoss Web": { - "cats": [ - 22 - ], - "excludes": "Apache Tomcat", - "headers": { - "X-Powered-By": "JBossWeb(?:-([\\d.]+))?\\;version:\\1" - }, - "icon": "JBoss Web.png", - "implies": "JBoss Application Server", - "website": "http://jboss.org/jbossweb" - }, - "JET Enterprise": { - "cats": [ - 6 - ], - "headers": { - "powered": "jet-enterprise" - }, - "icon": "JET Enterprise.svg", - "website": "http://www.jetecommerce.com.br/" - }, - "JS Charts": { - "cats": [ - 25 - ], - "icon": "JS Charts.png", - "js": { - "JSChart": "" - }, - "scripts": "jscharts.{0,32}\\.js", - "website": "http://www.jscharts.com" - }, - "JSEcoin": { - "cats": [ - 56 - ], - "description": "JSEcoin is a way to mine, receive payments for your goods or services and transfer cryptocurrency", - "icon": "JSEcoin.png", - "js": { - "jseMine": "" - }, - "scripts": "^(?:https):?//load\\.jsecoin\\.com/load/", - "website": "https://jsecoin.com/" - }, - "JTL Shop": { - "cats": [ - 6 - ], - "cookies": { - "JTLSHOP": "" - }, - "html": "(?:]+name=\"JTLSHOP|", - "icon": "Java.png", - "website": "https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javadoc.html" - }, - "Jekyll": { - "cats": [ - 57 - ], - "cpe": "cpe:/a:jekyllrb:jekyll", - "description": "Jekyll is a blog-aware, static site generator for personal, project, or organization sites.", - "html": [ - "Powered by ]*>JekyllJenkins ver\\. ([\\d.]+)\\;version:\\1", - "icon": "Jenkins.png", - "implies": "Java", - "js": { - "jenkinsCIGlobal": "", - "jenkinsRules": "" - }, - "website": "https://jenkins.io/" - }, - "Jetshop": { - "cats": [ - 6 - ], - "html": "<(?:div|aside) id=\"jetshop-branding\">", - "icon": "Jetshop.png", - "js": { - "JetshopData": "" - }, - "website": "http://jetshop.se" - }, - "Jetty": { - "cats": [ - 22 - ], - "headers": { - "Server": "Jetty(?:\\(([\\d\\.]*\\d+))?\\;version:\\1" - }, - "icon": "Jetty.png", - "implies": "Java", - "website": "http://www.eclipse.org/jetty" - }, - "Jibres": { - "cats": [ - 6, - 55 - ], - "cookies": { - "jibres": "" - }, - "description": "Jibres is an ecommerce solution with an online store builder and Point-of-Sale (PoS) software.", - "headers": { - "X-Powered-By": "Jibres" - }, - "icon": "Jibres.svg", - "js": { - "jibres": "" - }, - "meta": { - "generator": "Jibres" - }, - "scripts": "/jibres\\.js", - "website": "https://jibres.com" - }, - "Jimdo": { - "cats": [ - 1 - ], - "headers": { - "X-Jimdo-Instance": "", - "X-Jimdo-Wid": "" - }, - "icon": "jimdo.png", - "url": "\\.jimdo\\.com/", - "website": "https://www.jimdo.com" - }, - "Jirafe": { - "cats": [ - 10, - 32 - ], - "icon": "Jirafe.png", - "js": { - "jirafe": "" - }, - "scripts": "/jirafe\\.js", - "website": "https://docs.jirafe.com" - }, - "Jitsi": { - "cats": [ - 52 - ], - "description": "Jitsi is a free and open-source multiplatform voice (VoIP), videoconferencing and instant messaging applications for the web platform.", - "icon": "Jitsi.png", - "scripts": "lib-jitsi-meet.*\\.js", - "website": "https://jitsi.org" - }, - "Jive": { - "cats": [ - 19 - ], - "headers": { - "X-JIVE-USER-ID": "", - "X-JSL": "", - "X-Jive-Flow-Id": "", - "X-Jive-Request-Id": "", - "x-jive-chrome-wrapped": "" - }, - "icon": "Jive.png", - "website": "http://www.jivesoftware.com" - }, - "JobberBase": { - "cats": [ - 19 - ], - "icon": "JobberBase.png", - "implies": "PHP", - "js": { - "Jobber": "" - }, - "meta": { - "generator": "Jobberbase" - }, - "website": "http://www.jobberbase.com" - }, - "Joomla": { - "cats": [ - 1 - ], - "cpe": "cpe:/a:joomla:joomla", - "description": "Joomla is a free and open-source content management system for publishing web content.", - "headers": { - "X-Content-Encoded-By": "Joomla! ([\\d.]+)\\;version:\\1" - }, - "html": "(?:]+id=\"wrapper_r\"|<(?:link|script)[^>]+(?:feed|components)/com_|]+class=\"pill)\\;confidence:50", - "icon": "Joomla.svg", - "implies": "PHP", - "js": { - "Joomla": "", - "jcomments": "" - }, - "meta": { - "generator": "Joomla!(?: ([\\d.]+))?\\;version:\\1" - }, - "url": "option=com_", - "website": "https://www.joomla.org" - }, - "Jumpseller": { - "cats": [ - 6 - ], - "description": "Jumpseller is a cloud ecommerce solution for small businesses.", - "icon": "Jumpseller.svg", - "js": { - "Jumpseller": "" - }, - "scripts": [ - "assets\\.jumpseller\\.\\w+/", - "jumpseller-apps\\.herokuapp\\.\\w+/" - ], - "website": "https://jumpseller.com" - }, - "K2": { - "cats": [ - 19 - ], - "html": "", - "icon": "Lightspeed.svg", - "scripts": "http://assets\\.webshopapp\\.com", - "url": "seoshop.webshopapp.com", - "website": "http://www.lightspeedhq.com/products/ecommerce/" - }, - "LinkSmart": { - "cats": [ - 36 - ], - "icon": "LinkSmart.png", - "js": { - "LS_JSON": "", - "LinkSmart": "", - "_mb_site_guid": "" - }, - "scripts": "^https?://cdn\\.linksmart\\.com/linksmart_([\\d.]+?)(?:\\.min)?\\.js\\;version:\\1", - "website": "http://linksmart.com" - }, - "Linkedin": { - "cats": [ - 5 - ], - "description": "LinkedIn is the world's largest professional networking platform.", - "icon": "Linkedin.svg", - "scripts": "//platform\\.linkedin\\.com/in\\.js", - "website": "http://linkedin.com" - }, - "Linkedin Insight Tag": { - "cats": [ - 10 - ], - "dom": { - "noscript > img[src*='dc.ads.linkedin.com']": { - "attributes": { - "src": "" - } - } - }, - "icon": "Linkedin.svg", - "js": { - "_linkedin_data_partner_id": "" - }, - "scripts": "snap\\.licdn\\.com/li\\.lms-analytics/insight\\.min\\.js", - "website": "https://business.linkedin.com/marketing-solutions/insight-tag" - }, - "Liquid Web": { - "cats": [ - 62 - ], - "headers": { - "x-lw-cache": "" - }, - "icon": "liquidweb.svg", - "website": "https://www.liquidweb.com" - }, - "List.js": { - "cats": [ - 59 - ], - "icon": "List.js.png", - "js": { - "List": "" - }, - "scripts": "^list\\.(?:min\\.)?js$", - "website": "http://listjs.com" - }, - "LiteSpeed": { - "cats": [ - 22 - ], - "cpe": "cpe:/a:litespeedtech:litespeed_web_server", - "description": "LiteSpeed is a high-scalability web server.", - "headers": { - "Server": "^LiteSpeed$" - }, - "icon": "LiteSpeed.svg", - "website": "http://litespeedtech.com" - }, - "Litespeed Cache": { - "cats": [ - 23 - ], - "description": "LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.", - "headers": { - "x-litespeed-cache": "" - }, - "icon": "litespeed-cache.png", - "implies": "WordPress", - "website": "https://wordpress.org/plugins/litespeed-cache/" - }, - "Lithium": { - "cats": [ - 1 - ], - "cookies": { - "LithiumVisitor": "" - }, - "html": " ]+Powered by Lithium", - "icon": "Lithium.png", - "implies": "PHP", - "js": { - "LITHIUM": "" - }, - "website": "https://www.lithium.com" - }, - "Live Story": { - "cats": [ - 1 - ], - "icon": "LiveStory.png", - "js": { - "LSHelpers": "", - "LiveStory": "" - }, - "website": "https://www.livestory.nyc/" - }, - "LiveAgent": { - "cats": [ - 52 - ], - "description": "LiveAgent is an online live chat platform. The software provides a ticket management system.", - "icon": "LiveAgent.png", - "js": { - "LiveAgent": "" - }, - "website": "https://www.ladesk.com" - }, - "LiveChat": { - "cats": [ - 52 - ], - "description": "LiveChat is an online customer service software with online chat, help desk software, and web analytics capabilities.", - "icon": "LiveChat.png", - "scripts": "cdn\\.livechatinc\\.com/.*tracking\\.js", - "website": "http://livechatinc.com" - }, - "LiveHelp": { - "cats": [ - 52, - 53 - ], - "description": "LiveHelp is an online chat tool.", - "icon": "LiveHelp.png", - "js": { - "LHready": "" - }, - "website": "http://www.livehelp.it" - }, - "LiveJournal": { - "cats": [ - 11 - ], - "description": "LiveJournal is a social networking service where users can keep a blog, journal or diary.", - "icon": "LiveJournal.png", - "url": "\\.livejournal\\.com", - "website": "http://www.livejournal.com" - }, - "LivePerson": { - "cats": [ - 52 - ], - "description": "LivePerson is a tool for conversational chatbots and messaging.", - "icon": "LivePerson.png", - "scripts": "^https?://lptag\\.liveperson\\.net/tag/tag\\.js", - "website": "https://www.liveperson.com/" - }, - "LiveStreet CMS": { - "cats": [ - 1 - ], - "headers": { - "X-Powered-By": "LiveStreet CMS" - }, - "icon": "LiveStreet CMS.png", - "implies": "PHP", - "js": { - "LIVESTREET_SECURITY_KEY": "" - }, - "website": "http://livestreetcms.com" - }, - "Livefyre": { - "cats": [ - 15 - ], - "description": "Livefyre is a platform that integrates with the social web to boost social interaction.", - "html": "<[^>]+(?:id|class)=\"livefyre", - "icon": "Livefyre.png", - "js": { - "FyreLoader": "", - "L.version": "^(.+)$\\;confidence:0\\;version:\\1", - "LF.CommentCount": "", - "fyre": "" - }, - "scripts": "livefyre_init\\.js", - "website": "http://livefyre.com" - }, - "Liveinternet": { - "cats": [ - 10 - ], - "html": [ - "]*>[^]{0,128}?src\\s*=\\s*['\"]//counter\\.yadro\\.ru/hit(?:;\\S+)?\\?(?:t\\d+\\.\\d+;)?r", - "", - "", - "]{1,512}\\bwire:", - "icon": "Livewire.png", - "implies": "Laravel", - "js": { - "livewire": "" - }, - "scripts": "livewire(?:\\.min)?\\.js", - "website": "https://laravel-livewire.com" - }, - "LocalFocus": { - "cats": [ - 25 - ], - "html": "]+\\blocalfocus\\b", - "icon": "LocalFocus.png", - "implies": [ - "Angular", - "D3" - ], - "website": "https://www.localfocus.nl/en/" - }, - "LocomotiveCMS": { - "cats": [ - 1 - ], - "html": "]*/sites/[a-z\\d]{24}/theme/stylesheets", - "icon": "LocomotiveCMS.png", - "implies": [ - "Ruby on Rails", - "MongoDB" - ], - "website": "https://www.locomotivecms.com" - }, - "Lodash": { - "cats": [ - 59 - ], - "cpe": "cpe:/a:lodash:lodash", - "description": "Lodash is a JavaScript library which provides utility functions for common programming tasks using the functional programming paradigm.", - "excludes": "Underscore.js", - "icon": "Lo-dash.png", - "js": { - "_.VERSION": "^(.+)$\\;confidence:0\\;version:\\1", - "_.differenceBy": "", - "_.templateSettings.imports._.templateSettings.imports._.VERSION": "^(.+)$\\;version:\\1" - }, - "scripts": "lodash.*\\.js", - "website": "http://www.lodash.com" - }, - "LogRocket": { - "cats": [ - 10 - ], - "description": "LogRocket records videos of user sessions with logs and network data.", - "icon": "LogRocket.svg", - "scripts": [ - "cdn\\.logrocket\\.(com|io)", - "cdn\\.lr-ingest\\.io" - ], - "website": "https://logrocket.com/" - }, - "Login with Amazon": { - "cats": [ - 69 - ], - "description": "Login with Amazon allows you use your Amazon user name and password to sign into and share information with participating third-party websites or apps.", - "icon": "Amazon.svg", - "js": { - "onAmazonLoginReady": "" - }, - "website": "https://developer.amazon.com/apps-and-games/login-with-amazon" - }, - "Logitech Media Server": { - "cats": [ - 22, - 38 - ], - "description": "Logitech Media Server is a streaming audio server.", - "headers": { - "Server": "Logitech Media Server(?: \\(([\\d\\.]+))?\\;version:\\1" - }, - "icon": "Logitech Media Server.png", - "website": "http://www.mysqueezebox.com" - }, - "Loja Integrada": { - "cats": [ - 6 - ], - "headers": { - "X-Powered-By": "vtex-integrated-store" - }, - "icon": "Loja Integrada.png", - "js": { - "LOJA_ID": "" - }, - "website": "https://lojaintegrada.com.br/" - }, - "Loja Virtual": { - "cats": [ - 6 - ], - "description": "Loja Virtual is an all-in-one ecommerce platform from Brazil.", - "icon": "Loja Virtual.svg", - "js": { - "id_loja_virtual": "", - "link_loja_virtual": "", - "loja_sem_dominio": "" - }, - "scripts": [ - "/js/ljvt_v(\\d+)/\\;version:\\1\\;confidence:20", - "cdn1\\.solojavirtual\\.com" - ], - "website": "https://www.lojavirtual.com.br" - }, - "Loja Mestre": { - "cats": [ - 6 - ], - "description": "Loja Mestre is an all-in-one ecommerce platform from Brazil.", - "icon": "Loja Mestre.svg", - "meta": { - "webmaster": "www\\.lojamestre\\.\\w+\\.br" - }, - "scripts": "lojamestre\\.\\w+\\.br", - "website": "https://www.lojamestre.com.br/" - }, - "Lotus Domino": { - "cats": [ - 22 - ], - "cpe": "cpe:/a:ibm:lotus_domino", - "headers": { - "Server": "Lotus-Domino" - }, - "icon": "Lotus Domino.png", - "implies": "Java", - "website": "http://www-01.ibm.com/software/lotus/products/domino" - }, - "Lua": { - "cats": [ - 27 - ], - "cpe": "cpe:/a:lua:lua", - "description": "Lua is a multi-paradigm programming language designed primarily for embedded use in applications.", - "headers": { - "X-Powered-By": "\\bLua(?: ([\\d.]+))?\\;version:\\1" - }, - "icon": "Lua.png", - "website": "http://www.lua.org" - }, - "Lucene": { - "cats": [ - 34 - ], - "cpe": "cpe:/a:apache:lucene", - "description": "Lucene is a free and open-source search engine software library.", - "icon": "Lucene.png", - "implies": "Java", - "website": "http://lucene.apache.org/core/" - }, - "Luigi’s Box": { - "cats": [ - 10, - 29 - ], - "icon": "Luigisbox.svg", - "js": { - "Luigis": "" - }, - "website": "https://www.luigisbox.com" - }, - "MODX": { - "cats": [ - 1 - ], - "cpe": "cpe:/a:modx:modx_revolution", - "headers": { - "X-Powered-By": "^MODX" - }, - "html": [ - "]+>Powered by MODX", - "<(?:link|script)[^>]+assets/snippets/\\;confidence:20", - "]+id=\"ajaxSearch_form\\;confidence:20", - "]+id=\"ajaxSearch_input\\;confidence:20" - ], - "icon": "MODX.png", - "implies": "PHP", - "js": { - "MODX": "", - "MODX_MEDIA_PATH": "" - }, - "meta": { - "generator": "MODX[^\\d.]*([\\d.]+)?\\;version:\\1" - }, - "website": "http://modx.com" - }, - "MadAdsMedia": { - "cats": [ - 36 - ], - "icon": "MadAdsMedia.png", - "js": { - "setMIframe": "", - "setMRefURL": "" - }, - "scripts": "^https?://(?:ads-by|pixel)\\.madadsmedia\\.com/", - "website": "http://madadsmedia.com" - }, - "Magento": { - "cats": [ - 6 - ], - "cookies": { - "frontend": "\\;confidence:50" - }, - "cpe": "cpe:/a:magento:magento", - "description": "Magento is an open-source ecommerce platform written in PHP.", - "html": [ - "