Skip to content

Instantly share code, notes, and snippets.

@renniepak
Created December 2, 2021 12:30
Show Gist options
  • Save renniepak/8671feb701fb5b8e2ecb0493987bd0d2 to your computer and use it in GitHub Desktop.
Save renniepak/8671feb701fb5b8e2ecb0493987bd0d2 to your computer and use it in GitHub Desktop.
Script to fingerprint Script Gadgets to use to exploit Prototype Pollution. Updated version. Original Creator: Nikita Stupin @_nikitastupin
(() => {
let gadgets = [];
if (typeof _satellite !== 'undefined') {
gadgets.push('Adobe Dynamic Tag Management');
}
if (typeof BOOMR !== 'undefined') {
gadgets.push('Akamai Boomerang');
}
if (typeof goog !== 'undefined' && typeof goog.basePath !== 'undefined') {
gadgets.push('Closure');
}
if (typeof DOMPurify !== 'undefined') {
gadgets.push('DOMPurify');
}
if (typeof window.embedly !== 'undefined') {
gadgets.push('Embedly Cards');
}
if (typeof $ !== 'undefined' && typeof $.fn !== 'undefined' && typeof $.fn.jquery !== 'undefined') {
gadgets.push('jQuery ');
}
if (typeof filterXSS !== 'undefined') {
gadgets.push('js-xss');
}
if (typeof ko !== 'undefined' && typeof ko.version !== 'undefined') {
gadgets.push('Knockout.js');
}
if (typeof _ !== 'undefined' && typeof _.template !== 'undefined' && typeof _.VERSION !== 'undefined') {
gadgets.push('Lodash <= 4.17.15');
}
if (typeof Marionette !== 'undefined') {
gadgets.push('Marionette.js / Backbone.js');
}
if (typeof Backbone !== 'undefined' && typeof Backbone.VERSION !== 'undefined') {
gadgets.push('Marionette.js / Backbone.js');
}
if (typeof recaptcha !== 'undefined') {
gadgets.push('Google reCAPTCHA');
}
if (typeof sanitizeHtml !== 'undefined') {
gadgets.push('sanitize-html');
}
if (typeof analytics !== 'undefined' && typeof analytics.SNIPPET_VERSION !== 'undefined') {
gadgets.push('Segment Analytics.js');
}
if (typeof Sprint !== 'undefined') {
gadgets.push('Sprint.js');
}
if (typeof SwiftypeObject != 'undefined') {
gadgets.push('Swiftype Site Search (uses jQuery BBQ)');
}
if (typeof utag !== 'undefined' && typeof utag.id !== 'undefined') {
gadgets.push('Tealium Universal Tag');
}
if (typeof twq !== 'undefined' && typeof twq.version !== 'undefined') {
gadgets.push('Twitter Universal Website Tag');
}
if (typeof wistiaEmbeds !== 'undefined') {
gadgets.push('Wistia Embedded Video');
}
if (typeof $ !== 'undefined' && typeof $.zepto !== 'undefined') {
gadgets.push('Zepto.js');
}
if (typeof Vue != 'undefined') {
gadgets.push('Vue.js');
}
if (typeof Demandbase != 'undefined'){
gadgets.push('Demandbase Tag');
}
if (typeof _analytics !== 'undefined' && typeof analyticsGtagManager !== 'undefined'){
gadgets.push('Google Tag Manager plugin for analytics');
}
if (typeof i18next !== 'undefined'){
gadgets.push('i18next');
}
if (typeof GoogleAnalyticsObject !== 'undefined'){
gadgets.push('Google Analytics');
}
if (typeof Popper !== 'undefined'){
gadgets.push('Popper.js');
}
if (typeof pendo !== 'undefined'){
gadgets.push('Pendo Agent');
}
if (typeof Scriptaculous !== 'undefined'){
gadgets.push('script.aculo.us');
}
if (typeof hcaptcha !== 'undefined'){
gadgets.push('hCaptcha');
}
if (typeof google_tag_manager !== 'undefined'){
gadgets.push('Google Tag Manager');
}
console.log(gadgets);
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment