From a5a81967923b865b92b26693e326826389d74e71 Mon Sep 17 00:00:00 2001 From: zinduolis Date: Wed, 23 Oct 2024 16:07:17 +1000 Subject: [PATCH] Fix origin / domain terminology (#1688) --- core/main/ar-migrations/015_create_http.rb | 6 +- .../ar-migrations/025_create_xssrays_scan.rb | 2 +- core/main/client/lib/evercookie.js | 4 +- core/main/client/mitb.js | 2 +- core/main/client/net.js | 48 +- core/main/client/net/requester.js | 2 +- core/main/client/net/xssrays.js | 4 +- core/main/configuration.rb | 2 +- core/main/handlers/browserdetails.rb | 2 +- core/main/router/router.rb | 6 +- docs/BeefJS.html | 2 +- docs/are.js.html | 2 +- docs/beef.are.html | 2 +- docs/beef.browser.cookie.html | 2 +- docs/beef.browser.html | 2 +- docs/beef.browser.popup.html | 2 +- docs/beef.dom.html | 2 +- docs/beef.encode.base64.html | 2 +- docs/beef.encode.json.html | 2 +- docs/beef.geolocation.html | 2 +- docs/beef.hardware.html | 2 +- docs/beef.init.html | 2 +- docs/beef.js.html | 2 +- docs/beef.logger.html | 2 +- docs/beef.mitb.html | 2 +- docs/beef.net.connection.html | 2 +- docs/beef.net.cors.html | 2 +- docs/beef.net.dns.html | 2 +- docs/beef.net.html | 4 +- docs/beef.net.local.html | 2 +- docs/beef.net.portscanner.html | 2 +- docs/beef.net.requester.html | 2 +- docs/beef.net.xssrays.html | 2 +- docs/beef.os.html | 2 +- docs/beef.session.html | 2 +- docs/beef.timeout.html | 2 +- docs/beef.updater.html | 2 +- docs/beef.webrtc.html | 2 +- docs/beef.websocket.html | 2 +- docs/browser.js.html | 2 +- docs/browser_cookie.js.html | 2 +- docs/browser_popup.js.html | 2 +- docs/dom.js.html | 2 +- docs/encode_base64.js.html | 2 +- docs/encode_json.js.html | 2 +- docs/geolocation.js.html | 2 +- docs/global.html | 2 +- docs/hardware.js.html | 2 +- docs/index.html | 2 +- docs/init.js.html | 2 +- docs/lib_platform.js.html | 2 +- docs/logger.js.html | 2 +- docs/mitb.js.html | 4 +- docs/net.js.html | 50 +- docs/net_connection.js.html | 2 +- docs/net_cors.js.html | 2 +- docs/net_dns.js.html | 2 +- docs/net_local.js.html | 2 +- docs/net_portscanner.js.html | 2 +- docs/net_requester.js.html | 4 +- docs/net_xssrays.js.html | 6 +- docs/os.js.html | 2 +- docs/session.js.html | 2 +- docs/timeout.js.html | 2 +- docs/updater.js.html | 2 +- docs/webrtc.js.html | 2 +- docs/websocket.js.html | 2 +- .../javascript/ui/panel/ZombieDataGrid.js | 4 +- .../ui/panel/tabs/ZombieTabXssRays.js | 8 +- .../javascript/ui/panel/zombiesTreeList.js | 4 +- extensions/proxy/extension.rb | 2 +- extensions/proxy/proxy.rb | 4 +- extensions/requester/api/hook.rb | 4 +- extensions/requester/rest/requester.rb | 2 +- extensions/xssrays/api/scan.rb | 12 +- extensions/xssrays/config.yaml | 2 +- extensions/xssrays/handler.rb | 2 +- extensions/xssrays/rest/xssrays.rb | 22 +- .../ajax_fingerprint/command.js | 0 .../ajax_fingerprint/config.yaml | 0 .../ajax_fingerprint/module.rb | 0 .../alert_dialog/command.js | 0 .../alert_dialog/config.yaml | 0 .../alert_dialog/module.rb | 0 .../command.js | 0 .../config.yaml | 0 .../module.rb | 0 .../cisco_asa_password_disclosure/command.js | 0 .../cisco_asa_password_disclosure/config.yaml | 2 +- .../cisco_asa_password_disclosure/module.rb | 0 .../clear_console/command.js | 0 .../clear_console/config.yaml | 0 .../clear_console/module.rb | 0 .../deface_web_page/command.js | 0 .../deface_web_page/config.yaml | 0 .../deface_web_page/module.rb | 0 .../deface_web_page_component/command.js | 0 .../deface_web_page_component/config.yaml | 0 .../deface_web_page_component/module.rb | 0 .../disable_developer_tools/command.js | 0 .../disable_developer_tools/config.yaml | 0 .../disable_developer_tools/module.rb | 0 .../get_autocomplete_creds/command.js | 0 .../get_autocomplete_creds/config.yaml | 2 +- .../get_autocomplete_creds/module.rb | 0 .../get_cookie/command.js | 0 .../get_cookie/config.yaml | 0 .../get_cookie/module.rb | 0 .../get_form_values/command.js | 0 .../get_form_values/config.yaml | 0 .../get_form_values/module.rb | 0 .../get_local_storage/command.js | 0 .../get_local_storage/config.yaml | 0 .../get_local_storage/module.rb | 0 .../get_page_html/command.js | 0 .../get_page_html/config.yaml | 0 .../get_page_html/module.rb | 0 .../get_page_html_iframe/command.js | 0 .../get_page_html_iframe/config.yaml | 0 .../get_page_html_iframe/module.rb | 0 .../get_page_links/command.js | 0 .../get_page_links/config.yaml | 0 .../get_page_links/module.rb | 0 .../get_session_storage/command.js | 0 .../get_session_storage/config.yaml | 0 .../get_session_storage/module.rb | 0 .../get_stored_credentials/command.js | 2 +- .../get_stored_credentials/config.yaml | 2 +- .../get_stored_credentials/module.rb | 0 .../link_rewrite/command.js | 0 .../link_rewrite/config.yaml | 0 .../link_rewrite/module.rb | 0 .../link_rewrite_click_events/command.js | 0 .../link_rewrite_click_events/config.yaml | 0 .../link_rewrite_click_events/module.rb | 0 .../link_rewrite_sslstrip/command.js | 0 .../link_rewrite_sslstrip/config.yaml | 0 .../link_rewrite_sslstrip/module.rb | 0 .../link_rewrite_tel/command.js | 0 .../link_rewrite_tel/config.yaml | 0 .../link_rewrite_tel/module.rb | 0 .../mobilesafari_address_spoofing/command.js | 0 .../mobilesafari_address_spoofing/config.yaml | 0 .../mobilesafari_address_spoofing/module.rb | 0 .../overflow_cookiejar/command.js | 0 .../overflow_cookiejar/config.yaml | 0 .../overflow_cookiejar/module.rb | 0 .../prompt_dialog/command.js | 0 .../prompt_dialog/config.yaml | 0 .../prompt_dialog/module.rb | 0 .../remove_stuck_iframes/command.js | 0 .../remove_stuck_iframes/config.yaml | 0 .../remove_stuck_iframes/module.rb | 0 .../replace_video/command.js | 0 .../replace_video/config.yaml | 0 .../replace_video/module.rb | 0 .../rickroll/command.js | 0 .../rickroll/config.yaml | 0 .../rickroll/module.rb | 0 .../site_redirect/command.js | 0 .../site_redirect/config.yaml | 0 .../site_redirect/module.rb | 0 .../site_redirect_iframe/command.js | 0 .../site_redirect_iframe/config.yaml | 0 .../site_redirect_iframe/module.rb | 0 .../jboss_jmx_upload_exploit/command.js | 2 +- .../config.yaml | 2 +- .../wordpress/upload_rce_plugin/config.yaml | 2 +- .../misc/wordpress_post_auth_rce/config.yaml | 2 +- package-lock.json | 876 ++++++++---------- spec/beef/core/main/command_spec.rb | 2 +- spec/beef/extensions/xssrays_spec.rb | 2 +- spec/support/assets/config_new.yaml | 2 +- 173 files changed, 571 insertions(+), 643 deletions(-) rename modules/browser/{hooked_domain => hooked_origin}/ajax_fingerprint/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/ajax_fingerprint/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/ajax_fingerprint/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/alert_dialog/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/alert_dialog/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/alert_dialog/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/apache_tomcat_examples_cookie_disclosure/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/apache_tomcat_examples_cookie_disclosure/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/apache_tomcat_examples_cookie_disclosure/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/cisco_asa_password_disclosure/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/cisco_asa_password_disclosure/config.yaml (91%) rename modules/browser/{hooked_domain => hooked_origin}/cisco_asa_password_disclosure/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/clear_console/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/clear_console/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/clear_console/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/deface_web_page/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/deface_web_page/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/deface_web_page/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/deface_web_page_component/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/deface_web_page_component/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/deface_web_page_component/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/disable_developer_tools/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/disable_developer_tools/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/disable_developer_tools/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_autocomplete_creds/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_autocomplete_creds/config.yaml (90%) rename modules/browser/{hooked_domain => hooked_origin}/get_autocomplete_creds/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_cookie/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_cookie/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_cookie/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_form_values/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_form_values/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_form_values/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_local_storage/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_local_storage/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_local_storage/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_page_html/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_page_html/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_page_html/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_page_html_iframe/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_page_html_iframe/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_page_html_iframe/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_page_links/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_page_links/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_page_links/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_session_storage/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_session_storage/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_session_storage/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/get_stored_credentials/command.js (97%) rename modules/browser/{hooked_domain => hooked_origin}/get_stored_credentials/config.yaml (81%) rename modules/browser/{hooked_domain => hooked_origin}/get_stored_credentials/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/link_rewrite/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/link_rewrite/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/link_rewrite/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/link_rewrite_click_events/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/link_rewrite_click_events/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/link_rewrite_click_events/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/link_rewrite_sslstrip/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/link_rewrite_sslstrip/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/link_rewrite_sslstrip/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/link_rewrite_tel/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/link_rewrite_tel/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/link_rewrite_tel/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/mobilesafari_address_spoofing/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/mobilesafari_address_spoofing/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/mobilesafari_address_spoofing/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/overflow_cookiejar/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/overflow_cookiejar/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/overflow_cookiejar/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/prompt_dialog/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/prompt_dialog/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/prompt_dialog/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/remove_stuck_iframes/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/remove_stuck_iframes/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/remove_stuck_iframes/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/replace_video/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/replace_video/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/replace_video/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/rickroll/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/rickroll/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/rickroll/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/site_redirect/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/site_redirect/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/site_redirect/module.rb (100%) rename modules/browser/{hooked_domain => hooked_origin}/site_redirect_iframe/command.js (100%) rename modules/browser/{hooked_domain => hooked_origin}/site_redirect_iframe/config.yaml (100%) rename modules/browser/{hooked_domain => hooked_origin}/site_redirect_iframe/module.rb (100%) diff --git a/core/main/ar-migrations/015_create_http.rb b/core/main/ar-migrations/015_create_http.rb index aa3823f8b..f178d49d4 100644 --- a/core/main/ar-migrations/015_create_http.rb +++ b/core/main/ar-migrations/015_create_http.rb @@ -4,8 +4,8 @@ class CreateHttp < ActiveRecord::Migration[6.0] t.text :hooked_browser_id # The http request to perform. In clear text. t.text :request - # Boolean value as string to say whether cross-domain requests are allowed - t.boolean :allow_cross_domain, default: true + # Boolean value as string to say whether cross-origin requests are allowed + t.boolean :allow_cross_origin, default: true # The http response body received. In clear text. t.text :response_data # The http response code. Useful to handle cases like 404, 500, 302, ... @@ -26,7 +26,7 @@ class CreateHttp < ActiveRecord::Migration[6.0] t.text :domain # The port on which perform the request. t.text :port - # Boolean value to say if the request was cross-domain + # Boolean value to say if the request was cross-origin t.text :has_ran, default: 'waiting' # The path of the request. # Example: /secret.html diff --git a/core/main/ar-migrations/025_create_xssrays_scan.rb b/core/main/ar-migrations/025_create_xssrays_scan.rb index 04bf64266..6f2bf4f81 100644 --- a/core/main/ar-migrations/025_create_xssrays_scan.rb +++ b/core/main/ar-migrations/025_create_xssrays_scan.rb @@ -5,7 +5,7 @@ class CreateXssraysScan < ActiveRecord::Migration[6.0] t.datetime :scan_start t.datetime :scan_finish t.text :domain - t.text :cross_domain + t.text :cross_origin t.integer :clean_timeout t.boolean :is_started t.boolean :is_finished diff --git a/core/main/client/lib/evercookie.js b/core/main/client/lib/evercookie.js index b785b14e7..4cae82f09 100644 --- a/core/main/client/lib/evercookie.js +++ b/core/main/client/lib/evercookie.js @@ -31,7 +31,7 @@ * for example, if someone deletes all but one type of cookie, once * that cookie is re-discovered, all of the other cookie types get reset * - * !!! SOME OF THESE ARE CROSS-DOMAIN COOKIES, THIS MEANS + * !!! SOME OF THESE ARE CROSS-ORIGIN COOKIES, THIS MEANS * OTHER SITES WILL BE ABLE TO READ SOME OF THESE COOKIES !!! * * USAGE: @@ -803,7 +803,7 @@ this.evercookie_cookie = function(name, value) else return this.getFromStr(name, document.cookie); }catch(e){ - // the hooked domain is using HttpOnly, so we must set the hook ID in a different way. + // the hooked origin is using HttpOnly, so we must set the hook ID in a different way. // evercookie_userdata and evercookie_window will be used in this case. } }; diff --git a/core/main/client/mitb.js b/core/main/client/mitb.js index efae5dbbc..3e10a7ce0 100644 --- a/core/main/client/mitb.js +++ b/core/main/client/mitb.js @@ -38,7 +38,7 @@ beef.mitb = { if (method == "GET") { //GET request -> cross-origin if (url.indexOf(document.location.hostname) == -1 || (portR != null && requestPort != document.location.port )) { - beef.mitb.sniff("GET [Ajax CrossDomain Request]: " + url); + beef.mitb.sniff("GET [Ajax CrossOrigin Request]: " + url); window.open(url); }else { //GET request -> same-origin beef.mitb.sniff("GET [Ajax Request]: " + url); diff --git a/core/main/client/net.js b/core/main/client/net.js index f9b8c239e..6d627834f 100644 --- a/core/main/client/net.js +++ b/core/main/client/net.js @@ -74,7 +74,7 @@ beef.net = { this.status_text = null; // success, timeout, error, ... this.response_body = null; // "…." if not a cross-origin request this.port_status = null; // tcp port is open, closed or not http - this.was_cross_domain = null; // true or false + this.was_cross_origin = null; // true or false this.was_timedout = null; // the user specified timeout was reached this.duration = null; // how long it took for the request to complete this.headers = null; // full response headers @@ -217,11 +217,11 @@ beef.net = { * @return {Object} this object contains the response details */ request: function (scheme, method, domain, port, path, anchor, data, timeout, dataType, callback) { - //check if same domain or cross domain - var cross_domain = true; + //check if same origin or cross origin + var cross_origin = true; if (document.domain == domain.replace(/(\r\n|\n|\r)/gm, "")) { //strip eventual line breaks if (document.location.port == "" || document.location.port == null) { - cross_domain = !(port == "80" || port == "443"); + cross_origin = !(port == "80" || port == "443"); } } @@ -238,12 +238,12 @@ beef.net = { //define response object var response = new this.response; - response.was_cross_domain = cross_domain; + response.was_cross_origin = cross_origin; var start_time = new Date().getTime(); /* * according to http://api.jquery.com/jQuery.ajax/, Note: having 'script': - * This will turn POSTs into GETs for remote-domain requests. + * This will turn POSTs into GETs for cross origin requests. */ if (method == "POST") { $j.ajaxSetup({ @@ -310,7 +310,7 @@ beef.net = { /** * Similar to beef.net.request, except from a few things that are needed when dealing with forged requests: * - requestid: needed on the callback - * - allowCrossDomain: set cross-domain requests as allowed or blocked + * - allowCrossOrigin: set cross-origin requests as allowed or blocked * * forge_request is used mainly by the Requester and Tunneling Proxy Extensions. * Example usage: @@ -318,20 +318,20 @@ beef.net = { * true, null, { foo: "bar" }, 5, 'html', false, null, function(response) { * alert(response.response_body)}) */ - forge_request: function (scheme, method, domain, port, path, anchor, headers, data, timeout, dataType, allowCrossDomain, requestid, callback) { + forge_request: function (scheme, method, domain, port, path, anchor, headers, data, timeout, dataType, allowCrossOrigin, requestid, callback) { if (domain == "undefined" || path == "undefined") { beef.debug("[beef.net.forge_request] Error: Malformed request. No host specified."); return; } - // check if same domain or cross domain - var cross_domain = true; + // check if same origin or cross origin + var cross_origin = true; if (document.domain == domain && document.location.protocol == scheme + ':') { if (document.location.port == "" || document.location.port == null) { - cross_domain = !(port == "80" || port == "443"); + cross_origin = !(port == "80" || port == "443"); } else { - if (document.location.port == port) cross_domain = false; + if (document.location.port == port) cross_origin = false; } } @@ -348,23 +348,23 @@ beef.net = { // define response object var response = new this.response; - response.was_cross_domain = cross_domain; + response.was_cross_origin = cross_origin; var start_time = new Date().getTime(); - // if cross-domain requests are not allowed and the request is cross-domain + // if cross-origin requests are not allowed and the request is cross-origin // don't proceed and return - if (allowCrossDomain == "false" && cross_domain) { + if (allowCrossOrigin == "false" && cross_origin) { beef.debug("[beef.net.forge_request] Error: Cross Domain Request. The request was not sent."); response.status_code = -1; - response.status_text = "crossdomain"; - response.port_status = "crossdomain"; + response.status_text = "crossorigin"; + response.port_status = "crossorigin"; response.response_body = "ERROR: Cross Domain Request. The request was not sent.\n"; response.headers = "ERROR: Cross Domain Request. The request was not sent.\n"; if (callback != null) callback(response, requestid); return response; } - // if the request was cross-domain from a HTTPS origin to HTTP + // if the request was cross-origin from a HTTPS origin to HTTP // don't proceed and return if (document.location.protocol == 'https:' && scheme == 'http') { beef.debug("[beef.net.forge_request] Error: Mixed Active Content. The request was not sent."); @@ -379,7 +379,7 @@ beef.net = { /* * according to http://api.jquery.com/jQuery.ajax/, Note: having 'script': - * This will turn POSTs into GETs for remote-domain requests. + * This will turn POSTs into GETs for cross origin requests. */ if (method == "POST") { $j.ajaxSetup({ @@ -432,10 +432,10 @@ beef.net = { }, complete: function (xhr, textStatus) { - // cross-domain request - if (cross_domain) { + // cross-origin request + if (cross_origin) { - response.port_status = "crossdomain"; + response.port_status = "crossorigin"; if (xhr.status != 0) { response.status_code = xhr.status; @@ -446,7 +446,7 @@ beef.net = { if (textStatus) { response.status_text = textStatus; } else { - response.status_text = "crossdomain"; + response.status_text = "crossorigin"; } if (xhr.getAllResponseHeaders()) { @@ -460,7 +460,7 @@ beef.net = { } } else { - // same-domain request + // same-origin request response.status_code = xhr.status; response.status_text = textStatus; response.headers = xhr.getAllResponseHeaders(); diff --git a/core/main/client/net/requester.js b/core/main/client/net/requester.js index 379d6da78..70ae5c0ce 100644 --- a/core/main/client/net/requester.js +++ b/core/main/client/net/requester.js @@ -25,7 +25,7 @@ beef.net.requester = { request = requests_array[i]; if (request.proto == 'https') var scheme = 'https'; else var scheme = 'http'; beef.debug('[Requester] ' + request.method + ' ' + scheme + '://' + request.host + ':' + request.port + request.uri + ' - Data: ' + request.data); - beef.net.forge_request(scheme, request.method, request.host, request.port, request.uri, null, request.headers, request.data, 10, null, request.allowCrossDomain, request.id, + beef.net.forge_request(scheme, request.method, request.host, request.port, request.uri, null, request.headers, request.data, 10, null, request.allowCrossOrigin, request.id, function(res, requestid) { beef.net.send('/requester', requestid, { response_data: res.response_body, response_status_code: res.status_code, diff --git a/core/main/client/net/xssrays.js b/core/main/client/net/xssrays.js index 28d3a5775..b93768d54 100644 --- a/core/main/client/net/xssrays.js +++ b/core/main/client/net/xssrays.js @@ -171,7 +171,7 @@ beef.net.xssrays = { this.xss({href:url.href, pathname:url.pathname, hostname:url.hostname, port: url.port, protocol: location.protocol, search:url.search, type: 'url'});//scan each link & param } else { - beef.debug('Scan is not Cross-domain. URLS\nurl :' + url.hostname.toString()); + beef.debug('Scan is not Cross-origin. URLS\nurl :' + url.hostname.toString()); beef.debug('\nlocation :' + location.hostname.toString()); } } @@ -251,7 +251,7 @@ beef.net.xssrays = { continue; } if (!this.crossDomain && (this.host(action).toString() != this.host(location.toString()))) { - beef.debug('Scan is not Cross-domain. FormPost\naction :' + this.host(action).toString()); + beef.debug('Scan is not Cross-origin. FormPost\naction :' + this.host(action).toString()); beef.debug('location :' + this.host(location)); continue; } diff --git a/core/main/configuration.rb b/core/main/configuration.rb index 45a9f2d66..1b9c64e09 100644 --- a/core/main/configuration.rb +++ b/core/main/configuration.rb @@ -256,7 +256,7 @@ module BeEF # def load_modules_config set('beef.module', {}) - # support nested sub-categories, like browser/hooked_domain/ajax_fingerprint + # support nested sub-categories, like browser/hooked_origin/ajax_fingerprint module_configs = File.join("#{$root_dir}/modules/**", 'config.yaml') Dir.glob(module_configs) do |cf| y = load(cf) diff --git a/core/main/handlers/browserdetails.rb b/core/main/handlers/browserdetails.rb index c30464776..27b97e7c7 100644 --- a/core/main/handlers/browserdetails.rb +++ b/core/main/handlers/browserdetails.rb @@ -547,7 +547,7 @@ module BeEF end # log a few info of newly hooked zombie in the console - print_info "New Hooked Browser [id:#{zombie.id}, ip:#{zombie.ip}, browser:#{browser_name}-#{browser_version}, os:#{os_name}-#{os_version}], hooked domain [#{log_zombie_domain}:#{log_zombie_port}]" + print_info "New Hooked Browser [id:#{zombie.id}, ip:#{zombie.ip}, browser:#{browser_name}-#{browser_version}, os:#{os_name}-#{os_version}], hooked origin [#{log_zombie_domain}:#{log_zombie_port}]" # add localhost as network host if config.get('beef.extension.network.enable') diff --git a/core/main/router/router.rb b/core/main/router/router.rb index 27387ef9e..6c06a5fa5 100644 --- a/core/main/router/router.rb +++ b/core/main/router/router.rb @@ -27,9 +27,9 @@ module BeEF # @note If CORS is enabled, expose the appropriate headers if config.get('beef.http.restful_api.allow_cors') - allowed_domains = config.get('beef.http.restful_api.cors_allowed_domains') - if allowed_domains - headers 'Access-Control-Allow-Origin' => allowed_domains + allowed_origins = config.get('beef.http.restful_api.cors_allowed_origins') + if allowed_origins + headers 'Access-Control-Allow-Origin' => allowed_origins end headers 'Access-Control-Allow-Methods' => 'POST, GET' diff --git a/docs/BeefJS.html b/docs/BeefJS.html index c6ed0ebea..2cf8da4f1 100644 --- a/docs/BeefJS.html +++ b/docs/BeefJS.html @@ -558,7 +558,7 @@
diff --git a/docs/are.js.html b/docs/are.js.html index 249f19247..119015f41 100644 --- a/docs/are.js.html +++ b/docs/are.js.html @@ -83,7 +83,7 @@ beef.regCmp("beef.are");
diff --git a/docs/beef.are.html b/docs/beef.are.html index ed067319a..ce03072a4 100644 --- a/docs/beef.are.html +++ b/docs/beef.are.html @@ -457,7 +457,7 @@
diff --git a/docs/beef.browser.cookie.html b/docs/beef.browser.cookie.html index b5bcf82f3..e2efaac0f 100644 --- a/docs/beef.browser.cookie.html +++ b/docs/beef.browser.cookie.html @@ -634,7 +634,7 @@ Original author unknown.


diff --git a/docs/beef.browser.html b/docs/beef.browser.html index 0d04fb912..bf7c9519f 100644 --- a/docs/beef.browser.html +++ b/docs/beef.browser.html @@ -30172,7 +30172,7 @@ Restricted by same-origin policy


diff --git a/docs/beef.browser.popup.html b/docs/beef.browser.popup.html index d589df612..683c32162 100644 --- a/docs/beef.browser.popup.html +++ b/docs/beef.browser.popup.html @@ -214,7 +214,7 @@ Original author unknown.


diff --git a/docs/beef.dom.html b/docs/beef.dom.html index e2751664e..2093665e4 100644 --- a/docs/beef.dom.html +++ b/docs/beef.dom.html @@ -3679,7 +3679,7 @@ http://bilaw.al/2013/03/17/hacking-the-a-tag-in-100-characters.html


diff --git a/docs/beef.encode.base64.html b/docs/beef.encode.base64.html index f731ad92c..caa36158a 100644 --- a/docs/beef.encode.base64.html +++ b/docs/beef.encode.base64.html @@ -731,7 +731,7 @@
diff --git a/docs/beef.encode.json.html b/docs/beef.encode.json.html index 646e2392e..bdfddafe2 100644 --- a/docs/beef.encode.json.html +++ b/docs/beef.encode.json.html @@ -383,7 +383,7 @@
diff --git a/docs/beef.geolocation.html b/docs/beef.geolocation.html index cdcbacb98..9019ed3c6 100644 --- a/docs/beef.geolocation.html +++ b/docs/beef.geolocation.html @@ -569,7 +569,7 @@
diff --git a/docs/beef.hardware.html b/docs/beef.hardware.html index d0f61f6b4..4c78e28a1 100644 --- a/docs/beef.hardware.html +++ b/docs/beef.hardware.html @@ -2077,7 +2077,7 @@
diff --git a/docs/beef.init.html b/docs/beef.init.html index ab87545be..27fa68093 100644 --- a/docs/beef.init.html +++ b/docs/beef.init.html @@ -477,7 +477,7 @@ the brwoser details. So sendback the browser details again.


diff --git a/docs/beef.js.html b/docs/beef.js.html index 3f224094d..ee12e142e 100644 --- a/docs/beef.js.html +++ b/docs/beef.js.html @@ -126,7 +126,7 @@ if(typeof beef === 'undefined' && typeof window.beef === 'undefined') {
diff --git a/docs/beef.logger.html b/docs/beef.logger.html index 017493eee..9f4ca60be 100644 --- a/docs/beef.logger.html +++ b/docs/beef.logger.html @@ -2159,7 +2159,7 @@ TODO: Cleanup this function


diff --git a/docs/beef.mitb.html b/docs/beef.mitb.html index 4ca1deda7..a1636de91 100644 --- a/docs/beef.mitb.html +++ b/docs/beef.mitb.html @@ -917,7 +917,7 @@
diff --git a/docs/beef.net.connection.html b/docs/beef.net.connection.html index f23474db6..a2b8fa861 100644 --- a/docs/beef.net.connection.html +++ b/docs/beef.net.connection.html @@ -360,7 +360,7 @@ https://developer.mozilla.org/en-US/docs/Web/API/Navigator/connection


diff --git a/docs/beef.net.cors.html b/docs/beef.net.cors.html index 9ad4eb064..53cdb77fb 100644 --- a/docs/beef.net.cors.html +++ b/docs/beef.net.cors.html @@ -443,7 +443,7 @@
diff --git a/docs/beef.net.dns.html b/docs/beef.net.dns.html index 5bad583c2..8d8423fb8 100644 --- a/docs/beef.net.dns.html +++ b/docs/beef.net.dns.html @@ -316,7 +316,7 @@
diff --git a/docs/beef.net.html b/docs/beef.net.html index 7c7292c1b..1795e5dcb 100644 --- a/docs/beef.net.html +++ b/docs/beef.net.html @@ -760,7 +760,7 @@ back to BeEF straight away.

Similar to beef.net.request, except from a few things that are needed when dealing with forged requests:

forge_request is used mainly by the Requester and Tunneling Proxy Extensions. Example usage: @@ -2379,7 +2379,7 @@ even if WebSockets are enabled.


diff --git a/docs/beef.net.local.html b/docs/beef.net.local.html index 68119c851..2ec8f7303 100644 --- a/docs/beef.net.local.html +++ b/docs/beef.net.local.html @@ -440,7 +440,7 @@ sock: new java.net.Socket();


diff --git a/docs/beef.net.portscanner.html b/docs/beef.net.portscanner.html index 94f85acd2..1bab44639 100644 --- a/docs/beef.net.portscanner.html +++ b/docs/beef.net.portscanner.html @@ -495,7 +495,7 @@ homepage: 'http://www.gnucitizen.org'


diff --git a/docs/beef.net.requester.html b/docs/beef.net.requester.html index 4ae452daf..45f9b0d5c 100644 --- a/docs/beef.net.requester.html +++ b/docs/beef.net.requester.html @@ -268,7 +268,7 @@
diff --git a/docs/beef.net.xssrays.html b/docs/beef.net.xssrays.html index cc2fea860..903174577 100644 --- a/docs/beef.net.xssrays.html +++ b/docs/beef.net.xssrays.html @@ -764,7 +764,7 @@ Other aspects of the original code have been simplified and improved.


diff --git a/docs/beef.os.html b/docs/beef.os.html index 6f9475546..d5e21abfa 100644 --- a/docs/beef.os.html +++ b/docs/beef.os.html @@ -4189,7 +4189,7 @@ http://ha.ckers.org/blog/20070319/detecting-default-browser-in-ie/


diff --git a/docs/beef.session.html b/docs/beef.session.html index 3a4385854..9473c9724 100644 --- a/docs/beef.session.html +++ b/docs/beef.session.html @@ -391,7 +391,7 @@
diff --git a/docs/beef.timeout.html b/docs/beef.timeout.html index b7ae0c267..6e5df1709 100644 --- a/docs/beef.timeout.html +++ b/docs/beef.timeout.html @@ -217,7 +217,7 @@ antisnatchor


diff --git a/docs/beef.updater.html b/docs/beef.updater.html index 64fc14c65..250b66708 100644 --- a/docs/beef.updater.html +++ b/docs/beef.updater.html @@ -722,7 +722,7 @@ websocket.js is used instead.


diff --git a/docs/beef.webrtc.html b/docs/beef.webrtc.html index cf4d4ec70..e73c2004f 100644 --- a/docs/beef.webrtc.html +++ b/docs/beef.webrtc.html @@ -3062,7 +3062,7 @@ against the message directly


diff --git a/docs/beef.websocket.html b/docs/beef.websocket.html index ab49452b1..e8c20e145 100644 --- a/docs/beef.websocket.html +++ b/docs/beef.websocket.html @@ -490,7 +490,7 @@ beef.websocket.send('{"handler" : "' + handler + '", "c
diff --git a/docs/browser.js.html b/docs/browser.js.html index 108973fad..caa1eb340 100644 --- a/docs/browser.js.html +++ b/docs/browser.js.html @@ -4680,7 +4680,7 @@ beef.regCmp('beef.browser');
diff --git a/docs/browser_cookie.js.html b/docs/browser_cookie.js.html index 24007293a..b67ef92c4 100644 --- a/docs/browser_cookie.js.html +++ b/docs/browser_cookie.js.html @@ -163,7 +163,7 @@ beef.regCmp('beef.browser.cookie');
diff --git a/docs/browser_popup.js.html b/docs/browser_popup.js.html index 71dba38c6..0fb747ab0 100644 --- a/docs/browser_popup.js.html +++ b/docs/browser_popup.js.html @@ -70,7 +70,7 @@ beef.regCmp('beef.browser.popup');
diff --git a/docs/dom.js.html b/docs/dom.js.html index 3cddfc32c..1b37f155d 100644 --- a/docs/dom.js.html +++ b/docs/dom.js.html @@ -545,7 +545,7 @@ beef.regCmp('beef.dom');
diff --git a/docs/encode_base64.js.html b/docs/encode_base64.js.html index ae4c28061..8955081a5 100644 --- a/docs/encode_base64.js.html +++ b/docs/encode_base64.js.html @@ -214,7 +214,7 @@ beef.regCmp('beef.encode.base64');
diff --git a/docs/encode_json.js.html b/docs/encode_json.js.html index 1de92eae9..c6071ca6c 100644 --- a/docs/encode_json.js.html +++ b/docs/encode_json.js.html @@ -182,7 +182,7 @@ beef.regCmp('beef.encode.json');
diff --git a/docs/geolocation.js.html b/docs/geolocation.js.html index 2721f17f7..c2f1c8421 100644 --- a/docs/geolocation.js.html +++ b/docs/geolocation.js.html @@ -150,7 +150,7 @@ beef.regCmp('beef.geolocation');
diff --git a/docs/global.html b/docs/global.html index 3f0b12e08..19b4c0257 100644 --- a/docs/global.html +++ b/docs/global.html @@ -192,7 +192,7 @@
diff --git a/docs/hardware.js.html b/docs/hardware.js.html index fd4799f51..5bf5c2692 100644 --- a/docs/hardware.js.html +++ b/docs/hardware.js.html @@ -359,7 +359,7 @@ beef.regCmp('beef.hardware');
diff --git a/docs/index.html b/docs/index.html index 3b5134bd1..24365d5d6 100644 --- a/docs/index.html +++ b/docs/index.html @@ -102,7 +102,7 @@ See the file 'doc/COPYING' for copying permission
diff --git a/docs/init.js.html b/docs/init.js.html index f5cdd5a5a..25c7612f1 100644 --- a/docs/init.js.html +++ b/docs/init.js.html @@ -132,7 +132,7 @@ function beef_init() {
diff --git a/docs/lib_platform.js.html b/docs/lib_platform.js.html index 398b76b51..6d3d423b5 100644 --- a/docs/lib_platform.js.html +++ b/docs/lib_platform.js.html @@ -1302,7 +1302,7 @@
diff --git a/docs/logger.js.html b/docs/logger.js.html index fb675dbe4..62cef8b5a 100644 --- a/docs/logger.js.html +++ b/docs/logger.js.html @@ -403,7 +403,7 @@ beef.regCmp('beef.logger');
diff --git a/docs/mitb.js.html b/docs/mitb.js.html index d9322ce3b..707068c0f 100644 --- a/docs/mitb.js.html +++ b/docs/mitb.js.html @@ -66,7 +66,7 @@ beef.mitb = { if (method == "GET") { //GET request -> cross-origin if (url.indexOf(document.location.hostname) == -1 || (portR != null && requestPort != document.location.port )) { - beef.mitb.sniff("GET [Ajax CrossDomain Request]: " + url); + beef.mitb.sniff("GET [Ajax CrossOrigin Request]: " + url); window.open(url); }else { //GET request -> same-origin beef.mitb.sniff("GET [Ajax Request]: " + url); @@ -288,7 +288,7 @@ beef.regCmp('beef.mitb');
diff --git a/docs/net.js.html b/docs/net.js.html index 72d006b6c..e01730ae6 100644 --- a/docs/net.js.html +++ b/docs/net.js.html @@ -102,7 +102,7 @@ beef.net = { this.status_text = null; // success, timeout, error, ... this.response_body = null; // "<html>…." if not a cross-origin request this.port_status = null; // tcp port is open, closed or not http - this.was_cross_domain = null; // true or false + this.was_cross_origin = null; // true or false this.was_timedout = null; // the user specified timeout was reached this.duration = null; // how long it took for the request to complete this.headers = null; // full response headers @@ -245,11 +245,11 @@ beef.net = { * @return {Object} this object contains the response details */ request: function (scheme, method, domain, port, path, anchor, data, timeout, dataType, callback) { - //check if same domain or cross domain - var cross_domain = true; + //check if same origin or cross origin + var cross_origin = true; if (document.domain == domain.replace(/(\r\n|\n|\r)/gm, "")) { //strip eventual line breaks if (document.location.port == "" || document.location.port == null) { - cross_domain = !(port == "80" || port == "443"); + cross_origin = !(port == "80" || port == "443"); } } @@ -266,12 +266,12 @@ beef.net = { //define response object var response = new this.response; - response.was_cross_domain = cross_domain; + response.was_cross_origin = cross_origin; var start_time = new Date().getTime(); /* * according to http://api.jquery.com/jQuery.ajax/, Note: having 'script': - * This will turn POSTs into GETs for remote-domain requests. + * This will turn POSTs into GETs for cross origin requests. */ if (method == "POST") { $j.ajaxSetup({ @@ -338,7 +338,7 @@ beef.net = { /** * Similar to beef.net.request, except from a few things that are needed when dealing with forged requests: * - requestid: needed on the callback - * - allowCrossDomain: set cross-domain requests as allowed or blocked + * - allowCrossOrigin: set cross-origin requests as allowed or blocked * * forge_request is used mainly by the Requester and Tunneling Proxy Extensions. * Example usage: @@ -346,20 +346,20 @@ beef.net = { * true, null, { foo: "bar" }, 5, 'html', false, null, function(response) { * alert(response.response_body)}) */ - forge_request: function (scheme, method, domain, port, path, anchor, headers, data, timeout, dataType, allowCrossDomain, requestid, callback) { + forge_request: function (scheme, method, domain, port, path, anchor, headers, data, timeout, dataType, allowCrossOrigin, requestid, callback) { if (domain == "undefined" || path == "undefined") { beef.debug("[beef.net.forge_request] Error: Malformed request. No host specified."); return; } - // check if same domain or cross domain - var cross_domain = true; + // check if same origin or cross origin + var cross_origin = true; if (document.domain == domain && document.location.protocol == scheme + ':') { if (document.location.port == "" || document.location.port == null) { - cross_domain = !(port == "80" || port == "443"); + cross_origin = !(port == "80" || port == "443"); } else { - if (document.location.port == port) cross_domain = false; + if (document.location.port == port) cross_origin = false; } } @@ -376,23 +376,23 @@ beef.net = { // define response object var response = new this.response; - response.was_cross_domain = cross_domain; + response.was_cross_origin = cross_origin; var start_time = new Date().getTime(); - // if cross-domain requests are not allowed and the request is cross-domain + // if cross-origin requests are not allowed and the request is cross-origin // don't proceed and return - if (allowCrossDomain == "false" && cross_domain) { + if (allowCrossOrigin == "false" && cross_origin) { beef.debug("[beef.net.forge_request] Error: Cross Domain Request. The request was not sent."); response.status_code = -1; - response.status_text = "crossdomain"; - response.port_status = "crossdomain"; + response.status_text = "crossorigin"; + response.port_status = "crossorigin"; response.response_body = "ERROR: Cross Domain Request. The request was not sent.\n"; response.headers = "ERROR: Cross Domain Request. The request was not sent.\n"; if (callback != null) callback(response, requestid); return response; } - // if the request was cross-domain from a HTTPS origin to HTTP + // if the request was cross-origin from a HTTPS origin to HTTP // don't proceed and return if (document.location.protocol == 'https:' && scheme == 'http') { beef.debug("[beef.net.forge_request] Error: Mixed Active Content. The request was not sent."); @@ -407,7 +407,7 @@ beef.net = { /* * according to http://api.jquery.com/jQuery.ajax/, Note: having 'script': - * This will turn POSTs into GETs for remote-domain requests. + * This will turn POSTs into GETs for cross origin requests. */ if (method == "POST") { $j.ajaxSetup({ @@ -460,10 +460,10 @@ beef.net = { }, complete: function (xhr, textStatus) { - // cross-domain request - if (cross_domain) { + // cross-origin request + if (cross_origin) { - response.port_status = "crossdomain"; + response.port_status = "crossorigin"; if (xhr.status != 0) { response.status_code = xhr.status; @@ -474,7 +474,7 @@ beef.net = { if (textStatus) { response.status_text = textStatus; } else { - response.status_text = "crossdomain"; + response.status_text = "crossorigin"; } if (xhr.getAllResponseHeaders()) { @@ -488,7 +488,7 @@ beef.net = { } } else { - // same-domain request + // same-origin request response.status_code = xhr.status; response.status_text = textStatus; response.headers = xhr.getAllResponseHeaders(); @@ -606,7 +606,7 @@ beef.regCmp('beef.net');
diff --git a/docs/net_connection.js.html b/docs/net_connection.js.html index 4043f4881..90178a77b 100644 --- a/docs/net_connection.js.html +++ b/docs/net_connection.js.html @@ -92,7 +92,7 @@ beef.regCmp('beef.net.connection');
diff --git a/docs/net_cors.js.html b/docs/net_cors.js.html index 6dd96a8b0..e3ff3d309 100644 --- a/docs/net_cors.js.html +++ b/docs/net_cors.js.html @@ -125,7 +125,7 @@ beef.regCmp('beef.net.cors');
diff --git a/docs/net_dns.js.html b/docs/net_dns.js.html index bcef8f36f..b76c49054 100644 --- a/docs/net_dns.js.html +++ b/docs/net_dns.js.html @@ -139,7 +139,7 @@ beef.regCmp('beef.net.dns');
diff --git a/docs/net_local.js.html b/docs/net_local.js.html index 8b31209a9..ebc8cb793 100644 --- a/docs/net_local.js.html +++ b/docs/net_local.js.html @@ -129,7 +129,7 @@ beef.regCmp('beef.net.local');
diff --git a/docs/net_portscanner.js.html b/docs/net_portscanner.js.html index d0d8d6b78..f3a79c055 100644 --- a/docs/net_portscanner.js.html +++ b/docs/net_portscanner.js.html @@ -108,7 +108,7 @@ beef.regCmp('beef.net.portscanner');
diff --git a/docs/net_requester.js.html b/docs/net_requester.js.html index 02c81a3a5..bf1e7fc28 100644 --- a/docs/net_requester.js.html +++ b/docs/net_requester.js.html @@ -53,7 +53,7 @@ beef.net.requester = { request = requests_array[i]; if (request.proto == 'https') var scheme = 'https'; else var scheme = 'http'; beef.debug('[Requester] ' + request.method + ' ' + scheme + '://' + request.host + ':' + request.port + request.uri + ' - Data: ' + request.data); - beef.net.forge_request(scheme, request.method, request.host, request.port, request.uri, null, request.headers, request.data, 10, null, request.allowCrossDomain, request.id, + beef.net.forge_request(scheme, request.method, request.host, request.port, request.uri, null, request.headers, request.data, 10, null, request.allowCrossOrigin, request.id, function(res, requestid) { beef.net.send('/requester', requestid, { response_data: res.response_body, response_status_code: res.status_code, @@ -83,7 +83,7 @@ beef.regCmp('beef.net.requester');
diff --git a/docs/net_xssrays.js.html b/docs/net_xssrays.js.html index 1ecd3f0a3..3ca54ff5c 100644 --- a/docs/net_xssrays.js.html +++ b/docs/net_xssrays.js.html @@ -199,7 +199,7 @@ beef.net.xssrays = { this.xss({href:url.href, pathname:url.pathname, hostname:url.hostname, port: url.port, protocol: location.protocol, search:url.search, type: 'url'});//scan each link & param } else { - beef.debug('Scan is not Cross-domain. URLS\nurl :' + url.hostname.toString()); + beef.debug('Scan is not Cross-origin. URLS\nurl :' + url.hostname.toString()); beef.debug('\nlocation :' + location.hostname.toString()); } } @@ -279,7 +279,7 @@ beef.net.xssrays = { continue; } if (!this.crossDomain && (this.host(action).toString() != this.host(location.toString()))) { - beef.debug('Scan is not Cross-domain. FormPost\naction :' + this.host(action).toString()); + beef.debug('Scan is not Cross-origin. FormPost\naction :' + this.host(action).toString()); beef.debug('location :' + this.host(location)); continue; } @@ -541,7 +541,7 @@ beef.regCmp('beef.net.xssrays');
diff --git a/docs/os.js.html b/docs/os.js.html index 6060793a3..861cfa1ef 100644 --- a/docs/os.js.html +++ b/docs/os.js.html @@ -403,7 +403,7 @@ beef.regCmp('beef.net.os');
diff --git a/docs/session.js.html b/docs/session.js.html index 09aeaa003..aa3a5909b 100644 --- a/docs/session.js.html +++ b/docs/session.js.html @@ -116,7 +116,7 @@ beef.regCmp('beef.session');
diff --git a/docs/timeout.js.html b/docs/timeout.js.html index c61d382db..1121421d4 100644 --- a/docs/timeout.js.html +++ b/docs/timeout.js.html @@ -65,7 +65,7 @@ setTimeout(beef_init, 1000);
diff --git a/docs/updater.js.html b/docs/updater.js.html index 8b8bf79da..bcef99c65 100644 --- a/docs/updater.js.html +++ b/docs/updater.js.html @@ -135,7 +135,7 @@ beef.regCmp('beef.updater');
diff --git a/docs/webrtc.js.html b/docs/webrtc.js.html index dbbd29def..a8c6ec669 100644 --- a/docs/webrtc.js.html +++ b/docs/webrtc.js.html @@ -758,7 +758,7 @@ beef.regCmp('beef.webrtc');
diff --git a/docs/websocket.js.html b/docs/websocket.js.html index 0313b06b6..cd6a570b7 100644 --- a/docs/websocket.js.html +++ b/docs/websocket.js.html @@ -142,7 +142,7 @@ beef.regCmp('beef.websocket');
diff --git a/extensions/admin_ui/media/javascript/ui/panel/ZombieDataGrid.js b/extensions/admin_ui/media/javascript/ui/panel/ZombieDataGrid.js index bdfb55cf1..51a295999 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/ZombieDataGrid.js +++ b/extensions/admin_ui/media/javascript/ui/panel/ZombieDataGrid.js @@ -187,7 +187,7 @@ ZombieDataGrid = function(url, page, base) { end if (BeEF::Core::Configuration.instance.get("beef.extension.xssrays.enable")) context_menu << { - id: 'zombie_grid_xssrays_hooked_domain', + id: 'zombie_grid_xssrays_hooked_origin', text: 'Launch XssRays on Hooked Domain', iconCls: 'zombie-tree-ctxMenu-xssrays' } @@ -230,7 +230,7 @@ ZombieDataGrid = function(url, page, base) { jsonData: {'hb_id': escape(hb_id)} }); break; - case 'zombie_grid_xssrays_hooked_domain': + case 'zombie_grid_xssrays_hooked_origin': Ext.Ajax.request({ url: '/api/xssrays/scan/' + escape(hb_id) + '?token=' + beefwui.get_rest_token(), method: 'POST' diff --git a/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabXssRays.js b/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabXssRays.js index f07ff5a3a..31882aa79 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabXssRays.js +++ b/extensions/admin_ui/media/javascript/ui/panel/tabs/ZombieTabXssRays.js @@ -106,9 +106,9 @@ ZombieTab_XssRaysTab = function(zombie) { padding: '10px 5px 0 5px' },{ xtype:'checkbox', - id:'cross_domain', - fieldLabel: 'Cross-domain (check for XSS on cross-domain resources)', - name: 'cross_domain', + id:'cross_origin', + fieldLabel: 'Cross-origin (check for XSS on cross-origin resources)', + name: 'cross_origin', checked: true }], @@ -120,7 +120,7 @@ ZombieTab_XssRaysTab = function(zombie) { bar.update_sending('Starting XssRays on ' + zombie.ip + ' ...'); form.submit({ params: { - cross_domain: document.getElementById('cross_domain').checked + cross_origin: document.getElementById('cross_origin').checked }, success: function() { bar.update_sent("Scan settings saved for hooked browser [" + zombie.ip + "]. XssRays will be added to victim DOM on next polling."); diff --git a/extensions/admin_ui/media/javascript/ui/panel/zombiesTreeList.js b/extensions/admin_ui/media/javascript/ui/panel/zombiesTreeList.js index bbdf1e0f8..e40e144f5 100644 --- a/extensions/admin_ui/media/javascript/ui/panel/zombiesTreeList.js +++ b/extensions/admin_ui/media/javascript/ui/panel/zombiesTreeList.js @@ -79,7 +79,7 @@ Ext.extend(zombiesTreeList, Ext.tree.TreePanel, { end if (BeEF::Core::Configuration.instance.get("beef.extension.xssrays.enable")) context_menu << { - id: 'xssrays_hooked_domain', + id: 'xssrays_hooked_origin', text: 'Launch XssRays on Hooked Domain', iconCls: 'zombie-tree-ctxMenu-xssrays' } @@ -121,7 +121,7 @@ Ext.extend(zombiesTreeList, Ext.tree.TreePanel, { jsonData: {'hb_id': escape(hb_id)} }); break; - case 'xssrays_hooked_domain': + case 'xssrays_hooked_origin': Ext.Ajax.request({ url: '/api/xssrays/scan/' + escape(hb_id) + '?token=' + beefwui.get_rest_token(), method: 'POST' diff --git a/extensions/proxy/extension.rb b/extensions/proxy/extension.rb index 2f20ff7de..f9ce522e0 100644 --- a/extensions/proxy/extension.rb +++ b/extensions/proxy/extension.rb @@ -10,7 +10,7 @@ module BeEF @short_name = 'proxy' @full_name = 'proxy' - @description = 'The tunneling proxy allows HTTP requests to the hooked domain to be tunneled through the victim browser' + @description = 'The tunneling proxy allows HTTP requests to the hooked origin to be tunneled through the victim browser' end end end diff --git a/extensions/proxy/proxy.rb b/extensions/proxy/proxy.rb index 52bcedaeb..3da8cadc9 100644 --- a/extensions/proxy/proxy.rb +++ b/extensions/proxy/proxy.rb @@ -125,7 +125,7 @@ module BeEF path: uri_path_and_qs, request_date: Time.now, hooked_browser_id: get_tunneling_proxy, - allow_cross_domain: 'true' + allow_cross_origin: 'true' ) http.save print_debug( @@ -133,7 +133,7 @@ module BeEF "domain[#{http.domain}:#{http.port}], " \ "method[#{http.method}], " \ "path[#{http.path}], " \ - "cross domain[#{http.allow_cross_domain}]" + "cross origin[#{http.allow_cross_origin}]" ) # Wait for the HTTP response to be stored in the db. diff --git a/extensions/requester/api/hook.rb b/extensions/requester/api/hook.rb index 374ff1855..5e075097c 100644 --- a/extensions/requester/api/hook.rb +++ b/extensions/requester/api/hook.rb @@ -81,7 +81,7 @@ module BeEF # The Hash will then be converted into JSON, given as input to beef.net.requester.send Javascript API function # and finally sent to and executed by the hooked browser. def requester_parse_db_request(http_db_object) - allow_cross_domain = http_db_object.allow_cross_domain.to_s + allow_cross_origin = http_db_object.allow_cross_origin.to_s verb = http_db_object.method.upcase proto = http_db_object.proto.downcase uri = http_db_object.request.split(/\s+/)[1] @@ -137,7 +137,7 @@ module BeEF 'port' => @port, 'uri' => uri, 'headers' => headers, - 'allowCrossDomain' => allow_cross_domain + 'allowCrossOrigin' => allow_cross_origin } # Add POST request data diff --git a/extensions/requester/rest/requester.rb b/extensions/requester/rest/requester.rb index 1b37f2d8b..746b8039b 100644 --- a/extensions/requester/rest/requester.rb +++ b/extensions/requester/rest/requester.rb @@ -181,7 +181,7 @@ module BeEF port: host_port, path: uri, request_date: Time.now, - allow_cross_domain: 'true' + allow_cross_origin: 'true' ) print_debug "added new http request for #{zombie.session}" diff --git a/extensions/xssrays/api/scan.rb b/extensions/xssrays/api/scan.rb index fa727fbf4..d2a66f1d0 100644 --- a/extensions/xssrays/api/scan.rb +++ b/extensions/xssrays/api/scan.rb @@ -31,7 +31,7 @@ module BeEF # the URI of the XssRays handler where rays should come back if the vulnerability is verified beefurl = BeEF::Core::Server.instance.url - cross_domain = xs.cross_domain + cross_origin = xs.cross_origin timeout = xs.clean_timeout ws = BeEF::Core::Websocket::Websocket.instance @@ -47,7 +47,7 @@ module BeEF // Browser Exploitation Framework (BeEF) - https://beefproject.com // See the file \'doc/COPYING\' for copying permission //', '') - add_to_body xs.id, hb.session, beefurl, cross_domain, timeout + add_to_body xs.id, hb.session, beefurl, cross_origin, timeout if config.get('beef.extension.evasion.enable') evasion = BeEF::Extension::Evasion::Evasion.instance @@ -58,18 +58,18 @@ module BeEF # If we use XHR-polling, add the component to the main hook file else build_missing_beefjs_components 'beef.net.xssrays' - add_to_body xs.id, hb.session, beefurl, cross_domain, timeout + add_to_body xs.id, hb.session, beefurl, cross_origin, timeout end - print_debug("[XSSRAYS] Adding XssRays to the DOM. Scan id [#{xs.id}], started at [#{xs.scan_start}], cross domain [#{cross_domain}], clean timeout [#{timeout}].") + print_debug("[XSSRAYS] Adding XssRays to the DOM. Scan id [#{xs.id}], started at [#{xs.scan_start}], cross origin [#{cross_origin}], clean timeout [#{timeout}].") end - def add_to_body(id, session, beefurl, cross_domain, timeout) + def add_to_body(id, session, beefurl, cross_origin, timeout) config = BeEF::Core::Configuration.instance req = %{ beef.execute(function() { - beef.net.xssrays.startScan('#{id}', '#{session}', '#{beefurl}', #{cross_domain}, #{timeout}); + beef.net.xssrays.startScan('#{id}', '#{session}', '#{beefurl}', #{cross_origin}, #{timeout}); }); } diff --git a/extensions/xssrays/config.yaml b/extensions/xssrays/config.yaml index 50004205e..e45766cb2 100644 --- a/extensions/xssrays/config.yaml +++ b/extensions/xssrays/config.yaml @@ -10,4 +10,4 @@ beef: name: 'XSSRays' authors: ["antisnatchor"] clean_timeout: 3000 - cross_domain: true + cross_origin: true diff --git a/extensions/xssrays/handler.rb b/extensions/xssrays/handler.rb index 77894d46a..9208b3539 100644 --- a/extensions/xssrays/handler.rb +++ b/extensions/xssrays/handler.rb @@ -67,7 +67,7 @@ module BeEF ) xssrays_detail.save - print_info("[XSSRAYS] Scan id [#{xssrays_scan.id}] received ray [ip:#{hooked_browser.ip}], hooked domain [#{hooked_browser.domain}]") + print_info("[XSSRAYS] Scan id [#{xssrays_scan.id}] received ray [ip:#{hooked_browser.ip}], hooked origin [#{hooked_browser.domain}]") print_debug("[XSSRAYS] Ray info: \n #{request.query_string}") end diff --git a/extensions/xssrays/rest/xssrays.rb b/extensions/xssrays/rest/xssrays.rb index 9d3a0a66e..45e96e0cb 100644 --- a/extensions/xssrays/rest/xssrays.rb +++ b/extensions/xssrays/rest/xssrays.rb @@ -17,7 +17,7 @@ module BeEF halt 403 unless BeEF::Core::Rest.permitted_source?(request.ip) CLEAN_TIMEOUT = config.get('beef.extension.xssrays.clean_timeout') || 3_000 - CROSS_DOMAIN = config.get('beef.extension.xssrays.cross_domain') || true + CROSS_ORIGIN = config.get('beef.extension.xssrays.cross_origin') || true HB = BeEF::Core::Models::HookedBrowser XS = BeEF::Core::Models::Xssraysscan @@ -118,12 +118,12 @@ module BeEF return end - # set Cross-domain settings - cross_domain = params[:cross_domain].to_s - cross_domain = if cross_domain == '' - CROSS_DOMAIN + # set Cross-origin settings + cross_origin = params[:cross_origin].to_s + cross_origin = if cross_origin == '' + CROSS_ORIGIN else - cross_domain != 'false' + cross_origin != 'false' end # set clean timeout settings @@ -134,8 +134,8 @@ module BeEF hooked_browser_id: hooked_browser.id, scan_start: Time.now, domain: hooked_browser.domain, - # check also cross-domain URIs found by the crawler - cross_domain: cross_domain, + # check also cross-origin URIs found by the crawler + cross_origin: cross_origin, # how long to wait before removing the iFrames from the DOM (5000ms default) clean_timeout: clean_timeout ) @@ -143,8 +143,8 @@ module BeEF print_info( "[XSSRays] Starting XSSRays [ip:#{hooked_browser.ip}], " \ - "hooked domain [#{hooked_browser.domain}], " \ - "cross-domain: #{cross_domain}, " \ + "hooked origin [#{hooked_browser.domain}], " \ + "cross-origin: #{cross_origin}, " \ "clean timeout: #{clean_timeout}" ) @@ -181,7 +181,7 @@ module BeEF scan_start: scan.scan_start, scan_finish: scan.scan_finish, domain: scan.domain, - cross_domain: scan.cross_domain, + cross_origin: scan.cross_origin, clean_timeout: scan.clean_timeout, is_started: scan.is_started, is_finished: scan.is_finished diff --git a/modules/browser/hooked_domain/ajax_fingerprint/command.js b/modules/browser/hooked_origin/ajax_fingerprint/command.js similarity index 100% rename from modules/browser/hooked_domain/ajax_fingerprint/command.js rename to modules/browser/hooked_origin/ajax_fingerprint/command.js diff --git a/modules/browser/hooked_domain/ajax_fingerprint/config.yaml b/modules/browser/hooked_origin/ajax_fingerprint/config.yaml similarity index 100% rename from modules/browser/hooked_domain/ajax_fingerprint/config.yaml rename to modules/browser/hooked_origin/ajax_fingerprint/config.yaml diff --git a/modules/browser/hooked_domain/ajax_fingerprint/module.rb b/modules/browser/hooked_origin/ajax_fingerprint/module.rb similarity index 100% rename from modules/browser/hooked_domain/ajax_fingerprint/module.rb rename to modules/browser/hooked_origin/ajax_fingerprint/module.rb diff --git a/modules/browser/hooked_domain/alert_dialog/command.js b/modules/browser/hooked_origin/alert_dialog/command.js similarity index 100% rename from modules/browser/hooked_domain/alert_dialog/command.js rename to modules/browser/hooked_origin/alert_dialog/command.js diff --git a/modules/browser/hooked_domain/alert_dialog/config.yaml b/modules/browser/hooked_origin/alert_dialog/config.yaml similarity index 100% rename from modules/browser/hooked_domain/alert_dialog/config.yaml rename to modules/browser/hooked_origin/alert_dialog/config.yaml diff --git a/modules/browser/hooked_domain/alert_dialog/module.rb b/modules/browser/hooked_origin/alert_dialog/module.rb similarity index 100% rename from modules/browser/hooked_domain/alert_dialog/module.rb rename to modules/browser/hooked_origin/alert_dialog/module.rb diff --git a/modules/browser/hooked_domain/apache_tomcat_examples_cookie_disclosure/command.js b/modules/browser/hooked_origin/apache_tomcat_examples_cookie_disclosure/command.js similarity index 100% rename from modules/browser/hooked_domain/apache_tomcat_examples_cookie_disclosure/command.js rename to modules/browser/hooked_origin/apache_tomcat_examples_cookie_disclosure/command.js diff --git a/modules/browser/hooked_domain/apache_tomcat_examples_cookie_disclosure/config.yaml b/modules/browser/hooked_origin/apache_tomcat_examples_cookie_disclosure/config.yaml similarity index 100% rename from modules/browser/hooked_domain/apache_tomcat_examples_cookie_disclosure/config.yaml rename to modules/browser/hooked_origin/apache_tomcat_examples_cookie_disclosure/config.yaml diff --git a/modules/browser/hooked_domain/apache_tomcat_examples_cookie_disclosure/module.rb b/modules/browser/hooked_origin/apache_tomcat_examples_cookie_disclosure/module.rb similarity index 100% rename from modules/browser/hooked_domain/apache_tomcat_examples_cookie_disclosure/module.rb rename to modules/browser/hooked_origin/apache_tomcat_examples_cookie_disclosure/module.rb diff --git a/modules/browser/hooked_domain/cisco_asa_password_disclosure/command.js b/modules/browser/hooked_origin/cisco_asa_password_disclosure/command.js similarity index 100% rename from modules/browser/hooked_domain/cisco_asa_password_disclosure/command.js rename to modules/browser/hooked_origin/cisco_asa_password_disclosure/command.js diff --git a/modules/browser/hooked_domain/cisco_asa_password_disclosure/config.yaml b/modules/browser/hooked_origin/cisco_asa_password_disclosure/config.yaml similarity index 91% rename from modules/browser/hooked_domain/cisco_asa_password_disclosure/config.yaml rename to modules/browser/hooked_origin/cisco_asa_password_disclosure/config.yaml index 2394c3635..19db21ff3 100644 --- a/modules/browser/hooked_domain/cisco_asa_password_disclosure/config.yaml +++ b/modules/browser/hooked_origin/cisco_asa_password_disclosure/config.yaml @@ -9,7 +9,7 @@ beef: enable: true category: ["Browser", "Hooked Domain"] name: "Cisco ASA Plaintext Passwords" - description: "Recover Username, password, and second password (MFA) used for a Cisco ASA WebVPN session. The hooked domain needs to be the domain authenticated against." + description: "Recover Username, password, and second password (MFA) used for a Cisco ASA WebVPN session. The hooked origin needs to be the origin authenticated against." authors: ["catatonicprime"] target: working: ["All"] diff --git a/modules/browser/hooked_domain/cisco_asa_password_disclosure/module.rb b/modules/browser/hooked_origin/cisco_asa_password_disclosure/module.rb similarity index 100% rename from modules/browser/hooked_domain/cisco_asa_password_disclosure/module.rb rename to modules/browser/hooked_origin/cisco_asa_password_disclosure/module.rb diff --git a/modules/browser/hooked_domain/clear_console/command.js b/modules/browser/hooked_origin/clear_console/command.js similarity index 100% rename from modules/browser/hooked_domain/clear_console/command.js rename to modules/browser/hooked_origin/clear_console/command.js diff --git a/modules/browser/hooked_domain/clear_console/config.yaml b/modules/browser/hooked_origin/clear_console/config.yaml similarity index 100% rename from modules/browser/hooked_domain/clear_console/config.yaml rename to modules/browser/hooked_origin/clear_console/config.yaml diff --git a/modules/browser/hooked_domain/clear_console/module.rb b/modules/browser/hooked_origin/clear_console/module.rb similarity index 100% rename from modules/browser/hooked_domain/clear_console/module.rb rename to modules/browser/hooked_origin/clear_console/module.rb diff --git a/modules/browser/hooked_domain/deface_web_page/command.js b/modules/browser/hooked_origin/deface_web_page/command.js similarity index 100% rename from modules/browser/hooked_domain/deface_web_page/command.js rename to modules/browser/hooked_origin/deface_web_page/command.js diff --git a/modules/browser/hooked_domain/deface_web_page/config.yaml b/modules/browser/hooked_origin/deface_web_page/config.yaml similarity index 100% rename from modules/browser/hooked_domain/deface_web_page/config.yaml rename to modules/browser/hooked_origin/deface_web_page/config.yaml diff --git a/modules/browser/hooked_domain/deface_web_page/module.rb b/modules/browser/hooked_origin/deface_web_page/module.rb similarity index 100% rename from modules/browser/hooked_domain/deface_web_page/module.rb rename to modules/browser/hooked_origin/deface_web_page/module.rb diff --git a/modules/browser/hooked_domain/deface_web_page_component/command.js b/modules/browser/hooked_origin/deface_web_page_component/command.js similarity index 100% rename from modules/browser/hooked_domain/deface_web_page_component/command.js rename to modules/browser/hooked_origin/deface_web_page_component/command.js diff --git a/modules/browser/hooked_domain/deface_web_page_component/config.yaml b/modules/browser/hooked_origin/deface_web_page_component/config.yaml similarity index 100% rename from modules/browser/hooked_domain/deface_web_page_component/config.yaml rename to modules/browser/hooked_origin/deface_web_page_component/config.yaml diff --git a/modules/browser/hooked_domain/deface_web_page_component/module.rb b/modules/browser/hooked_origin/deface_web_page_component/module.rb similarity index 100% rename from modules/browser/hooked_domain/deface_web_page_component/module.rb rename to modules/browser/hooked_origin/deface_web_page_component/module.rb diff --git a/modules/browser/hooked_domain/disable_developer_tools/command.js b/modules/browser/hooked_origin/disable_developer_tools/command.js similarity index 100% rename from modules/browser/hooked_domain/disable_developer_tools/command.js rename to modules/browser/hooked_origin/disable_developer_tools/command.js diff --git a/modules/browser/hooked_domain/disable_developer_tools/config.yaml b/modules/browser/hooked_origin/disable_developer_tools/config.yaml similarity index 100% rename from modules/browser/hooked_domain/disable_developer_tools/config.yaml rename to modules/browser/hooked_origin/disable_developer_tools/config.yaml diff --git a/modules/browser/hooked_domain/disable_developer_tools/module.rb b/modules/browser/hooked_origin/disable_developer_tools/module.rb similarity index 100% rename from modules/browser/hooked_domain/disable_developer_tools/module.rb rename to modules/browser/hooked_origin/disable_developer_tools/module.rb diff --git a/modules/browser/hooked_domain/get_autocomplete_creds/command.js b/modules/browser/hooked_origin/get_autocomplete_creds/command.js similarity index 100% rename from modules/browser/hooked_domain/get_autocomplete_creds/command.js rename to modules/browser/hooked_origin/get_autocomplete_creds/command.js diff --git a/modules/browser/hooked_domain/get_autocomplete_creds/config.yaml b/modules/browser/hooked_origin/get_autocomplete_creds/config.yaml similarity index 90% rename from modules/browser/hooked_domain/get_autocomplete_creds/config.yaml rename to modules/browser/hooked_origin/get_autocomplete_creds/config.yaml index 1b531808d..632f8cec8 100644 --- a/modules/browser/hooked_domain/get_autocomplete_creds/config.yaml +++ b/modules/browser/hooked_origin/get_autocomplete_creds/config.yaml @@ -9,7 +9,7 @@ beef: enable: true category: ["Browser", "Hooked Domain"] name: "Get Autocomplete Credentials" - description: "This module steals saved credentials for the hooked domain.

Tested on Firefox 68 and Chrome 49.

Note: On Firefox, the window must have focus." + description: "This module steals saved credentials for the hooked origin.

Tested on Firefox 68 and Chrome 49.

Note: On Firefox, the window must have focus." authors: ["bcoles"] target: working: ["FF", "C"] diff --git a/modules/browser/hooked_domain/get_autocomplete_creds/module.rb b/modules/browser/hooked_origin/get_autocomplete_creds/module.rb similarity index 100% rename from modules/browser/hooked_domain/get_autocomplete_creds/module.rb rename to modules/browser/hooked_origin/get_autocomplete_creds/module.rb diff --git a/modules/browser/hooked_domain/get_cookie/command.js b/modules/browser/hooked_origin/get_cookie/command.js similarity index 100% rename from modules/browser/hooked_domain/get_cookie/command.js rename to modules/browser/hooked_origin/get_cookie/command.js diff --git a/modules/browser/hooked_domain/get_cookie/config.yaml b/modules/browser/hooked_origin/get_cookie/config.yaml similarity index 100% rename from modules/browser/hooked_domain/get_cookie/config.yaml rename to modules/browser/hooked_origin/get_cookie/config.yaml diff --git a/modules/browser/hooked_domain/get_cookie/module.rb b/modules/browser/hooked_origin/get_cookie/module.rb similarity index 100% rename from modules/browser/hooked_domain/get_cookie/module.rb rename to modules/browser/hooked_origin/get_cookie/module.rb diff --git a/modules/browser/hooked_domain/get_form_values/command.js b/modules/browser/hooked_origin/get_form_values/command.js similarity index 100% rename from modules/browser/hooked_domain/get_form_values/command.js rename to modules/browser/hooked_origin/get_form_values/command.js diff --git a/modules/browser/hooked_domain/get_form_values/config.yaml b/modules/browser/hooked_origin/get_form_values/config.yaml similarity index 100% rename from modules/browser/hooked_domain/get_form_values/config.yaml rename to modules/browser/hooked_origin/get_form_values/config.yaml diff --git a/modules/browser/hooked_domain/get_form_values/module.rb b/modules/browser/hooked_origin/get_form_values/module.rb similarity index 100% rename from modules/browser/hooked_domain/get_form_values/module.rb rename to modules/browser/hooked_origin/get_form_values/module.rb diff --git a/modules/browser/hooked_domain/get_local_storage/command.js b/modules/browser/hooked_origin/get_local_storage/command.js similarity index 100% rename from modules/browser/hooked_domain/get_local_storage/command.js rename to modules/browser/hooked_origin/get_local_storage/command.js diff --git a/modules/browser/hooked_domain/get_local_storage/config.yaml b/modules/browser/hooked_origin/get_local_storage/config.yaml similarity index 100% rename from modules/browser/hooked_domain/get_local_storage/config.yaml rename to modules/browser/hooked_origin/get_local_storage/config.yaml diff --git a/modules/browser/hooked_domain/get_local_storage/module.rb b/modules/browser/hooked_origin/get_local_storage/module.rb similarity index 100% rename from modules/browser/hooked_domain/get_local_storage/module.rb rename to modules/browser/hooked_origin/get_local_storage/module.rb diff --git a/modules/browser/hooked_domain/get_page_html/command.js b/modules/browser/hooked_origin/get_page_html/command.js similarity index 100% rename from modules/browser/hooked_domain/get_page_html/command.js rename to modules/browser/hooked_origin/get_page_html/command.js diff --git a/modules/browser/hooked_domain/get_page_html/config.yaml b/modules/browser/hooked_origin/get_page_html/config.yaml similarity index 100% rename from modules/browser/hooked_domain/get_page_html/config.yaml rename to modules/browser/hooked_origin/get_page_html/config.yaml diff --git a/modules/browser/hooked_domain/get_page_html/module.rb b/modules/browser/hooked_origin/get_page_html/module.rb similarity index 100% rename from modules/browser/hooked_domain/get_page_html/module.rb rename to modules/browser/hooked_origin/get_page_html/module.rb diff --git a/modules/browser/hooked_domain/get_page_html_iframe/command.js b/modules/browser/hooked_origin/get_page_html_iframe/command.js similarity index 100% rename from modules/browser/hooked_domain/get_page_html_iframe/command.js rename to modules/browser/hooked_origin/get_page_html_iframe/command.js diff --git a/modules/browser/hooked_domain/get_page_html_iframe/config.yaml b/modules/browser/hooked_origin/get_page_html_iframe/config.yaml similarity index 100% rename from modules/browser/hooked_domain/get_page_html_iframe/config.yaml rename to modules/browser/hooked_origin/get_page_html_iframe/config.yaml diff --git a/modules/browser/hooked_domain/get_page_html_iframe/module.rb b/modules/browser/hooked_origin/get_page_html_iframe/module.rb similarity index 100% rename from modules/browser/hooked_domain/get_page_html_iframe/module.rb rename to modules/browser/hooked_origin/get_page_html_iframe/module.rb diff --git a/modules/browser/hooked_domain/get_page_links/command.js b/modules/browser/hooked_origin/get_page_links/command.js similarity index 100% rename from modules/browser/hooked_domain/get_page_links/command.js rename to modules/browser/hooked_origin/get_page_links/command.js diff --git a/modules/browser/hooked_domain/get_page_links/config.yaml b/modules/browser/hooked_origin/get_page_links/config.yaml similarity index 100% rename from modules/browser/hooked_domain/get_page_links/config.yaml rename to modules/browser/hooked_origin/get_page_links/config.yaml diff --git a/modules/browser/hooked_domain/get_page_links/module.rb b/modules/browser/hooked_origin/get_page_links/module.rb similarity index 100% rename from modules/browser/hooked_domain/get_page_links/module.rb rename to modules/browser/hooked_origin/get_page_links/module.rb diff --git a/modules/browser/hooked_domain/get_session_storage/command.js b/modules/browser/hooked_origin/get_session_storage/command.js similarity index 100% rename from modules/browser/hooked_domain/get_session_storage/command.js rename to modules/browser/hooked_origin/get_session_storage/command.js diff --git a/modules/browser/hooked_domain/get_session_storage/config.yaml b/modules/browser/hooked_origin/get_session_storage/config.yaml similarity index 100% rename from modules/browser/hooked_domain/get_session_storage/config.yaml rename to modules/browser/hooked_origin/get_session_storage/config.yaml diff --git a/modules/browser/hooked_domain/get_session_storage/module.rb b/modules/browser/hooked_origin/get_session_storage/module.rb similarity index 100% rename from modules/browser/hooked_domain/get_session_storage/module.rb rename to modules/browser/hooked_origin/get_session_storage/module.rb diff --git a/modules/browser/hooked_domain/get_stored_credentials/command.js b/modules/browser/hooked_origin/get_stored_credentials/command.js similarity index 97% rename from modules/browser/hooked_domain/get_stored_credentials/command.js rename to modules/browser/hooked_origin/get_stored_credentials/command.js index d6a5f163a..8d0c40209 100644 --- a/modules/browser/hooked_domain/get_stored_credentials/command.js +++ b/modules/browser/hooked_origin/get_stored_credentials/command.js @@ -59,7 +59,7 @@ beef.execute(function() { } } catch (e) { - // return if no forms were found or login page is cross-domain + // return if no forms were found or login page is cross-origin beef.net.send('<%= @command_url %>', <%= @command_id %>, 'form_data=Could not read form data from '+login_url); } document.body.removeChild(iframe); diff --git a/modules/browser/hooked_domain/get_stored_credentials/config.yaml b/modules/browser/hooked_origin/get_stored_credentials/config.yaml similarity index 81% rename from modules/browser/hooked_domain/get_stored_credentials/config.yaml rename to modules/browser/hooked_origin/get_stored_credentials/config.yaml index 0ac261c1e..fed05f79a 100644 --- a/modules/browser/hooked_domain/get_stored_credentials/config.yaml +++ b/modules/browser/hooked_origin/get_stored_credentials/config.yaml @@ -9,7 +9,7 @@ beef: enable: true category: ["Browser", "Hooked Domain"] name: "Get Stored Credentials" - description: "This module retrieves saved username/password combinations from the login page on the hooked domain.

It will fail if more than one set of domain credentials are saved in the browser." + description: "This module retrieves saved username/password combinations from the login page on the hooked origin.

It will fail if more than one set of origin credentials are saved in the browser." authors: ["bcoles"] target: working: ["FF"] diff --git a/modules/browser/hooked_domain/get_stored_credentials/module.rb b/modules/browser/hooked_origin/get_stored_credentials/module.rb similarity index 100% rename from modules/browser/hooked_domain/get_stored_credentials/module.rb rename to modules/browser/hooked_origin/get_stored_credentials/module.rb diff --git a/modules/browser/hooked_domain/link_rewrite/command.js b/modules/browser/hooked_origin/link_rewrite/command.js similarity index 100% rename from modules/browser/hooked_domain/link_rewrite/command.js rename to modules/browser/hooked_origin/link_rewrite/command.js diff --git a/modules/browser/hooked_domain/link_rewrite/config.yaml b/modules/browser/hooked_origin/link_rewrite/config.yaml similarity index 100% rename from modules/browser/hooked_domain/link_rewrite/config.yaml rename to modules/browser/hooked_origin/link_rewrite/config.yaml diff --git a/modules/browser/hooked_domain/link_rewrite/module.rb b/modules/browser/hooked_origin/link_rewrite/module.rb similarity index 100% rename from modules/browser/hooked_domain/link_rewrite/module.rb rename to modules/browser/hooked_origin/link_rewrite/module.rb diff --git a/modules/browser/hooked_domain/link_rewrite_click_events/command.js b/modules/browser/hooked_origin/link_rewrite_click_events/command.js similarity index 100% rename from modules/browser/hooked_domain/link_rewrite_click_events/command.js rename to modules/browser/hooked_origin/link_rewrite_click_events/command.js diff --git a/modules/browser/hooked_domain/link_rewrite_click_events/config.yaml b/modules/browser/hooked_origin/link_rewrite_click_events/config.yaml similarity index 100% rename from modules/browser/hooked_domain/link_rewrite_click_events/config.yaml rename to modules/browser/hooked_origin/link_rewrite_click_events/config.yaml diff --git a/modules/browser/hooked_domain/link_rewrite_click_events/module.rb b/modules/browser/hooked_origin/link_rewrite_click_events/module.rb similarity index 100% rename from modules/browser/hooked_domain/link_rewrite_click_events/module.rb rename to modules/browser/hooked_origin/link_rewrite_click_events/module.rb diff --git a/modules/browser/hooked_domain/link_rewrite_sslstrip/command.js b/modules/browser/hooked_origin/link_rewrite_sslstrip/command.js similarity index 100% rename from modules/browser/hooked_domain/link_rewrite_sslstrip/command.js rename to modules/browser/hooked_origin/link_rewrite_sslstrip/command.js diff --git a/modules/browser/hooked_domain/link_rewrite_sslstrip/config.yaml b/modules/browser/hooked_origin/link_rewrite_sslstrip/config.yaml similarity index 100% rename from modules/browser/hooked_domain/link_rewrite_sslstrip/config.yaml rename to modules/browser/hooked_origin/link_rewrite_sslstrip/config.yaml diff --git a/modules/browser/hooked_domain/link_rewrite_sslstrip/module.rb b/modules/browser/hooked_origin/link_rewrite_sslstrip/module.rb similarity index 100% rename from modules/browser/hooked_domain/link_rewrite_sslstrip/module.rb rename to modules/browser/hooked_origin/link_rewrite_sslstrip/module.rb diff --git a/modules/browser/hooked_domain/link_rewrite_tel/command.js b/modules/browser/hooked_origin/link_rewrite_tel/command.js similarity index 100% rename from modules/browser/hooked_domain/link_rewrite_tel/command.js rename to modules/browser/hooked_origin/link_rewrite_tel/command.js diff --git a/modules/browser/hooked_domain/link_rewrite_tel/config.yaml b/modules/browser/hooked_origin/link_rewrite_tel/config.yaml similarity index 100% rename from modules/browser/hooked_domain/link_rewrite_tel/config.yaml rename to modules/browser/hooked_origin/link_rewrite_tel/config.yaml diff --git a/modules/browser/hooked_domain/link_rewrite_tel/module.rb b/modules/browser/hooked_origin/link_rewrite_tel/module.rb similarity index 100% rename from modules/browser/hooked_domain/link_rewrite_tel/module.rb rename to modules/browser/hooked_origin/link_rewrite_tel/module.rb diff --git a/modules/browser/hooked_domain/mobilesafari_address_spoofing/command.js b/modules/browser/hooked_origin/mobilesafari_address_spoofing/command.js similarity index 100% rename from modules/browser/hooked_domain/mobilesafari_address_spoofing/command.js rename to modules/browser/hooked_origin/mobilesafari_address_spoofing/command.js diff --git a/modules/browser/hooked_domain/mobilesafari_address_spoofing/config.yaml b/modules/browser/hooked_origin/mobilesafari_address_spoofing/config.yaml similarity index 100% rename from modules/browser/hooked_domain/mobilesafari_address_spoofing/config.yaml rename to modules/browser/hooked_origin/mobilesafari_address_spoofing/config.yaml diff --git a/modules/browser/hooked_domain/mobilesafari_address_spoofing/module.rb b/modules/browser/hooked_origin/mobilesafari_address_spoofing/module.rb similarity index 100% rename from modules/browser/hooked_domain/mobilesafari_address_spoofing/module.rb rename to modules/browser/hooked_origin/mobilesafari_address_spoofing/module.rb diff --git a/modules/browser/hooked_domain/overflow_cookiejar/command.js b/modules/browser/hooked_origin/overflow_cookiejar/command.js similarity index 100% rename from modules/browser/hooked_domain/overflow_cookiejar/command.js rename to modules/browser/hooked_origin/overflow_cookiejar/command.js diff --git a/modules/browser/hooked_domain/overflow_cookiejar/config.yaml b/modules/browser/hooked_origin/overflow_cookiejar/config.yaml similarity index 100% rename from modules/browser/hooked_domain/overflow_cookiejar/config.yaml rename to modules/browser/hooked_origin/overflow_cookiejar/config.yaml diff --git a/modules/browser/hooked_domain/overflow_cookiejar/module.rb b/modules/browser/hooked_origin/overflow_cookiejar/module.rb similarity index 100% rename from modules/browser/hooked_domain/overflow_cookiejar/module.rb rename to modules/browser/hooked_origin/overflow_cookiejar/module.rb diff --git a/modules/browser/hooked_domain/prompt_dialog/command.js b/modules/browser/hooked_origin/prompt_dialog/command.js similarity index 100% rename from modules/browser/hooked_domain/prompt_dialog/command.js rename to modules/browser/hooked_origin/prompt_dialog/command.js diff --git a/modules/browser/hooked_domain/prompt_dialog/config.yaml b/modules/browser/hooked_origin/prompt_dialog/config.yaml similarity index 100% rename from modules/browser/hooked_domain/prompt_dialog/config.yaml rename to modules/browser/hooked_origin/prompt_dialog/config.yaml diff --git a/modules/browser/hooked_domain/prompt_dialog/module.rb b/modules/browser/hooked_origin/prompt_dialog/module.rb similarity index 100% rename from modules/browser/hooked_domain/prompt_dialog/module.rb rename to modules/browser/hooked_origin/prompt_dialog/module.rb diff --git a/modules/browser/hooked_domain/remove_stuck_iframes/command.js b/modules/browser/hooked_origin/remove_stuck_iframes/command.js similarity index 100% rename from modules/browser/hooked_domain/remove_stuck_iframes/command.js rename to modules/browser/hooked_origin/remove_stuck_iframes/command.js diff --git a/modules/browser/hooked_domain/remove_stuck_iframes/config.yaml b/modules/browser/hooked_origin/remove_stuck_iframes/config.yaml similarity index 100% rename from modules/browser/hooked_domain/remove_stuck_iframes/config.yaml rename to modules/browser/hooked_origin/remove_stuck_iframes/config.yaml diff --git a/modules/browser/hooked_domain/remove_stuck_iframes/module.rb b/modules/browser/hooked_origin/remove_stuck_iframes/module.rb similarity index 100% rename from modules/browser/hooked_domain/remove_stuck_iframes/module.rb rename to modules/browser/hooked_origin/remove_stuck_iframes/module.rb diff --git a/modules/browser/hooked_domain/replace_video/command.js b/modules/browser/hooked_origin/replace_video/command.js similarity index 100% rename from modules/browser/hooked_domain/replace_video/command.js rename to modules/browser/hooked_origin/replace_video/command.js diff --git a/modules/browser/hooked_domain/replace_video/config.yaml b/modules/browser/hooked_origin/replace_video/config.yaml similarity index 100% rename from modules/browser/hooked_domain/replace_video/config.yaml rename to modules/browser/hooked_origin/replace_video/config.yaml diff --git a/modules/browser/hooked_domain/replace_video/module.rb b/modules/browser/hooked_origin/replace_video/module.rb similarity index 100% rename from modules/browser/hooked_domain/replace_video/module.rb rename to modules/browser/hooked_origin/replace_video/module.rb diff --git a/modules/browser/hooked_domain/rickroll/command.js b/modules/browser/hooked_origin/rickroll/command.js similarity index 100% rename from modules/browser/hooked_domain/rickroll/command.js rename to modules/browser/hooked_origin/rickroll/command.js diff --git a/modules/browser/hooked_domain/rickroll/config.yaml b/modules/browser/hooked_origin/rickroll/config.yaml similarity index 100% rename from modules/browser/hooked_domain/rickroll/config.yaml rename to modules/browser/hooked_origin/rickroll/config.yaml diff --git a/modules/browser/hooked_domain/rickroll/module.rb b/modules/browser/hooked_origin/rickroll/module.rb similarity index 100% rename from modules/browser/hooked_domain/rickroll/module.rb rename to modules/browser/hooked_origin/rickroll/module.rb diff --git a/modules/browser/hooked_domain/site_redirect/command.js b/modules/browser/hooked_origin/site_redirect/command.js similarity index 100% rename from modules/browser/hooked_domain/site_redirect/command.js rename to modules/browser/hooked_origin/site_redirect/command.js diff --git a/modules/browser/hooked_domain/site_redirect/config.yaml b/modules/browser/hooked_origin/site_redirect/config.yaml similarity index 100% rename from modules/browser/hooked_domain/site_redirect/config.yaml rename to modules/browser/hooked_origin/site_redirect/config.yaml diff --git a/modules/browser/hooked_domain/site_redirect/module.rb b/modules/browser/hooked_origin/site_redirect/module.rb similarity index 100% rename from modules/browser/hooked_domain/site_redirect/module.rb rename to modules/browser/hooked_origin/site_redirect/module.rb diff --git a/modules/browser/hooked_domain/site_redirect_iframe/command.js b/modules/browser/hooked_origin/site_redirect_iframe/command.js similarity index 100% rename from modules/browser/hooked_domain/site_redirect_iframe/command.js rename to modules/browser/hooked_origin/site_redirect_iframe/command.js diff --git a/modules/browser/hooked_domain/site_redirect_iframe/config.yaml b/modules/browser/hooked_origin/site_redirect_iframe/config.yaml similarity index 100% rename from modules/browser/hooked_domain/site_redirect_iframe/config.yaml rename to modules/browser/hooked_origin/site_redirect_iframe/config.yaml diff --git a/modules/browser/hooked_domain/site_redirect_iframe/module.rb b/modules/browser/hooked_origin/site_redirect_iframe/module.rb similarity index 100% rename from modules/browser/hooked_domain/site_redirect_iframe/module.rb rename to modules/browser/hooked_origin/site_redirect_iframe/module.rb diff --git a/modules/exploits/jboss_jmx_upload_exploit/command.js b/modules/exploits/jboss_jmx_upload_exploit/command.js index 0a70a7597..19f99381a 100644 --- a/modules/exploits/jboss_jmx_upload_exploit/command.js +++ b/modules/exploits/jboss_jmx_upload_exploit/command.js @@ -33,7 +33,7 @@ beef.execute(function() { uri = "/jmx-console/HtmlAdaptor;index.jsp?action=invokeOp&name=jboss.admin%3Aservice%3DDeploymentFileRepository&methodIndex=5&arg0=%2Fconsole-mgr.sar/web-console.war%2F&arg1=" + jspName + "&arg2=.jsp&arg3=" + payload + "&arg4=True"; - /* always use dataType: script when doing cross-domain XHR, otherwise even if the HTTP resp is 200, jQuery.ajax will always launch the error() event*/ + /* always use dataType: script when doing cross-origin XHR, otherwise even if the HTTP resp is 200, jQuery.ajax will always launch the error() event*/ beef.net.forge_request("http", "HEAD", rhost, rport, uri, null, null, null, 10, 'script', true, null,function(response){ if(response.status_code == 200){ function triggerReverseConn(){ diff --git a/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop_bypass/config.yaml b/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop_bypass/config.yaml index aade2b456..356a98233 100644 --- a/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop_bypass/config.yaml +++ b/modules/exploits/zeroshell/zeroshell_2_0rc2_reverse_shell_csrf_sop_bypass/config.yaml @@ -9,7 +9,7 @@ beef: enable: true category: ["Exploits", "ZeroShell"] name: "ZeroShell <= 2.0RC2 Reverse Shell CSRF SOP Bypass" - description: "Attempts to get a reverse shell on a ZeroShell <= 2.0RC2 without known credentials
This module bypass SOP, so you can use it from another hooked domain.
Vulnerability found and PoC provided by Yann CAM @ASafety / Synetis.
BeEF module originally created by ycam.
For more information refer to http://packetstormsecurity.com/files/122799/zeroshell-execdisclose.txt
Patched in version 2.0RC3.
" + description: "Attempts to get a reverse shell on a ZeroShell <= 2.0RC2 without known credentials
This module bypass SOP, so you can use it from another hooked origin.
Vulnerability found and PoC provided by Yann CAM @ASafety / Synetis.
BeEF module originally created by ycam.
For more information refer to http://packetstormsecurity.com/files/122799/zeroshell-execdisclose.txt
Patched in version 2.0RC3.
" authors: ["ycam"] target: working: ["FF"] diff --git a/modules/misc/wordpress/upload_rce_plugin/config.yaml b/modules/misc/wordpress/upload_rce_plugin/config.yaml index d346015a3..5c8171e16 100644 --- a/modules/misc/wordpress/upload_rce_plugin/config.yaml +++ b/modules/misc/wordpress/upload_rce_plugin/config.yaml @@ -14,7 +14,7 @@ beef: Afterwards, the URI to trigger is: http://vulnerable-wordpress.site/wp-content/plugins/beefbind/beefbind.php, and the command to execute can be send by a POST-parameter named 'cmd', with a 'BEEF' header containing the value of the auth_key option. However, there are more stealthy ways to send the POST request to execute the command, depending on the target. - CORS headers have been added to allow bidirectional crossdomain communication. + CORS headers have been added to allow bidirectional crossorigin communication. authors: ['Bart Leppens', 'Erwan LR'] target: working: ['ALL'] diff --git a/modules/misc/wordpress_post_auth_rce/config.yaml b/modules/misc/wordpress_post_auth_rce/config.yaml index 5baf5ec8a..048accce3 100644 --- a/modules/misc/wordpress_post_auth_rce/config.yaml +++ b/modules/misc/wordpress_post_auth_rce/config.yaml @@ -9,7 +9,7 @@ beef: enable: true category: "Misc" name: "Wordpress Post-Auth RCE" - description: "This module attempts to upload and activate a malicious wordpress plugin. Afterwards, the URI to trigger it is: http://vulnerable-wordpress.site/wordpress/wp-content/plugins/beefbind/beefbind.php. The command to execute can be send by a POST-parameter named 'cmd'. CORS headers have been added to allow bidirectional crossdomain communication." + description: "This module attempts to upload and activate a malicious wordpress plugin. Afterwards, the URI to trigger it is: http://vulnerable-wordpress.site/wordpress/wp-content/plugins/beefbind/beefbind.php. The command to execute can be send by a POST-parameter named 'cmd'. CORS headers have been added to allow bidirectional crossorigin communication." authors: ["Bart Leppens"] target: working: ["ALL"] diff --git a/package-lock.json b/package-lock.json index 53c2b0700..b648cffe0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "GNU General Public License v2.0", "devDependencies": { "jsdoc": "^4.0.0", - "jsdoc-to-markdown": "^8.0.0" + "jsdoc-to-markdown": "^9.0.2" } }, "node_modules/@babel/helper-string-parser": { @@ -72,6 +72,41 @@ "node": ">=v12.0.0" } }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/@types/linkify-it": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", @@ -94,25 +129,19 @@ "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", "dev": true }, - "node_modules/ansi-escape-sequences": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-4.1.0.tgz", - "integrity": "sha512-dzW9kHxH011uBsidTXd14JXgzye/YLb2LzeKZ4bsgl/Knwx8AtbSFkkGxagdNOoh0DlqHCmfiEjWKBaqjOanVw==", + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "array-back": "^3.0.1" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/ansi-escape-sequences/node_modules/array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", - "dev": true, - "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/argparse": { @@ -130,49 +159,42 @@ "node": ">=12.17" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/cache-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cache-point/-/cache-point-2.0.0.tgz", - "integrity": "sha512-4gkeHlFpSKgm3vm2gJN5sPqfmijYRFYCQ6tv5cLw0xVmT6r1z1vd4FNnpuOREco3cBs1G709sZ72LdgddKvL5w==", - "dev": true, - "dependencies": { - "array-back": "^4.0.1", - "fs-then-native": "^2.0.0", - "mkdirp2": "^1.0.4" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" } }, - "node_modules/cache-point/node_modules/array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "node_modules/cache-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cache-point/-/cache-point-3.0.0.tgz", + "integrity": "sha512-LDGNWYv/tqRWAAZxMy75PIYynaIuhcyoyjJtwA7X5uMZjdzvGm+XmTey/GXUy2EJ+lwc2eBFzFYxjvNYyE/0Iw==", "dev": true, + "dependencies": { + "array-back": "^6.2.2" + }, "engines": { - "node": ">=8" + "node": ">=12.17" + }, + "peerDependencies": { + "@75lb/nature": "^0.1.1" + }, + "peerDependenciesMeta": { + "@75lb/nature": { + "optional": true + } } }, "node_modules/catharsis": { @@ -187,105 +209,83 @@ "node": ">= 10" } }, - "node_modules/collect-all": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/collect-all/-/collect-all-1.0.4.tgz", - "integrity": "sha512-RKZhRwJtJEP5FWul+gkSMEnaK6H3AGPTTWOiRimCcs+rc/OmQE3Yhy1Q7A7KsdkG3ZXVdZq68Y6ONSdvkeEcKA==", + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "stream-connect": "^1.0.2", - "stream-via": "^1.0.4" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/chalk-template": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/chalk-template/-/chalk-template-0.4.0.tgz", + "integrity": "sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/chalk-template?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-6.0.0.tgz", + "integrity": "sha512-zDdHxHzlCp/gA1gy0VtPK3YL0Aob3ijJdwZ7H3HSl55hh8EziLtRlyj/od8EGRJfX8IjussC/mQkScl2Ms5Suw==", "dev": true, "dependencies": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", + "array-back": "^6.2.2", + "find-replace": "^5.0.1", "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" + "typical": "^7.1.1" }, "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/command-line-args/node_modules/array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/command-line-args/node_modules/typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/command-line-tool": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/command-line-tool/-/command-line-tool-0.8.0.tgz", - "integrity": "sha512-Xw18HVx/QzQV3Sc5k1vy3kgtOeGmsKIqwtFFoyjI4bbcpSgnw2CWVULvtakyw4s6fhyAdI6soQQhXc2OzJy62g==", - "dev": true, - "dependencies": { - "ansi-escape-sequences": "^4.0.0", - "array-back": "^2.0.0", - "command-line-args": "^5.0.0", - "command-line-usage": "^4.1.0", - "typical": "^2.6.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/command-line-tool/node_modules/array-back": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", - "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", - "dev": true, - "dependencies": { - "typical": "^2.6.1" - }, - "engines": { - "node": ">=4" + "node": ">=12.20" } }, "node_modules/command-line-usage": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-4.1.0.tgz", - "integrity": "sha512-MxS8Ad995KpdAC0Jopo/ovGIroV/m0KHwzKfXxKag6FHOkGsH8/lv5yjgablcRxCJJC0oJeUMuO/gmaq+Wq46g==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-7.0.3.tgz", + "integrity": "sha512-PqMLy5+YGwhMh1wS04mVG44oqDsgyLRSKJBdOo1bnYhMKBW65gZF1dRp2OZRhiTjgUHljy99qkO7bsctLaw35Q==", "dev": true, "dependencies": { - "ansi-escape-sequences": "^4.0.0", - "array-back": "^2.0.0", - "table-layout": "^0.4.2", - "typical": "^2.6.1" + "array-back": "^6.2.2", + "chalk-template": "^0.4.0", + "table-layout": "^4.1.0", + "typical": "^7.1.1" }, "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/command-line-usage/node_modules/array-back": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", - "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", - "dev": true, - "dependencies": { - "typical": "^2.6.1" - }, - "engines": { - "node": ">=4" + "node": ">=12.20.0" } }, "node_modules/common-sequence": { @@ -297,12 +297,6 @@ "node": ">=8" } }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, "node_modules/config-master": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/config-master/-/config-master-3.1.0.tgz", @@ -321,36 +315,39 @@ "node": ">=0.10.0" } }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "node_modules/current-module-paths": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/current-module-paths/-/current-module-paths-1.1.2.tgz", + "integrity": "sha512-H4s4arcLx/ugbu1XkkgSvcUZax0L6tXUqnppGniQb8l5VjUKGHoayXE5RiriiPhYDd+kjZnaok1Uig13PKtKYQ==", "dev": true, "engines": { - "node": ">=4.0.0" + "node": ">=12.17" } }, "node_modules/dmd": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/dmd/-/dmd-6.2.3.tgz", - "integrity": "sha512-SIEkjrG7cZ9GWZQYk/mH+mWtcRPly/3ibVuXO/tP/MFoWz6KiRK77tSMq6YQBPl7RljPtXPQ/JhxbNuCdi1bNw==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/dmd/-/dmd-7.0.7.tgz", + "integrity": "sha512-UXNLJkci/tiVNct+JgrpfTlSs8cSyLbR3q4xkYQ4do6cRCUPj0HodfMsBLPhC7KG3qGRp1YJgfNjdgCrYEcHWQ==", "dev": true, "dependencies": { "array-back": "^6.2.2", - "cache-point": "^2.0.0", + "cache-point": "^3.0.0", "common-sequence": "^2.0.2", - "file-set": "^4.0.2", + "file-set": "^5.2.2", "handlebars": "^4.7.8", "marked": "^4.3.0", - "object-get": "^2.1.1", - "reduce-flatten": "^3.0.1", - "reduce-unique": "^2.0.1", - "reduce-without": "^1.0.1", - "test-value": "^3.0.0", - "walk-back": "^5.1.0" + "walk-back": "^5.1.1" }, "engines": { - "node": ">=12" + "node": ">=12.17" + }, + "peerDependencies": { + "@75lb/nature": "latest" + }, + "peerDependenciesMeta": { + "@75lb/nature": { + "optional": true + } } }, "node_modules/entities": { @@ -374,83 +371,91 @@ "node": ">=8" } }, - "node_modules/file-set": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/file-set/-/file-set-4.0.2.tgz", - "integrity": "sha512-fuxEgzk4L8waGXaAkd8cMr73Pm0FxOVkn8hztzUW7BAHhOGH90viQNXbiOsnecCWmfInqU6YmAMwxRMdKETceQ==", + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, "dependencies": { - "array-back": "^5.0.0", - "glob": "^7.1.6" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" }, "engines": { - "node": ">=10" + "node": ">=8.6.0" } }, - "node_modules/file-set/node_modules/array-back": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-5.0.0.tgz", - "integrity": "sha512-kgVWwJReZWmVuWOQKEOohXKJX+nD02JAZ54D1RRWlv8L0NebauKAaFxACKzB74RTclt1+WNz5KHaLRDAPZbDEw==", + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-set": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/file-set/-/file-set-5.2.2.tgz", + "integrity": "sha512-/KgJI1V/QaDK4enOk/E2xMFk1cTWJghEr7UmWiRZfZ6upt6gQCfMn4jJ7aOm64OKurj4TaVnSSgSDqv5ZKYA3A==", + "dev": true, + "dependencies": { + "array-back": "^6.2.2", + "fast-glob": "^3.3.2" + }, "engines": { - "node": ">=10" + "node": ">=12.17" + }, + "peerDependencies": { + "@75lb/nature": "latest" + }, + "peerDependenciesMeta": { + "@75lb/nature": { + "optional": true + } + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, "node_modules/find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-5.0.2.tgz", + "integrity": "sha512-Y45BAiE3mz2QsrN2fb5QEtO4qb44NcS7en/0y9PEVsg351HsLeVclP8QPMH79Le9sH3rs5RSwJu99W0WPZO43Q==", + "dev": true, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "@75lb/nature": "latest" + }, + "peerDependenciesMeta": { + "@75lb/nature": { + "optional": true + } + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "dependencies": { - "array-back": "^3.0.1" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/find-replace/node_modules/array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/fs-then-native": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fs-then-native/-/fs-then-native-2.0.0.tgz", - "integrity": "sha512-X712jAOaWXkemQCAmWeg5rOT2i+KOpWz1Z/txk/cW0qlOu2oQ9H61vc5w3X/iyuUEfq/OyaFJ78/cZAQD1/bgA==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 6" } }, "node_modules/graceful-fs": { @@ -480,22 +485,44 @@ "uglify-js": "^3.1.4" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "engines": { + "node": ">=8" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } }, "node_modules/js2xmlparser": { "version": "4.0.2", @@ -507,9 +534,9 @@ } }, "node_modules/jsdoc": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.3.tgz", - "integrity": "sha512-Nu7Sf35kXJ1MWDZIMAuATRQTg1iIPdzh7tqJ6jjvaU/GfDf+qi5UV8zJR3Mo+/pYFvm8mzay4+6O5EWigaQBQw==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.4.tgz", + "integrity": "sha512-zeFezwyXeG4syyYHbvh1A967IAqq/67yXtXvuL5wnqCkFZe8I0vKfm+EO+YEvLguo6w9CDUbrAXVtJSHh2E8rw==", "dev": true, "dependencies": { "@babel/parser": "^7.20.15", @@ -536,23 +563,29 @@ } }, "node_modules/jsdoc-api": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-8.1.1.tgz", - "integrity": "sha512-yas9E4h8NHp1CTEZiU/DPNAvLoUcip+Hl8Xi1RBYzHqSrgsF+mImAZNtwymrXvgbrgl4bNGBU9syulM0JzFeHQ==", + "version": "9.3.3", + "resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-9.3.3.tgz", + "integrity": "sha512-DSMq0K/pSuzBEwE+w7f2ZXNnkBAJoL+ytfMr6Cl0CV5CDk0fy4jb2BAdkPFZqJlmtdIVNWpeb8cPj5+S4rp9Qw==", "dev": true, "dependencies": { "array-back": "^6.2.2", - "cache-point": "^2.0.0", - "collect-all": "^1.0.4", - "file-set": "^4.0.2", - "fs-then-native": "^2.0.0", - "jsdoc": "^4.0.3", + "cache-point": "^3.0.0", + "current-module-paths": "^1.1.2", + "file-set": "^5.2.2", + "jsdoc": "^4.0.4", "object-to-spawn-args": "^2.0.1", - "temp-path": "^1.0.0", - "walk-back": "^5.1.0" + "walk-back": "^5.1.1" }, "engines": { "node": ">=12.17" + }, + "peerDependencies": { + "@75lb/nature": "latest" + }, + "peerDependenciesMeta": { + "@75lb/nature": { + "optional": true + } } }, "node_modules/jsdoc-parse": { @@ -570,13 +603,26 @@ "node": ">=12" } }, - "node_modules/jsdoc-parse/node_modules/find-replace": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-5.0.2.tgz", - "integrity": "sha512-Y45BAiE3mz2QsrN2fb5QEtO4qb44NcS7en/0y9PEVsg351HsLeVclP8QPMH79Le9sH3rs5RSwJu99W0WPZO43Q==", + "node_modules/jsdoc-to-markdown": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-9.0.4.tgz", + "integrity": "sha512-kPlZ0Zw8l05LBS3kYNExwlUTOv2e38zuRnMgEbyOt15YSFrQuAPS7hnJbqmh//OCfy3wSaj2Gjy08bkrzic7xw==", "dev": true, + "dependencies": { + "array-back": "^6.2.2", + "command-line-args": "^6.0.0", + "command-line-usage": "^7.0.3", + "config-master": "^3.1.0", + "dmd": "^7.0.7", + "jsdoc-api": "^9.3.3", + "jsdoc-parse": "^6.2.4", + "walk-back": "^5.1.1" + }, + "bin": { + "jsdoc2md": "bin/cli.js" + }, "engines": { - "node": ">=14" + "node": ">=12.17" }, "peerDependencies": { "@75lb/nature": "latest" @@ -587,27 +633,6 @@ } } }, - "node_modules/jsdoc-to-markdown": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-8.0.3.tgz", - "integrity": "sha512-JGYYd5xygnQt1DIxH+HUI+X/ynL8qWihzIF0n15NSCNtM6MplzawURRcaLI2WkiS2hIjRIgsphCOfM7FkaWiNg==", - "dev": true, - "dependencies": { - "array-back": "^6.2.2", - "command-line-tool": "^0.8.0", - "config-master": "^3.1.0", - "dmd": "^6.2.3", - "jsdoc-api": "^8.1.1", - "jsdoc-parse": "^6.2.1", - "walk-back": "^5.1.0" - }, - "bin": { - "jsdoc2md": "bin/cli.js" - }, - "engines": { - "node": ">=12.17" - } - }, "node_modules/klaw": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", @@ -644,12 +669,6 @@ "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==", "dev": true }, - "node_modules/lodash.padend": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", - "integrity": "sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==", - "dev": true - }, "node_modules/markdown-it": { "version": "14.1.0", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", @@ -695,16 +714,26 @@ "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", "dev": true }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "braces": "^3.0.3", + "picomatch": "^2.3.1" }, "engines": { - "node": "*" + "node": ">=8.6" } }, "node_modules/minimist": { @@ -728,24 +757,12 @@ "node": ">=10" } }, - "node_modules/mkdirp2": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/mkdirp2/-/mkdirp2-1.0.5.tgz", - "integrity": "sha512-xOE9xbICroUDmG1ye2h4bZ8WBie9EGmACaco8K8cx6RlkJJrxGIqjGqztAI+NMhexXBcdGbSEzI6N3EJPevxZw==", - "dev": true - }, "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, - "node_modules/object-get": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-get/-/object-get-2.1.1.tgz", - "integrity": "sha512-7n4IpLMzGGcLEMiQKsNR7vCe+N5E9LORFrtNUVy4sO3dj9a3HedZCxEL2T7QuLhcHN1NBuBsMOKaOsAYI9IIvg==", - "dev": true - }, "node_modules/object-to-spawn-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/object-to-spawn-args/-/object-to-spawn-args-2.0.1.tgz", @@ -755,22 +772,16 @@ "node": ">=8.0.0" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/punycode.js": { @@ -782,60 +793,25 @@ "node": ">=6" } }, - "node_modules/reduce-flatten": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-3.0.1.tgz", - "integrity": "sha512-bYo+97BmUUOzg09XwfkwALt4PQH1M5L0wzKerBt6WLm3Fhdd43mMS89HiT1B9pJIqko/6lWx3OnV4J9f2Kqp5Q==", + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/reduce-unique": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/reduce-unique/-/reduce-unique-2.0.1.tgz", - "integrity": "sha512-x4jH/8L1eyZGR785WY+ePtyMNhycl1N2XOLxhCbzZFaqF4AXjLzqSxa2UHgJ2ZVR/HHyPOvl1L7xRnW8ye5MdA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/reduce-without": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/reduce-without/-/reduce-without-1.0.1.tgz", - "integrity": "sha512-zQv5y/cf85sxvdrKPlfcRzlDn/OqKFThNimYmsS3flmkioKvkUGn2Qg9cJVoQiEvdxFGLE0MQER/9fZ9sUqdxg==", - "dev": true, - "dependencies": { - "test-value": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/reduce-without/node_modules/array-back": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", - "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==", - "dev": true, - "dependencies": { - "typical": "^2.6.0" - }, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/reduce-without/node_modules/test-value": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz", - "integrity": "sha512-+1epbAxtKeXttkGFMTX9H42oqzOTufR1ceCF+GYA5aOmvaPq9wd4PUS8329fn2RRLGNeUkgRLnVpycjx8DsO2w==", - "dev": true, - "dependencies": { - "array-back": "^1.0.3", - "typical": "^2.6.0" - }, - "engines": { - "node": ">=0.10.0" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, "node_modules/requizzle": { "version": "0.2.4", @@ -846,6 +822,39 @@ "lodash": "^4.17.21" } }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, "node_modules/sort-array": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/sort-array/-/sort-array-5.0.0.tgz", @@ -867,15 +876,6 @@ } } }, - "node_modules/sort-array/node_modules/typical": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-7.2.0.tgz", - "integrity": "sha512-W1+HdVRUl8fS3MZ9ogD51GOb46xMmhAZzR0WPw5jcgIZQJVvkddYzAl4YTU6g5w33Y1iRQLdIi2/1jhi2RNL0g==", - "dev": true, - "engines": { - "node": ">=12.17" - } - }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -885,40 +885,6 @@ "node": ">=0.10.0" } }, - "node_modules/stream-connect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/stream-connect/-/stream-connect-1.0.2.tgz", - "integrity": "sha512-68Kl+79cE0RGKemKkhxTSg8+6AGrqBt+cbZAXevg2iJ6Y3zX4JhA/sZeGzLpxW9cXhmqAcE7KnJCisUmIUfnFQ==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", - "dev": true, - "dependencies": { - "array-back": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stream-connect/node_modules/array-back": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz", - "integrity": "sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==", - "dev": true, - "dependencies": { - "typical": "^2.6.0" - }, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/stream-via": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/stream-via/-/stream-via-1.0.4.tgz", - "integrity": "sha512-DBp0lSvX5G9KGRDTkR/R+a29H+Wk2xItOF+MpZLLNDWbEV9tGPnqLPxHEYjmiz8xGtJHRIqmI+hCjmNzqoA4nQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -931,63 +897,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/table-layout": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.4.5.tgz", - "integrity": "sha512-zTvf0mcggrGeTe/2jJ6ECkJHAQPIYEwDoqsiqBjI24mvRmQbInK5jq33fyypaCBxX08hMkfmdOqj6haT33EqWw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-4.1.1.tgz", + "integrity": "sha512-iK5/YhZxq5GO5z8wb0bY1317uDF3Zjpha0QFFLA8/trAoiLbQD0HUbMesEaxyzUgDxi2QlcbM8IvqOlEjgoXBA==", "dev": true, "dependencies": { - "array-back": "^2.0.0", - "deep-extend": "~0.6.0", - "lodash.padend": "^4.6.1", - "typical": "^2.6.1", - "wordwrapjs": "^3.0.0" + "array-back": "^6.2.2", + "wordwrapjs": "^5.1.0" }, "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/table-layout/node_modules/array-back": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", - "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", - "dev": true, - "dependencies": { - "typical": "^2.6.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/temp-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/temp-path/-/temp-path-1.0.0.tgz", - "integrity": "sha512-TvmyH7kC6ZVTYkqCODjJIbgvu0FKiwQpZ4D1aknE7xpcDf/qEOB8KZEK5ef2pfbVoiBhNWs3yx4y+ESMtNYmlg==", - "dev": true - }, - "node_modules/test-value": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/test-value/-/test-value-3.0.0.tgz", - "integrity": "sha512-sVACdAWcZkSU9x7AOmJo5TqE+GyNJknHaHsMrR6ZnhjVlVN9Yx6FjHrsKZ3BjIpPCT68zYesPWkakrNupwfOTQ==", - "dev": true, - "dependencies": { - "array-back": "^2.0.0", - "typical": "^2.6.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/test-value/node_modules/array-back": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz", - "integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==", - "dev": true, - "dependencies": { - "typical": "^2.6.1" - }, - "engines": { - "node": ">=4" + "node": ">=12.17" } }, "node_modules/to-fast-properties": { @@ -999,11 +931,26 @@ "node": ">=4" } }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, "node_modules/typical": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz", - "integrity": "sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==", - "dev": true + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/typical/-/typical-7.2.0.tgz", + "integrity": "sha512-W1+HdVRUl8fS3MZ9ogD51GOb46xMmhAZzR0WPw5jcgIZQJVvkddYzAl4YTU6g5w33Y1iRQLdIi2/1jhi2RNL0g==", + "dev": true, + "engines": { + "node": ">=12.17" + } }, "node_modules/uc.micro": { "version": "2.1.0", @@ -1046,33 +993,14 @@ "dev": true }, "node_modules/wordwrapjs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-3.0.0.tgz", - "integrity": "sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==", - "dev": true, - "dependencies": { - "reduce-flatten": "^1.0.1", - "typical": "^2.6.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/wordwrapjs/node_modules/reduce-flatten": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz", - "integrity": "sha512-j5WfFJfc9CoXv/WbwVLHq74i/hdTUpy+iNC534LxczMRP67vJeK3V9JOdnL0N1cIRbn9mYhE2yVjvvKXDxvNXQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-5.1.0.tgz", + "integrity": "sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=12.17" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, "node_modules/xmlcreate": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", diff --git a/spec/beef/core/main/command_spec.rb b/spec/beef/core/main/command_spec.rb index ad68e9a65..476bf6f2b 100644 --- a/spec/beef/core/main/command_spec.rb +++ b/spec/beef/core/main/command_spec.rb @@ -6,7 +6,7 @@ RSpec.describe 'BeEF Command class testing' do command_mock = BeEF::Core::Command.new('test_get_variable') expect(command_mock.config.beef_host).to eq('0.0.0.0') - require 'modules/browser/hooked_domain/get_page_links/module' + require 'modules/browser/hooked_origin/get_page_links/module' gpl = Get_page_links.new('test_get_variable') expect(gpl.config.beef_host).to eq('0.0.0.0') end diff --git a/spec/beef/extensions/xssrays_spec.rb b/spec/beef/extensions/xssrays_spec.rb index 4715f890b..b9d3673b6 100644 --- a/spec/beef/extensions/xssrays_spec.rb +++ b/spec/beef/extensions/xssrays_spec.rb @@ -16,7 +16,7 @@ RSpec.describe 'BeEF Extension XSSRays' do config = @config.get('beef.extension.xssrays') expect(config).to have_key('enable') expect(config).to have_key('clean_timeout') - expect(config).to have_key('cross_domain') + expect(config).to have_key('cross_origin') end it 'interface' do diff --git a/spec/support/assets/config_new.yaml b/spec/support/assets/config_new.yaml index 9e1436953..98651cf99 100644 --- a/spec/support/assets/config_new.yaml +++ b/spec/support/assets/config_new.yaml @@ -74,7 +74,7 @@ beef: # For multiple origins use: "http://browserhacker.com, http://domain2.com" restful_api: allow_cors: false - cors_allowed_domains: "http://browserhacker.com" + cors_allowed_origins: "http://browserhacker.com" # Prefer WebSockets over XHR-polling when possible. websocket: