diff --git a/core/module_protocols/http.py b/core/module_protocols/http.py index 70588f038..b5bf0e23b 100644 --- a/core/module_protocols/http.py +++ b/core/module_protocols/http.py @@ -2,17 +2,41 @@ # -*- coding: utf-8 -*- import re -import requests +import aiohttp +import asyncio import copy import random +import time from core.utility import reverse_and_regex_condition from core.utility import process_conditions from core.utility import get_dependent_results_from_database from core.utility import replace_dependent_values from core.utility import replace_dependent_response -from requests.packages.urllib3.exceptions import InsecureRequestWarning -requests.packages.urllib3.disable_warnings(InsecureRequestWarning) + +async def perform_request_action(action, request_options): + start_time = time.time() + async with action(**request_options) as response: + return { + "reason": response.reason, + "status_code": str(response.status), + "content": await response.content.read(), + "headers": dict(response.headers), + "responsetime": time.time() - start_time + } + + +async def send_request(request_options, method): + async with aiohttp.ClientSession() as session: + action = getattr(session, method, None) + response = await asyncio.gather( + *[ + asyncio.ensure_future( + perform_request_action(action, request_options) + ) + ] + ) + return response[0] def response_conditions_matched(sub_step, response): @@ -71,18 +95,18 @@ def response_conditions_matched(sub_step, response): ) or ( 'headers' in condition_results and ( - - len(list(condition_results.values())) + - len(list(condition_results['headers'].values())) - - list(condition_results.values()).count([]) - - list(condition_results['headers'].values()).count([]) - - 1 != 0 + + len(list(condition_results.values())) + + len(list(condition_results['headers'].values())) - + list(condition_results.values()).count([]) - + list(condition_results['headers'].values()).count([]) - + 1 != 0 ) - ): - if sub_step['response'].get('log',False): - condition_results['log']=sub_step['response']['log'] + ): + if sub_step['response'].get('log', False): + condition_results['log'] = sub_step['response']['log'] if 'response_dependent' in condition_results['log']: - condition_results['log'] = replace_dependent_response(condition_results['log'],condition_results) + condition_results['log'] = replace_dependent_response(condition_results['log'], condition_results) return condition_results else: return {} @@ -91,10 +115,10 @@ def response_conditions_matched(sub_step, response): ('headers' in condition_results and [] in condition_results['headers'].values()): return {} else: - if sub_step['response'].get('log',False): - condition_results['log']=sub_step['response']['log'] + if sub_step['response'].get('log', False): + condition_results['log'] = sub_step['response']['log'] if 'response_dependent' in condition_results['log']: - condition_results['log'] = replace_dependent_response(condition_results['log'],condition_results) + condition_results['log'] = replace_dependent_response(condition_results['log'], condition_results) return condition_results return {} @@ -114,8 +138,8 @@ def run( ): backup_method = copy.deepcopy(sub_step['method']) backup_response = copy.deepcopy(sub_step['response']) - backup_iterative_response_match = copy.deepcopy(sub_step['response']['conditions'].get('iterative_response_match',None)) - action = getattr(requests, backup_method, None) + backup_iterative_response_match = copy.deepcopy( + sub_step['response']['conditions'].get('iterative_response_match', None)) if options['user_agent'] == 'random_user_agent': sub_step['headers']['User-Agent'] = random.choice(options['user_agents']) del sub_step['method'] @@ -134,33 +158,29 @@ def run( del sub_step['response'] for _ in range(options['retries']): try: - response = action(**sub_step) - response = { - "reason": response.reason, - "status_code": str(response.status_code), - "content": response.content.decode(errors="ignore"), - "headers": dict(response.headers), - "responsetime": response.elapsed.total_seconds() - } + response = asyncio.run(send_request(sub_step, backup_method)) + response['content'] = response['content'].decode(errors="ignore") break except Exception: response = [] sub_step['method'] = backup_method sub_step['response'] = backup_response - + if backup_iterative_response_match != None: - backup_iterative_response_match = copy.deepcopy(sub_step['response']['conditions'].get('iterative_response_match')) + backup_iterative_response_match = copy.deepcopy( + sub_step['response']['conditions'].get('iterative_response_match')) del sub_step['response']['conditions']['iterative_response_match'] sub_step['response']['conditions_results'] = response_conditions_matched(sub_step, response) - if backup_iterative_response_match != None and (sub_step['response']['conditions_results'] or sub_step['response']['condition_type']=='or') : + if backup_iterative_response_match != None and ( + sub_step['response']['conditions_results'] or sub_step['response']['condition_type'] == 'or'): sub_step['response']['conditions']['iterative_response_match'] = backup_iterative_response_match for key in sub_step['response']['conditions']['iterative_response_match']: result = response_conditions_matched( - sub_step['response']['conditions']['iterative_response_match'][key],response) + sub_step['response']['conditions']['iterative_response_match'][key], response) if result: - sub_step['response']['conditions_results'][key]=result + sub_step['response']['conditions_results'][key] = result return process_conditions( sub_step, diff --git a/modules/scan/admin.yaml b/modules/scan/admin.yaml index b8153dbee..42a945270 100644 --- a/modules/scan/admin.yaml +++ b/modules/scan/admin.yaml @@ -14,11 +14,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/scan/drupal_modules.yaml b/modules/scan/drupal_modules.yaml index 08c4376c1..4b3fd4c7b 100644 --- a/modules/scan/drupal_modules.yaml +++ b/modules/scan/drupal_modules.yaml @@ -15,11 +15,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/scan/drupal_theme.yaml b/modules/scan/drupal_theme.yaml index e202cc04f..b347a6597 100644 --- a/modules/scan/drupal_theme.yaml +++ b/modules/scan/drupal_theme.yaml @@ -15,11 +15,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/scan/drupal_version.yaml b/modules/scan/drupal_version.yaml index b36f6013c..a5328502a 100644 --- a/modules/scan/drupal_version.yaml +++ b/modules/scan/drupal_version.yaml @@ -15,11 +15,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/scan/joomla_template.yaml b/modules/scan/joomla_template.yaml index 3dd13bef0..e1ed844ee 100644 --- a/modules/scan/joomla_template.yaml +++ b/modules/scan/joomla_template.yaml @@ -15,11 +15,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/scan/joomla_user_enum.yaml b/modules/scan/joomla_user_enum.yaml index 9bf8ebec0..688981409 100644 --- a/modules/scan/joomla_user_enum.yaml +++ b/modules/scan/joomla_user_enum.yaml @@ -15,11 +15,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/scan/joomla_version.yaml b/modules/scan/joomla_version.yaml index e6612ce4c..5ee0c241e 100644 --- a/modules/scan/joomla_version.yaml +++ b/modules/scan/joomla_version.yaml @@ -15,11 +15,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/scan/pma.yaml b/modules/scan/pma.yaml index 4b602c1d7..34531417d 100644 --- a/modules/scan/pma.yaml +++ b/modules/scan/pma.yaml @@ -14,11 +14,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/scan/subdomain.yaml b/modules/scan/subdomain.yaml index 5cea63c43..0255a5783 100644 --- a/modules/scan/subdomain.yaml +++ b/modules/scan/subdomain.yaml @@ -15,11 +15,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" url: "https://jldc.me/anubis/subdomains/{target}" @@ -33,11 +29,7 @@ payloads: regex: "\"([a-zA-Z0-9\\-\\_.\\s]+)\"" reverse: false - method: post - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" url: "https://api.certspotter.com/v1/issuances?domain={target}&expand=dns_names&expand=issuer" @@ -51,11 +43,7 @@ payloads: regex: "\"([a-zA-Z0-9\\-\\_.\\s]+.{target})\"" reverse: false - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" url: "https://www.threatcrowd.org/searchApi/v2/domain/report/?domain={target}" @@ -70,11 +58,7 @@ payloads: reverse: false - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" url: "https://urlscan.io/api/v1/search/?q=domain:{target}" @@ -89,11 +73,7 @@ payloads: reverse: false - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" url: "https://dns.bufferover.run/dns?q={target}" @@ -108,11 +88,7 @@ payloads: reverse: false - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" url: "https://otx.alienvault.com/api/v1/indicator/domain/{target}/passive_dns" @@ -127,11 +103,7 @@ payloads: reverse: false - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" url: "https://api.threatminer.org/v2/domain.php?q={target}&api=True&rt=5" @@ -146,11 +118,7 @@ payloads: reverse: false - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" url: "https://crt.sh/?q=%.{target}" @@ -164,11 +132,7 @@ payloads: regex: "[a-zA-Z0-9\\-\\_\\s]+[\\.]+[a-zA-Z0-9\\-\\_\\s]+\\.{target}" reverse: false - method: post - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" url: "https://hackertarget.com/find-dns-host-records/" @@ -188,11 +152,7 @@ payloads: reverse: false - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" url: "https://dnsdumpster.com/" @@ -212,11 +172,7 @@ payloads: reverse: false - method: post - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" Referer: "https://dnsdumpster.com/" @@ -238,11 +194,7 @@ payloads: reverse: false - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" url: "https://toolbox.googleapps.com/apps/dig/#ANY/" @@ -262,11 +214,7 @@ payloads: reverse: false - method: post - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" Referer: "https://toolbox.googleapps.com/apps/dig/" diff --git a/modules/scan/viewdns_reverse_iplookup.yaml b/modules/scan/viewdns_reverse_iplookup.yaml index d28811730..f3e8d1fa2 100644 --- a/modules/scan/viewdns_reverse_iplookup.yaml +++ b/modules/scan/viewdns_reverse_iplookup.yaml @@ -15,11 +15,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" url: diff --git a/modules/scan/waf.yaml b/modules/scan/waf.yaml index 790734a63..a8aecdd16 100644 --- a/modules/scan/waf.yaml +++ b/modules/scan/waf.yaml @@ -15,11 +15,7 @@ payloads: - library: http steps: - method: get ## meant to store the response - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: true @@ -46,11 +42,7 @@ payloads: reverse: false - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: true diff --git a/modules/scan/web_technologies.yaml b/modules/scan/web_technologies.yaml index 842f352fa..60f83d983 100644 --- a/modules/scan/web_technologies.yaml +++ b/modules/scan/web_technologies.yaml @@ -17,11 +17,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/scan/wordpress_version.yaml b/modules/scan/wordpress_version.yaml index cf1160cc3..796ee92ec 100644 --- a/modules/scan/wordpress_version.yaml +++ b/modules/scan/wordpress_version.yaml @@ -16,11 +16,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/scan/wp_plugin.yaml b/modules/scan/wp_plugin.yaml index e2a2336ce..98557b136 100644 --- a/modules/scan/wp_plugin.yaml +++ b/modules/scan/wp_plugin.yaml @@ -16,11 +16,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/scan/wp_theme.yaml b/modules/scan/wp_theme.yaml index 4a6805a80..fd989097b 100644 --- a/modules/scan/wp_theme.yaml +++ b/modules/scan/wp_theme.yaml @@ -17,11 +17,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/scan/wp_timethumbs.yaml b/modules/scan/wp_timethumbs.yaml index 36ecbeace..261c1c51e 100644 --- a/modules/scan/wp_timethumbs.yaml +++ b/modules/scan/wp_timethumbs.yaml @@ -17,11 +17,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/accela_cve_2021_34370.yaml b/modules/vuln/accela_cve_2021_34370.yaml index f125da182..9612f3f71 100644 --- a/modules/vuln/accela_cve_2021_34370.yaml +++ b/modules/vuln/accela_cve_2021_34370.yaml @@ -20,11 +20,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" url: diff --git a/modules/vuln/apache_cve_2021_41773.yaml b/modules/vuln/apache_cve_2021_41773.yaml index 26b98989d..3a3e04340 100644 --- a/modules/vuln/apache_cve_2021_41773.yaml +++ b/modules/vuln/apache_cve_2021_41773.yaml @@ -21,11 +21,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" url: diff --git a/modules/vuln/apache_cve_2021_42013.yaml b/modules/vuln/apache_cve_2021_42013.yaml index 93b9d2f4f..86ba9a8b4 100644 --- a/modules/vuln/apache_cve_2021_42013.yaml +++ b/modules/vuln/apache_cve_2021_42013.yaml @@ -21,11 +21,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" Host: '{target}' diff --git a/modules/vuln/apache_struts.yaml b/modules/vuln/apache_struts.yaml index 5e97d85df..81c87ccfe 100644 --- a/modules/vuln/apache_struts.yaml +++ b/modules/vuln/apache_struts.yaml @@ -15,11 +15,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" Content-Type: diff --git a/modules/vuln/aviatrix_cve_2021_40870.yaml b/modules/vuln/aviatrix_cve_2021_40870.yaml index ffbdea67b..51f3934b2 100644 --- a/modules/vuln/aviatrix_cve_2021_40870.yaml +++ b/modules/vuln/aviatrix_cve_2021_40870.yaml @@ -20,11 +20,7 @@ payloads: - library: http steps: - method: post - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" Host: "{target}" @@ -53,11 +49,7 @@ payloads: reverse: false - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" Host: "{target}" diff --git a/modules/vuln/cisco_hyperflex_cve_2021_1497.yaml b/modules/vuln/cisco_hyperflex_cve_2021_1497.yaml index af1af49b6..3a746e235 100644 --- a/modules/vuln/cisco_hyperflex_cve_2021_1497.yaml +++ b/modules/vuln/cisco_hyperflex_cve_2021_1497.yaml @@ -19,11 +19,7 @@ payloads: - library: http steps: - method: post - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: Accept: "*/*" Content-Type: application/x-www-form-urlencoded diff --git a/modules/vuln/citrix_cve_2019_19781.yaml b/modules/vuln/citrix_cve_2019_19781.yaml index f3bcf314c..4881305fa 100644 --- a/modules/vuln/citrix_cve_2019_19781.yaml +++ b/modules/vuln/citrix_cve_2019_19781.yaml @@ -17,11 +17,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/clickjacking.yaml b/modules/vuln/clickjacking.yaml index cca97e73a..cafd58521 100644 --- a/modules/vuln/clickjacking.yaml +++ b/modules/vuln/clickjacking.yaml @@ -14,11 +14,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/cloudron_cve_2021_40868.yaml b/modules/vuln/cloudron_cve_2021_40868.yaml index 5cb6d9cfd..22351ce55 100644 --- a/modules/vuln/cloudron_cve_2021_40868.yaml +++ b/modules/vuln/cloudron_cve_2021_40868.yaml @@ -20,11 +20,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/content_security_policy.yaml b/modules/vuln/content_security_policy.yaml index 17c200b89..a5aa32410 100644 --- a/modules/vuln/content_security_policy.yaml +++ b/modules/vuln/content_security_policy.yaml @@ -15,11 +15,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/content_type_options.yaml b/modules/vuln/content_type_options.yaml index 0f419f355..889bc540e 100644 --- a/modules/vuln/content_type_options.yaml +++ b/modules/vuln/content_type_options.yaml @@ -14,11 +14,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/cyberoam_netgenie_cve_2021_38702.yaml b/modules/vuln/cyberoam_netgenie_cve_2021_38702.yaml index 9ce7069a6..3c01731ec 100644 --- a/modules/vuln/cyberoam_netgenie_cve_2021_38702.yaml +++ b/modules/vuln/cyberoam_netgenie_cve_2021_38702.yaml @@ -21,11 +21,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/exponent_cms_cve_2021_38751.yaml b/modules/vuln/exponent_cms_cve_2021_38751.yaml index e2abfabf7..46cb1832f 100644 --- a/modules/vuln/exponent_cms_cve_2021_38751.yaml +++ b/modules/vuln/exponent_cms_cve_2021_38751.yaml @@ -19,11 +19,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" Host: "random_string_1.com" diff --git a/modules/vuln/f5_cve_2020_5902.yaml b/modules/vuln/f5_cve_2020_5902.yaml index ba4b40400..77a4914ae 100644 --- a/modules/vuln/f5_cve_2020_5902.yaml +++ b/modules/vuln/f5_cve_2020_5902.yaml @@ -16,11 +16,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/forgerock_am_cve_2021_35464.yaml b/modules/vuln/forgerock_am_cve_2021_35464.yaml index ae15b44f9..9f6a69f53 100644 --- a/modules/vuln/forgerock_am_cve_2021_35464.yaml +++ b/modules/vuln/forgerock_am_cve_2021_35464.yaml @@ -20,11 +20,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" url: diff --git a/modules/vuln/galera_webtemp_cve_2021_40960.yaml b/modules/vuln/galera_webtemp_cve_2021_40960.yaml index 576df80b2..e176c4c13 100644 --- a/modules/vuln/galera_webtemp_cve_2021_40960.yaml +++ b/modules/vuln/galera_webtemp_cve_2021_40960.yaml @@ -20,11 +20,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/grafana_cve_2021_43798.yaml b/modules/vuln/grafana_cve_2021_43798.yaml index c37bf053e..3c3936975 100644 --- a/modules/vuln/grafana_cve_2021_43798.yaml +++ b/modules/vuln/grafana_cve_2021_43798.yaml @@ -18,11 +18,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/graphql.yaml b/modules/vuln/graphql.yaml index 323fc9345..119d693c4 100644 --- a/modules/vuln/graphql.yaml +++ b/modules/vuln/graphql.yaml @@ -15,11 +15,7 @@ payloads: - library: http steps: - method: post - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/gurock_testrail_cve_2021_40875.yaml b/modules/vuln/gurock_testrail_cve_2021_40875.yaml index bea1ad181..0484e4035 100644 --- a/modules/vuln/gurock_testrail_cve_2021_40875.yaml +++ b/modules/vuln/gurock_testrail_cve_2021_40875.yaml @@ -20,11 +20,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/hoteldruid_cve_2021-37833.yaml b/modules/vuln/hoteldruid_cve_2021-37833.yaml index 803121328..cf08e5884 100644 --- a/modules/vuln/hoteldruid_cve_2021-37833.yaml +++ b/modules/vuln/hoteldruid_cve_2021-37833.yaml @@ -20,11 +20,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/http_cookie.yaml b/modules/vuln/http_cookie.yaml index 121ee6c65..63e49eaf9 100644 --- a/modules/vuln/http_cookie.yaml +++ b/modules/vuln/http_cookie.yaml @@ -16,11 +16,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/http_cors.yaml b/modules/vuln/http_cors.yaml index 3006ae757..36dfe851a 100644 --- a/modules/vuln/http_cors.yaml +++ b/modules/vuln/http_cors.yaml @@ -14,11 +14,7 @@ payloads: - library: http steps: - method: get # post-domain - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" Origin: @@ -54,11 +50,7 @@ payloads: reverse: false - method: get # pre-domain - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" Origin: @@ -95,11 +87,7 @@ payloads: #Unescaped Regex needs to be improved. WIP. - method: get # unescaped regex - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" Origin: @@ -135,11 +123,7 @@ payloads: reverse: false - method: get # unrecognized underscore - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" Origin: @@ -175,11 +159,7 @@ payloads: reverse: false - method: get # broken parser - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" Origin: @@ -215,11 +195,7 @@ payloads: reverse: false - method: get # Null origin - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" Origin: @@ -255,11 +231,7 @@ payloads: reverse: false - method: get # Only HTTP - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" #http://owasp.org Origin: "http://{target}" @@ -286,11 +258,7 @@ payloads: reverse: false - method: get # Wild card - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" Origin: @@ -326,11 +294,7 @@ payloads: reverse: false - method: get # origin reflected - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" Origin: diff --git a/modules/vuln/http_options_enabled.yaml b/modules/vuln/http_options_enabled.yaml index 574a2f91c..1c44fb3ef 100644 --- a/modules/vuln/http_options_enabled.yaml +++ b/modules/vuln/http_options_enabled.yaml @@ -14,11 +14,7 @@ payloads: - library: http steps: - method: options - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/http_trace_enabled.yaml b/modules/vuln/http_trace_enabled.yaml deleted file mode 100644 index 760285ecb..000000000 --- a/modules/vuln/http_trace_enabled.yaml +++ /dev/null @@ -1,43 +0,0 @@ -info: - name: http_trace_enabled_vuln - author: OWASP Nettacker Team - severity: 3 - description: - reference: - profiles: - - vuln - - vulnerability - - http - - low_severity - -payloads: - - library: http - steps: - - method: TRACE - verify: false - timeout: 3 - cert: "" - stream: false - proxies: "" - headers: - User-Agent: "{user_agent}" - allow_redirects: false - url: - nettacker_fuzzer: - input_format: "{{schema}}://{target}:{{ports}}/" - prefix: "" - suffix: "" - interceptors: - data: - schema: - - "http" - - "https" - ports: - - 80 - - 443 - response: - condition_type: or - conditions: - status_code: - regex: "[2-3][0-9][0-9]" - reverse: true diff --git a/modules/vuln/justwirting_cve_2021_41878.yaml b/modules/vuln/justwirting_cve_2021_41878.yaml index d5e4e478b..aac92dcc8 100644 --- a/modules/vuln/justwirting_cve_2021_41878.yaml +++ b/modules/vuln/justwirting_cve_2021_41878.yaml @@ -20,11 +20,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/log4j_cve_2021_44228.yaml b/modules/vuln/log4j_cve_2021_44228.yaml index 0b2b7cc3e..ae4b430e1 100644 --- a/modules/vuln/log4j_cve_2021_44228.yaml +++ b/modules/vuln/log4j_cve_2021_44228.yaml @@ -20,11 +20,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" url: "https://log4shell.huntress.com/" @@ -40,11 +36,7 @@ payloads: reverse: false - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: - A-IM: "${{jndi:ldap://log4shell.huntress.com:1389/dependent_on_temp_event[0]['content'][0]}}" - Accept: "${{jndi:ldap://log4shell.huntress.com:1389/dependent_on_temp_event[0]['content'][0]}}" @@ -129,11 +121,7 @@ payloads: reverse: false - method: options - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: - A-IM: "${{jndi:ldap://log4shell.huntress.com:1389/dependent_on_temp_event[0]['content'][0]}}" - Accept: "${{jndi:ldap://log4shell.huntress.com:1389/dependent_on_temp_event[0]['content'][0]}}" @@ -219,11 +207,7 @@ payloads: reverse: false - method: head - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: - A-IM: "${{jndi:ldap://log4shell.huntress.com:1389/dependent_on_temp_event[0]['content'][0]}}" - Accept: "${{jndi:ldap://log4shell.huntress.com:1389/dependent_on_temp_event[0]['content'][0]}}" @@ -309,11 +293,7 @@ payloads: reverse: false - method: post - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: - A-IM: "${{jndi:ldap://log4shell.huntress.com:1389/dependent_on_temp_event[0]['content'][0]}}" - Accept: "${{jndi:ldap://log4shell.huntress.com:1389/dependent_on_temp_event[0]['content'][0]}}" @@ -401,11 +381,7 @@ payloads: - method: put - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: - A-IM: "${{jndi:ldap://log4shell.huntress.com:1389/dependent_on_temp_event[0]['content'][0]}}" - Accept: "${{jndi:ldap://log4shell.huntress.com:1389/dependent_on_temp_event[0]['content'][0]}}" @@ -491,11 +467,7 @@ payloads: reverse: false - method: patch - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: - A-IM: "${{jndi:ldap://log4shell.huntress.com:1389/dependent_on_temp_event[0]['content'][0]}}" - Accept: "${{jndi:ldap://log4shell.huntress.com:1389/dependent_on_temp_event[0]['content'][0]}}" @@ -581,11 +553,7 @@ payloads: reverse: false - method: delete - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: - A-IM: "${{jndi:ldap://log4shell.huntress.com:1389/dependent_on_temp_event[0]['content'][0]}}" - Accept: "${{jndi:ldap://log4shell.huntress.com:1389/dependent_on_temp_event[0]['content'][0]}}" @@ -672,11 +640,7 @@ payloads: # this request must stay in -1 position - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" url: diff --git a/modules/vuln/maxsite_cms_cve_2021_35265.yaml b/modules/vuln/maxsite_cms_cve_2021_35265.yaml index 5ce50e70a..ccbf5aedc 100644 --- a/modules/vuln/maxsite_cms_cve_2021_35265.yaml +++ b/modules/vuln/maxsite_cms_cve_2021_35265.yaml @@ -20,11 +20,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/msexchange_cve_2021_26855.yaml b/modules/vuln/msexchange_cve_2021_26855.yaml index fbc3ae5f4..e4a1fcb50 100644 --- a/modules/vuln/msexchange_cve_2021_26855.yaml +++ b/modules/vuln/msexchange_cve_2021_26855.yaml @@ -17,11 +17,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" allow_redirects: false headers: User-Agent: "{user_agent}" diff --git a/modules/vuln/msexchange_cve_2021_34473.yaml b/modules/vuln/msexchange_cve_2021_34473.yaml index 8c50c67cf..c9700a2f5 100644 --- a/modules/vuln/msexchange_cve_2021_34473.yaml +++ b/modules/vuln/msexchange_cve_2021_34473.yaml @@ -20,11 +20,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" allow_redirects: false headers: User-Agent: "{user_agent}" diff --git a/modules/vuln/novnc_cve_2021_3654.yaml b/modules/vuln/novnc_cve_2021_3654.yaml index f1c884d56..10fc7d55d 100644 --- a/modules/vuln/novnc_cve_2021_3654.yaml +++ b/modules/vuln/novnc_cve_2021_3654.yaml @@ -20,11 +20,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" url: diff --git a/modules/vuln/omigod_cve_2021_38647.yaml b/modules/vuln/omigod_cve_2021_38647.yaml index bc6da2c0c..3a86e1c69 100644 --- a/modules/vuln/omigod_cve_2021_38647.yaml +++ b/modules/vuln/omigod_cve_2021_38647.yaml @@ -20,11 +20,7 @@ payloads: - library: http steps: - method: post - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" allow_redirects: false headers: User-Agent: "{user_agent}" diff --git a/modules/vuln/payara_cve_2021_41381.yaml b/modules/vuln/payara_cve_2021_41381.yaml index 993e8f042..10bf903a8 100644 --- a/modules/vuln/payara_cve_2021_41381.yaml +++ b/modules/vuln/payara_cve_2021_41381.yaml @@ -20,11 +20,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/phpinfo_cve_2021_37704.yaml b/modules/vuln/phpinfo_cve_2021_37704.yaml index 7a21d69b6..d9dc5957a 100644 --- a/modules/vuln/phpinfo_cve_2021_37704.yaml +++ b/modules/vuln/phpinfo_cve_2021_37704.yaml @@ -20,11 +20,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/placeos_cve_2021_41826.yaml b/modules/vuln/placeos_cve_2021_41826.yaml index efb226699..38a555e6e 100644 --- a/modules/vuln/placeos_cve_2021_41826.yaml +++ b/modules/vuln/placeos_cve_2021_41826.yaml @@ -20,11 +20,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" url: diff --git a/modules/vuln/prestashop_cve_2021_37538.yaml b/modules/vuln/prestashop_cve_2021_37538.yaml index 803a2753e..d291ad26b 100644 --- a/modules/vuln/prestashop_cve_2021_37538.yaml +++ b/modules/vuln/prestashop_cve_2021_37538.yaml @@ -20,11 +20,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/puneethreddyhc_sqli_cve_2021_41648.yaml b/modules/vuln/puneethreddyhc_sqli_cve_2021_41648.yaml index 5b768837a..8c1998a73 100644 --- a/modules/vuln/puneethreddyhc_sqli_cve_2021_41648.yaml +++ b/modules/vuln/puneethreddyhc_sqli_cve_2021_41648.yaml @@ -19,11 +19,7 @@ payloads: - library: http steps: - method: post - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/puneethreddyhc_sqli_cve_2021_41649.yaml b/modules/vuln/puneethreddyhc_sqli_cve_2021_41649.yaml index 7dd62b9c9..329ffd657 100644 --- a/modules/vuln/puneethreddyhc_sqli_cve_2021_41649.yaml +++ b/modules/vuln/puneethreddyhc_sqli_cve_2021_41649.yaml @@ -19,11 +19,7 @@ payloads: - library: http steps: - method: post - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/qsan_storage_xss_cve_2021_37216.yaml b/modules/vuln/qsan_storage_xss_cve_2021_37216.yaml index 726823bfe..cff370433 100644 --- a/modules/vuln/qsan_storage_xss_cve_2021_37216.yaml +++ b/modules/vuln/qsan_storage_xss_cve_2021_37216.yaml @@ -19,11 +19,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" X-Trigger-XSS: "" diff --git a/modules/vuln/server_version.yaml b/modules/vuln/server_version.yaml index b8ca67307..74b3a81d4 100644 --- a/modules/vuln/server_version.yaml +++ b/modules/vuln/server_version.yaml @@ -14,11 +14,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/strict_transport_security.yaml b/modules/vuln/strict_transport_security.yaml index 49d764847..bb63d6ea1 100644 --- a/modules/vuln/strict_transport_security.yaml +++ b/modules/vuln/strict_transport_security.yaml @@ -16,11 +16,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/subdomain_takeover.yaml b/modules/vuln/subdomain_takeover.yaml index 22c6be3ac..153c25cf7 100644 --- a/modules/vuln/subdomain_takeover.yaml +++ b/modules/vuln/subdomain_takeover.yaml @@ -15,11 +15,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/tieline_cve_2021_35336.yaml b/modules/vuln/tieline_cve_2021_35336.yaml index 3e1cb0ec6..fd575ad46 100644 --- a/modules/vuln/tieline_cve_2021_35336.yaml +++ b/modules/vuln/tieline_cve_2021_35336.yaml @@ -19,11 +19,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: Authorization: 'Digest username="admin", realm="Bridge-IT", nonce="d24d09512ebc3e43c4f6faf34fdb8c76", uri="/api/get_device_details", response="d052e9299debc7bd9cb8adef0a83fed4", qop=auth, nc=00000001, cnonce="ae373d748855243d"' Referer: diff --git a/modules/vuln/tjws_cve_2021_37573.yaml b/modules/vuln/tjws_cve_2021_37573.yaml index 2d1ac404e..27a126f57 100644 --- a/modules/vuln/tjws_cve_2021_37573.yaml +++ b/modules/vuln/tjws_cve_2021_37573.yaml @@ -19,11 +19,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/vbulletin_cve_2019_16759.yaml b/modules/vuln/vbulletin_cve_2019_16759.yaml index 309915fdd..7a33c560b 100644 --- a/modules/vuln/vbulletin_cve_2019_16759.yaml +++ b/modules/vuln/vbulletin_cve_2019_16759.yaml @@ -16,11 +16,7 @@ payloads: - library: http steps: - method: post - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/wp_plugin_cve_2021_38314.yaml b/modules/vuln/wp_plugin_cve_2021_38314.yaml index 41edfff9c..0df1af164 100644 --- a/modules/vuln/wp_plugin_cve_2021_38314.yaml +++ b/modules/vuln/wp_plugin_cve_2021_38314.yaml @@ -21,11 +21,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" Accept: "*/*" diff --git a/modules/vuln/wp_plugin_cve_2021_39316.yaml b/modules/vuln/wp_plugin_cve_2021_39316.yaml index f6c70687e..1c7bcbd0c 100644 --- a/modules/vuln/wp_plugin_cve_2021_39316.yaml +++ b/modules/vuln/wp_plugin_cve_2021_39316.yaml @@ -21,11 +21,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/wp_plugin_cve_2021_39320.yaml b/modules/vuln/wp_plugin_cve_2021_39320.yaml index 4a4075f6c..0db006da8 100644 --- a/modules/vuln/wp_plugin_cve_2021_39320.yaml +++ b/modules/vuln/wp_plugin_cve_2021_39320.yaml @@ -21,11 +21,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/wp_xmlrpc_bruteforce.yaml b/modules/vuln/wp_xmlrpc_bruteforce.yaml index 9047d978d..371181a07 100644 --- a/modules/vuln/wp_xmlrpc_bruteforce.yaml +++ b/modules/vuln/wp_xmlrpc_bruteforce.yaml @@ -16,11 +16,7 @@ payloads: - library: http steps: - method: post - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" Content-Type: "text/xml" diff --git a/modules/vuln/wp_xmlrpc_dos.yaml b/modules/vuln/wp_xmlrpc_dos.yaml index 1ff536850..b10ba639e 100644 --- a/modules/vuln/wp_xmlrpc_dos.yaml +++ b/modules/vuln/wp_xmlrpc_dos.yaml @@ -15,11 +15,7 @@ payloads: - library: http steps: - method: post - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" Content-Type: "text/xml" diff --git a/modules/vuln/wp_xmlrpc_pingback.yaml b/modules/vuln/wp_xmlrpc_pingback.yaml index 4f71e7d83..93f2c636e 100644 --- a/modules/vuln/wp_xmlrpc_pingback.yaml +++ b/modules/vuln/wp_xmlrpc_pingback.yaml @@ -15,11 +15,7 @@ payloads: - library: http steps: - method: post - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" Content-Type: "text/xml" diff --git a/modules/vuln/x_powered_by.yaml b/modules/vuln/x_powered_by.yaml index d977f7977..56654e2e6 100644 --- a/modules/vuln/x_powered_by.yaml +++ b/modules/vuln/x_powered_by.yaml @@ -14,11 +14,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/x_xss_protection.yaml b/modules/vuln/x_xss_protection.yaml index c19be0e0d..673bdebe0 100644 --- a/modules/vuln/x_xss_protection.yaml +++ b/modules/vuln/x_xss_protection.yaml @@ -14,11 +14,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/xdebug_rce.yaml b/modules/vuln/xdebug_rce.yaml index 35c92b951..b16900b1e 100644 --- a/modules/vuln/xdebug_rce.yaml +++ b/modules/vuln/xdebug_rce.yaml @@ -15,11 +15,7 @@ payloads: - library: http steps: - method: get - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" allow_redirects: false diff --git a/modules/vuln/zoho_cve_2021_40539.yaml b/modules/vuln/zoho_cve_2021_40539.yaml index 10318675d..6c3974675 100644 --- a/modules/vuln/zoho_cve_2021_40539.yaml +++ b/modules/vuln/zoho_cve_2021_40539.yaml @@ -20,11 +20,7 @@ payloads: - library: http steps: - method: post - verify: false timeout: 3 - cert: "" - stream: false - proxies: "" headers: User-Agent: "{user_agent}" Host: {target} diff --git a/requirements.txt b/requirements.txt index 00955c89d..88b89c011 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,14 +1,16 @@ argparse==1.4.0 netaddr==0.8.0 ipaddr==2.2.0 -requests==2.26.0 +requests==2.28.1 +aiohttp==3.8.3 +asyncio==3.4.3 paramiko==2.11.0 texttable==1.6.4 PySocks==1.7.1 # library_name=socks # module name is not equal to socks name; this is required to be checked on startup -pyOpenSSL==21.0.0 # library_name=OpenSSL +pyOpenSSL==22.0.0 # library_name=OpenSSL flask==2.2.2 SQLAlchemy>=1.3.0 # library_name=sqlalchemy py3DNS==3.2.1 # library_name=DNS -numpy==1.23.1 +numpy==1.23.3 terminable_thread==0.7.1 PyYAML==6.0 # library_name=yaml \ No newline at end of file