Skip to content

Instantly share code, notes, and snippets.

@snshn
Created December 23, 2016 02:16
Show Gist options
  • Save snshn/04faf406415769292e510d3fd2cecd21 to your computer and use it in GitHub Desktop.
Save snshn/04faf406415769292e510d3fd2cecd21 to your computer and use it in GitHub Desktop.
Scan wordpress website for installed plugins from within js console
/* wp-plugin-scan.js */
/* Scan your wordpress website for plugins from within your browser's JS console */
/* Released into public domain */
/* Usage: */
/* 1. Go to target website */
/* 2. Make sure that JS for that tab/host is enabled (e.g. temporarily disable AdBlock) */
/* 3. Fire up the development JS console */
/* 4. Copy, paste, and execute this script within the browser's console */
/* 5. Wait */
'use strict';
(function(){
var plugins = 'contact-form-7 wordpress-seo wordfence wp-super-cache really-simple-captcha wp-pagenavi regenerate-thumbnails tinymce-advanced jetpack w3-total-cache advanced-custom-fields google-analytics-for-wordpress akismet google-sitemap-generator nextgen-gallery all-in-one-seo-pack hello-dolly wordpress-importer woocommerce duplicate-post disable-comments wp-multibyte-patch black-studio-tinymce-widget better-wp-security siteorigin-panels google-analytics-dashboard-for-wp ml-slider wpclef updraftplus duplicator googleanalytics wp-db-backup redirection si-contact-form shortcodes-ultimate wp-optimize image-widget google-analyticator broken-link-checker wp-mail-smtp backwpup breadcrumb-navxt wptouch iwp-client mailchimp-for-wp tablepress wp-maintenance-mode post-types-order captcha contact-form-7-to-database-extension page-links-to contact-form-plugin user-role-editor the-events-calendar yet-another-related-posts-plugin so-widgets-bundle si-captcha-for-wordpress simple-page-ordering wp-smushit wysija-newsletters widget-logic bbpress disqus-comment-system add-to-any all-in-one-wp-security-and-firewall lightbox-plus ninja-forms custom-post-type-ui wp-google-maps ewww-image-optimizer seo-ultimate antispam-bee seo-image easy-fancybox yith-woocommerce-wishlist force-regenerate-thumbnails backupwordpress types facebook quick-pagepost-redirect-plugin social-media-widget wp-postviews login-lockdown photo-gallery wp-statistics display-widgets ps-auto-sitemap sucuri-scanner simple-custom-css wp-clone-by-wp-academy wordpress-popular-posts worker recent-tweets-widget addthis cookie-law-info woosidebars easy-google-fonts underconstruction responsive-lightbox ultimate-coming-soon-page custom-sidebars wp-user-avatar newsletter genesis-simple-edits bwp-google-xml-sitemaps wp-google-fonts pretty-link official-statcounter-plugin-for-wordpress simple-social-icons php-code-widget admin-menu-editor social-networks-auto-poster-facebook-twitter-g buddypress wp-retina-2x velvet-blues-update-urls maintenance sidekick ultimate-tinymce enable-media-replace wp-polls wp-dbmanager share-this adminimize simple-share-buttons-adder redux-framework simple-301-redirects simple-tags custom-facebook-feed shareaholic taxonomy-terms-order comprehensive-google-map-plugin options-framework instagram-feed mappress-google-maps-for-wordpress slideshow-jquery-image-gallery lj-maintenance-mode coming-soon simple-lightbox mainwp-child wordpress-23-related-posts-plugin google-publisher social-media-feather formidable spam-free-wordpress anti-spam widget-importer-exporter wp-migrate-db youtube-embed-plus polylang facebook-like-box-widget antivirus wp-security-scan wp-edit cookie-notice wp-lightbox-2 theme-my-login contact-form-7-honeypot google-sitemap-plugin meta-box gotmls all-in-one-event-calendar bulletproof-security wp-spamshield easy-theme-and-plugin-upgrades members add-meta-tags simple-social-buttons fancybox-for-wordpress wordpress-backup-to-dropbox wp-social-bookmarking-light vipers-video-quicktags tac easy-columns p3-profiler intuitive-custom-post-order autoptimize iframe seo-automatic-links mce-table-buttons csv-importer events-manager video-thumbnails visual-form-builder white-label-cms facebook-comments-plugin column-shortcodes wp-slimstat imsanity ajax-thumbnail-rebuild recent-posts-widget-extended wordpress-ping-optimizer list-category-posts wp-jquery-lightbox smart-youtube wp-fastest-cache ps-disable-auto-formatting gallery-plugin use-google-libraries loco-translate all-in-one-wp-migration slider-image theme-check wp-postratings easing-slider google-maps-widget baidu-sitemap-generator custom-field-template insert-headers-and-footers pubsubhubbub quick-cache ckeditor-for-wordpress genesis-simple-hooks wp-sitemap-page wp-to-twitter title-remover advanced-code-editor revision-control meteor-slides blogger-importer soliloquy-lite rename-wp-login yith-woocommerce-ajax-search secure-wordpress easy-table google-document-embedder xml-sitemap-feed advanced-excerpt password-protected wp-recaptcha wp-editor lightbox-gallery virtue-toolkit google-language-translator dynamic-widgets search-everything addquicktag cloudflare custom-login yith-woocommerce-zoom-magnifier cms-tree-page-view wp-jalali tweet-old-post relevanssi get-the-image reveal-ids-for-wp-admin-25 sg-cachepress yith-woocommerce-compare favicon-by-realfavicongenerator download-manager genesis-enews-extended simple-image-widget sumome wp-tab-widget wp-paginate category-posts insert-php sexybookmarks genesis-responsive-slider wp-review use-any-font cyclone-slider-2 contact-form-7-datepicker 404-to-start add-from-server peters-login-redirect simple-custom-post-order feedwordpress subscribe-to-comments option-tree custom-contact-forms flamingo cyr3lat pushpress yith-woocommerce-ajax-navigation bad-behavior sitemap wp-shortcode xcloner-backup-and-restore bwp-minify wp-missed-schedule custom-permalinks google-calendar-events twitter-widget-pro easy-wp-smtp floating-social-media-icon google-analytics-dashboard oauth-twitter-feed-for-developers wassup contextual-related-posts wp-members rvg-optimize-database easy-facebook-likebox sidebar-login q2w3-fixed-widget widget-context zencache wp-e-commerce exploit-scanner post-duplicator contact-form-builder display-posts-shortcode testimonials-widget wp-video-lightbox download-monitor form-maker growmap-anti-spambot-plugin special-recent-posts printfriendly responsive-menu taxonomy-metadata simple-image-sizes login-customizer master-slider wpcat2tag-importer wpremote hide-title uk-cookie-consent wp-clean-up one-click-child-theme enhanced-text-widget search-regex better-delete-revision wp-instagram-widget multiple-post-thumbnails nextend-facebook-connect widget-settings-importexport jquery-updater ultimate-social-media-icons tubepress zopim-live-chat wp-piwik qtranslate-x 404-redirection block-bad-queries adrotate bruteprotect nav-menu-roles hyper-cache header-footer editorial-calendar foobox-image-lightbox facebook-button-plugin google-xml-sitemaps-v3-for-qtranslate child-theme-configurator facebook-pagelike-widget maxbuttons wp125 codepress-admin-columns email-address-encoder newstatpress all-404-redirect-to-homepage amr-shortcode-any-widget easy-twitter-feed-widget advanced-access-manager user-photo head-cleaner wp-smtp auto-terms-of-service-and-privacy-policy gallery-images nk-google-analytics feedburner-plugin jquery-collapse-o-matic siteguard categories-images syntaxhighlighter cornerstone disable-google-fonts slideshow-gallery rss-importer wp-google-map-plugin related-posts lockdown-wp-admin custom-post-type-permalinks youtube-channel-gallery table-of-contents-plus verify-google-webmaster-tools clean-and-simple-contact-form-by-meg-nicholas testimonials-by-woothemes genesis-simple-sidebars wp-photo-album-plus wordpress-simple-paypal-shopping-cart soundcloud-shortcode powerpress wp-job-manager leaflet-maps-marker hupso-share-buttons-for-twitter-facebook-google one-click-close-comments better-search-replace login-with-ajax wp-hide-post really-simple-csv-importer enhanced-media-library flash-album-gallery widget-css-classes wp-customer-reviews easy-bootstrap-shortcodes bulk-delete post-expirator flickr-rss wordpress-popup lazy-load easy-digital-downloads crayon-syntax-highlighter movabletype-importer raw-html wpmandrill smk-sidebar-generator advanced-responsive-video-embedder asesor-cookies-para-la-ley-en-espana user-switching page-list php-text-widget social simple-page-sidebars wp-construction-mode portfolio-post-type wp-print seo-redirection user-access-manager wp-copyprotect contact-form-7-dynamic-text-extension uber-login-logo paid-memberships-pro instagram-slider-widget font easy-social-icons twitter-facebook-google-plusone-share post-thumbnail-editor social-sharing-toolkit visitor-maps wp-pagenavi-style edit-author-slug formget-contact-form wp-google-analytics wp-filebase megamenu s2member wpfront-user-role-editor menu-icons adminer favicon-rotator simple-sitemap paypal-donations like-box search-meter stops-core-theme-and-plugin-updates wp-subscribe wp-total-hacks ad-injection easy-adsense-lite wordpress-social-login wp-gallery-custom-links wysiwyg-widgets alpine-photo-tile-for-instagram wp-product-review my-calendar disable-xml-rpc-pingback profile-builder ultimate-maintenance-mode weaver-ii-theme-extras wp-socializer woocommerce-delivery-notes html-sitemap no-comments contact-form-to-email ajax-event-calendar calendar features-by-woothemes dropdown-menu-widget clone-posts ozh-admin-drop-down-menu fancy-box sem-external-links html-javascript-adder youtube-embed wp-responsive-menu wp-all-import cleantalk-spam-protect simple-google-analytics oa-social-login site-is-offline-plugin event-organiser wp-database-backup remove-query-strings-from-static-resources wowslider newsletter-sign-up compact-wp-audio-player baw-post-views-count gzip-ninja-speed-compression bj-lazy-load wp-useronline flexi-pages-widget aqua-page-builder twitter acurax-social-media-widget stop-spammer-registrations-plugin wufoo-shortcode pinterest-pin-it-button pods portfolio-gallery any-mobile-theme-switcher no-page-comment delete-all-comments rss-footer coming-soon-page posts-in-page video-embed-thumbnail-generator custom-post-widget wp-sendgrid capability-manager-enhanced disable-xml-rpc ultimate-tag-cloud-widget accesspress-social-icons ssh-sftp-updater-support top-10 google-captcha only-tweet-like-share-and-google-1 scroll-back-to-top dynamic-featured-image woocommerce-multilingual wp-memory-usage styles all-in-one-webmaster easy-social-share-buttons ultimate-posts-widget audit-trail all-in-one-schemaorg-rich-snippets multi-device-switcher wp-content-copy-protection woocommerce-pdf-invoices-packing-slips widget-shortcode envira-gallery-lite video-sidebar-widgets json-api codepeople-post-map commentluv responsive-select-menu resize-image-after-upload spider-event-calendar post-type-switcher easy-pie-maintenance-mode php-code-for-posts awesome-weather rss-includes-pages tiny-compress-images debug-bar fourteen-colors rotatingtweets new-google-plus-badge-widget gallery-bank advanced-iframe facebook-members feed-them-social woocommerce-colors post-type-archive-links booking wp-rss-aggregator woocommerce-checkout-manager ag-custom-admin lightbox wordpress-mobile-pack transposh-translation-filter-for-wordpress wp-author-date-and-meta-remover genesis-title-toggle twitter-tools kimili-flash-embed clicky background-manager mythemeshop-connect eps-301-redirects woocommerce-customizer subscribe-to-comments-reloaded easy-testimonials postman-smtp gtranslate tabby-responsive-tabs bm-custom-login 404-to-301 admin-menu-tree-page-view wp-updates-notifier dirtysuds-embed-pdf woocommerce-all-in-one-seo-pack baw-login-logout-menu wp-content-copy-protector bootstrap-3-shortcodes wp-htaccess-editor leverage-browser-caching-ninjas simple-backup nextcellent-gallery-nextgen-legacy simple-map wordpress-form-manager cookies-for-comments wp-sticky advanced-image-styles advanced-wp-columns remove-category-url wp-noexternallinks facebook-page-promoter-lightbox duracelltomi-google-tag-manager embedplus-for-wordpress mailchimp-forms-by-mailmunch wp-simple-firewall woocommerce-menu-bar-cart videojs-html5-video-player-for-wordpress multi-plugin-installer wp-twitter-feeds login-security-solution wp-flexible-map popup-maker statify recent-posts-widget-with-thumbnails easy-smooth-scroll-links super-rss-reader ditty-news-ticker wunderground floating-social-bar erident-custom-login-and-dashboard hc-custom-wp-admin-url my-custom-css portfolio-slideshow email-subscribers post-tags-and-categories-for-pages wp-mail-bank beaver-builder-lite-version mashsharer gantry pixtypes simple-history wp-crontrol mp3-jplayer woocommerce-product-archive-customiser pixcodes slider-wd smooth-slider content-aware-sidebars simply-instagram custom-field-suite wp-insert contact-form-maker smart-slider-2 wordpress-database-reset attachments simply-exclude yikes-inc-easy-mailchimp-extender homepage-control contact-bank accesspress-social-share kebo-twitter-feed call-now-button google insert-html-snippet flexible-posts-widget easy-coming-soon carousel-without-jetpack woocommerce-grid-list-toggle kk-star-ratings genesis-favicon-uploader wpide jquery-t-countdown-widget simple-google-map extended-categories-widget menu-image disable-wordpress-updates wonderm00ns-simple-facebook-open-graph-tags facebook-conversion-pixel wp-external-links font-awesome-4-menus add-logo-to-admin recent-facebook-posts social-count-plus wp-admin-ui-customize gregs-high-performance-seo jquery-pin-it-button-for-images wp-security-audit-log kiwi-logo-carousel related-posts-by-zemanta advanced-random-posts-widget quotes-collection woocommerce-google-analytics-integration admin-management-xtended landing-pages wp-visual-icon-fonts accesspress-social-counter templatesnext-toolkit mail-subscribe-list eu-cookie-law wp-add-custom-css wordpress-language easy-pricing-tables polldaddy wc-shortcodes contact-form-7-recaptcha-extension page-scroll-to-id yop-poll gallery-video lightweight-social-icons easy-watermark fonts facebook-auto-publish schema-creator meta-manager vaultpress bwp-recaptcha content-views-query-and-display-post-page wp-ban simple-follow-me-social-buttons-widget ifeature-slider disable-feeds easy-pie-coming-soon media-library-assistant backup-with-restore link-library woocommerce-csvimport itro-popup wordpress-access-control wp-bannerize speed-booster-pack safe-redirect-manager open-external-links-in-a-new-window tiled-gallery-carousel-without-jetpack wp-better-emails mw-wp-form wordpress-social-ring image-watermark wp-facebook-open-graph-protocol fruitful-shortcodes testimonial-rotator google-universal-analytics foogallery acf-field-date-time-picker mechanic-visitor-counter manual-image-crop thesis-openhook fv-top-level-cats yith-maintenance-mode nginx-helper nofollow-links hide-admin-bar-from-non-admins wp-super-cache-clear-cache-menu woocommerce-exporter live-composer-page-builder wpgform advanced-post-slider simple-full-screen-background-image bulk-page-creator strictly-autotags fv-wordpress-flowplayer buddypress-media wp-admin-bar-removal popups custom-favicon footer-putter saphali-woocommerce-lite simple-login-log nofollow restricted-site-access iq-block-country formbuilder cachify widgetize-pages-light eig-sso ad-inserter grand-media ad-widget logo-slider simple-ads-manager simple-twitter-tweets wordpress-easy-paypal-payment-or-donation-accept-plugin remove-dashboard-access-for-non-admins cimy-user-extra-fields jquery-smooth-scroll google-plus-authorship alo-easymail wangguard varnish-http-purge svg-vector-icon-plugin ga-google-analytics pdf-embedder soundcloud-is-gold gigpress woocommerce-poor-guys-swiss-knife post-snippets user-submitted-posts rss-import infolinks-officlial-plugin genesis-slider keycaptcha wp-pro-quiz custom-menu-wizard adsense-plugin posts-to-posts wplegalpages italy-cookie-choices wp-stats facebook-by-weblizar youtube-widget-responsive wordpress-move business-directory-plugin magic-fields-2 rating-widget metronet-reorder-posts newpost-catch global-content-blocks nextgen-scrollgallery ecwid-shopping-cart wordpress-post-tabs stealth-login-page advanced-text-widget drafts-scheduler wp-htaccess-control nextgen-facebook faster-pagination rich-text-tags amazon-web-services tumblr-importer wps-hide-login wp-math-captcha email-encoder-bundle code-snippets wp-email-login menu-social-icons pagerestrict wp-hide-dashboard orbisius-child-theme-creator wp-email youtube-channel simple-facebook-plugin opml-importer improved-include-page google-maps addthis-smart-layers genesis-translations vanilla-pdf-embed shortcoder co-authors-plus instagram-for-wordpress ultimate-member wp-fail2ban easy-modal flare woocommerce-pagseguro xml-sitemaps sharebar super-socializer groups trust-form slimjetpack cpt-bootstrap-carousel calculated-fields-form nospamnx postie juiz-social-post-sharer aweber-web-form-widget disable-emojis wpfront-scroll-top video-playlist-and-gallery-plugin latest-tweets-widget store-locator-le qtranslate-slug optinmonster contact-form-email wp-share-buttons-analytics-by-getsocial aryo-activity-log easy-image-gallery slickr-flickr easy-media-gallery multiple-content-blocks cardoza-facebook-like-box basic-google-maps-placemarks synved-shortcodes'.split(' ');
var totes = 0;
var found = [];
shuffle(plugins);
probe(0);
function probe (i) {
poke(plugins[i], function (error, response) {
if (response != 'Not Found') {
found.push(plugins[i]);
}
totes++;
if ( !(totes % 100) || totes == plugins.length )
console.log(totes + '/' + plugins.length);
if (totes == plugins.length) {
console.warn( found.join(', ') );
} else {
probe(totes);
}
});
}
function shuffle (a) {
var j, x, i;
for (i = a.length; i; i--) {
j = Math.floor(Math.random() * i);
x = a[i - 1];
a[i - 1] = a[j];
a[j] = x;
}
}
function poke (pluginName, callback) {
var oXHR = new XMLHttpRequest();
oXHR.open('GET', '/wp-content/plugins/' + pluginName + '/', true);
oXHR.onreadystatechange = function (oEvent) {
if (oXHR.readyState === 4) {
if (oXHR.status === 200) {
callback(null, oXHR.responseText);
} else {
callback(oXHR.status, oXHR.statusText);
}
}
};
oXHR.send(null);
}
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment