From 4fd8865e0ccc6f2f58b03b07ef6be4a1545d2ff0 Mon Sep 17 00:00:00 2001 From: h45h-1nclud3 <42008986+h45h-1nclud3@users.noreply.github.com> Date: Thu, 22 Jun 2023 17:35:31 +0300 Subject: [PATCH] Update ExtractIPAddresses.mjs to include Defanged IPv4 Addresses --- src/core/operations/ExtractIPAddresses.mjs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/core/operations/ExtractIPAddresses.mjs b/src/core/operations/ExtractIPAddresses.mjs index 95e0a50f..7d453fd8 100644 --- a/src/core/operations/ExtractIPAddresses.mjs +++ b/src/core/operations/ExtractIPAddresses.mjs @@ -40,6 +40,12 @@ class ExtractIPAddresses extends Operation { type: "boolean", value: false }, + , + { + name: "Defanged IPv4 Addresses", + type: "boolean", + value: false + }, { name: "Display total", type: "boolean", @@ -64,8 +70,9 @@ class ExtractIPAddresses extends Operation { * @returns {string} */ run(input, args) { - const [includeIpv4, includeIpv6, removeLocal, displayTotal, sort, unique] = args, + const [includeIpv4, includeIpv6, removeLocal, includeDefangedIpv4, displayTotal, sort, unique] = args, ipv4 = "(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:\\/\\d{1,2})?", + ipv4_defanged = "(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\[\\.\\]){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:\\/\\d{1,2})?", ipv6 = "((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|(?![\\dA-F])))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})"; let ips = ""; @@ -73,6 +80,10 @@ class ExtractIPAddresses extends Operation { ips = ipv4 + "|" + ipv6; } else if (includeIpv4) { ips = ipv4; + } else if (includeIpv4 && includeDefangedIpv4){ + ips = ipv4 + "|" + ipv4_defanged + } else if (includeIpv4 && includeDefangedIpv4 && includeIpv6){ + ips = ipv4 + "|" + ipv4_defanged + "|" + ipv6 } else if (includeIpv6) { ips = ipv6; }