Burp Scanner Report

Summary

The table below shows the numbers of issues identified in different categories. Issues are classified according to severity as High, Medium, Low or Information. This reflects the likely impact of each issue for a typical organization. Issues are also classified according to confidence as Certain, Firm or Tentative. This reflects the inherent reliability of the technique that was used to identify the issue.

    Confidence
    Certain Firm Tentative Total
Severity High 0 0 0 0
Medium 0 0 0 0
Low 3 0 0 3
Information 31 3 1 35

The chart below shows the aggregated numbers of issues identified in each category. Solid colored bars represent issues with a confidence level of Certain, and the bars fade as the confidence level falls.

    Number of issues
    0 1 2 3 4
Severity High
 
Medium
 
Low
 

Contents

1. Cross-site scripting (reflected)

1.1. https://myharbourshare.com/login [Referer HTTP header]

1.2. https://myharbourshare.com/login [User-Agent HTTP header]

2. Strict transport security not enforced

3. Path-relative style sheet import

4. Referer-dependent response

5. User agent-dependent response

6. Input returned in response (reflected)

6.1. https://myharbourshare.com/home [name of an arbitrarily supplied URL parameter]

6.2. https://myharbourshare.com/login [Referer HTTP header]

6.3. https://myharbourshare.com/login [User-Agent HTTP header]

6.4. https://myharbourshare.com/login [destinationurl parameter]

6.5. https://myharbourshare.com/login [name of an arbitrarily supplied URL parameter]

6.6. https://myharbourshare.com/static/css/login-style.css [URL path filename]

6.7. https://myharbourshare.com/static/css/login-style.css [URL path folder 2]

6.8. https://myharbourshare.com/static/fonts/fontawesome-pro/css/all.min.css [URL path filename]

6.9. https://myharbourshare.com/static/fonts/fontawesome-pro/css/all.min.css [URL path folder 2]

6.10. https://myharbourshare.com/static/fonts/fontawesome-pro/css/all.min.css [URL path folder 3]

6.11. https://myharbourshare.com/static/fonts/fontawesome-pro/css/all.min.css [URL path folder 4]

6.12. https://myharbourshare.com/static/js/login.js [URL path filename]

6.13. https://myharbourshare.com/static/js/login.js [URL path folder 2]

6.14. https://myharbourshare.com/static/third-party/buefy.min.css [URL path filename]

6.15. https://myharbourshare.com/static/third-party/firebase/firebase-app.js [URL path filename]

6.16. https://myharbourshare.com/static/third-party/firebase/firebase-app.js [URL path folder 2]

6.17. https://myharbourshare.com/static/third-party/firebase/firebase-app.js [URL path folder 3]

6.18. https://myharbourshare.com/static/third-party/firebaseui/dist/firebaseui.css [URL path filename]

6.19. https://myharbourshare.com/static/third-party/firebaseui/dist/firebaseui.css [URL path folder 2]

6.20. https://myharbourshare.com/static/third-party/firebaseui/dist/firebaseui.css [URL path folder 3]

6.21. https://myharbourshare.com/static/third-party/firebaseui/dist/firebaseui.css [URL path folder 4]

6.22. https://myharbourshare.com/static/third-party/firebaseui/dist/firebaseui.js [URL path filename]

6.23. https://myharbourshare.com/static/third-party/firebaseui/dist/firebaseui.js [URL path folder 3]

6.24. https://myharbourshare.com/static/third-party/firebaseui/dist/firebaseui.js [URL path folder 4]

6.25. https://myharbourshare.com/static/third-party/vue.js [URL path filename]

7. Cross-domain Referer leakage

8. Cross-domain script include

9. Frameable response (potential Clickjacking)

10. Email addresses disclosed

10.1. https://myharbourshare.com/login

10.2. https://myharbourshare.com/static/js/login.js

11. Cacheable HTTPS response

12. TLS certificate


1. Cross-site scripting (reflected)
Next

There are 2 instances of this issue:

Issue background

Reflected cross-site scripting vulnerabilities arise when data is copied from a request and echoed into the application's immediate response in an unsafe way. An attacker can use the vulnerability to construct a request that, if issued by another application user, will cause JavaScript code supplied by the attacker to execute within the user's browser in the context of that user's session with the application.

The attacker-supplied code can perform a wide variety of actions, such as stealing the victim's session token or login credentials, performing arbitrary actions on the victim's behalf, and logging their keystrokes.

Users can be induced to issue the attacker's crafted request in various ways. For example, the attacker can send a victim a link containing a malicious URL in an email or instant message. They can submit the link to popular web sites that allow content authoring, for example in blog comments. And they can create an innocuous looking web site that causes anyone viewing it to make arbitrary cross-domain requests to the vulnerable application (using either the GET or the POST method).

The security impact of cross-site scripting vulnerabilities is dependent upon the nature of the vulnerable application, the kinds of data and functionality that it contains, and the other applications that belong to the same domain and organization. If the application is used only to display non-sensitive public content, with no authentication or access control functionality, then a cross-site scripting flaw may be considered low risk. However, if the same application resides on a domain that can access cookies for other more security-critical applications, then the vulnerability could be used to attack those other applications, and so may be considered high risk. Similarly, if the organization that owns the application is a likely target for phishing attacks, then the vulnerability could be leveraged to lend credibility to such attacks, by injecting Trojan functionality into the vulnerable application and exploiting users' trust in the organization in order to capture credentials for other applications that it owns. In many kinds of application, such as those providing online banking functionality, cross-site scripting should always be considered high risk.

Remediation background

In most situations where user-controllable data is copied into application responses, cross-site scripting attacks can be prevented using two layers of defenses:

In cases where the application's functionality allows users to author content using a restricted subset of HTML tags and attributes (for example, blog comments which allow limited formatting and linking), it is necessary to parse the supplied HTML to validate that it does not use any dangerous syntax; this is a non-trivial task.

References

Vulnerability classifications



1.1. https://myharbourshare.com/login [Referer HTTP header]
Next

Summary

Severity:   Low
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /login

Issue detail

The value of the Referer HTTP header is copied into an HTML comment. The payload mkju2--><script>alert(1)</script>m7gs9 was submitted in the Referer HTTP header. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

Because the user data that is copied into the response is submitted within a request header, the application's behavior is not trivial to exploit in an attack against another user. In the past, methods have existed of using client-side technologies such as Flash to cause another user to make a request containing an arbitrary HTTP header. If you can use such a technique, you can probably leverage it to exploit the XSS flaw. This limitation partially mitigates the impact of the vulnerability.

Remediation detail

Echoing user-controllable data within HTML comment tags does not prevent XSS attacks if the user is able to close the comment or use other techniques to introduce scripts within the comment context.

Request

GET /login? HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Referer: https://myharbourshare.com/login?destinationurl=https%3A//myharbourshare.com/homemkju2--><script>alert(1)</script>m7gs9
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response

HTTP/2 200 OK
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
X-Cloud-Trace-Context: 75bc362ba5fabc2bf5a6c4f3306f6867
Date: Fri, 16 Jul 2021 17:02:04 GMT
Server: Google Frontend
Cache-Control: private
Content-Length: 7789

<!DOCTYPE html>
<html lang="en-US">
<head>
<!-- Standard -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Harb
...[SNIP]...
'systemuserid': None, 'www_urlfull': 'https://myharbourshare.com/login', 'www_urlpathroot': '/login', 'www_referrer': 'https://myharbourshare.com/login?destinationurl=https%3A//myharbourshare.com/homemkju2--><script>alert(1)</script>m7gs9', 'www_urlsubdomain': 'myharbourshare', 'www_redirectdestinationurl': None, 'www_redirectdestinationurlpathroot': None, 'www_redirectdestinationurlquoted': None, 'browser_useragent': 'Mozilla/5.0 (Win
...[SNIP]...
1.2. https://myharbourshare.com/login [User-Agent HTTP header]
Previous  Next

Summary

Severity:   Low
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /login

Issue detail

The value of the User-Agent HTTP header is copied into an HTML comment. The payload hnmf0--><script>alert(1)</script>nvscl was submitted in the User-Agent HTTP header. This input was echoed unmodified in the application's response.

This proof-of-concept attack demonstrates that it is possible to inject arbitrary JavaScript into the application's response.

Because the user data that is copied into the response is submitted within a request header, the application's behavior is not trivial to exploit in an attack against another user. In the past, methods have existed of using client-side technologies such as Flash to cause another user to make a request containing an arbitrary HTTP header. If you can use such a technique, you can probably leverage it to exploit the XSS flaw. This limitation partially mitigates the impact of the vulnerability.

Remediation detail

Echoing user-controllable data within HTML comment tags does not prevent XSS attacks if the user is able to close the comment or use other techniques to introduce scripts within the comment context.

Request

GET /login? HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Referer: https://myharbourshare.com/login?destinationurl=https%3A//myharbourshare.com/home
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36hnmf0--><script>alert(1)</script>nvscl
Connection: close
Cache-Control: max-age=0

Response

HTTP/2 200 OK
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
X-Cloud-Trace-Context: c1df1c3b75be66d34dbe8f7d6b493ec3
Date: Fri, 16 Jul 2021 17:01:52 GMT
Server: Google Frontend
Cache-Control: private
Content-Length: 7789

<!DOCTYPE html>
<html lang="en-US">
<head>
<!-- Standard -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Harb
...[SNIP]...
onurlpathroot': None, 'www_redirectdestinationurlquoted': None, 'browser_useragent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36hnmf0--><script>alert(1)</script>nvscl', 'browser_acceptedlanguages': LanguageAccept([('en-US', 1), ('en-GB', 0.9), ('en', 0.8)]), 'gae_logid': None, 'gae_env': 'standard', 'gae_version': 'standard', 'gae_service': 'default', 'gae_instance
...[SNIP]...
2. Strict transport security not enforced
Previous  Next

Summary

Severity:   Low
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /

Issue detail

This issue was found in multiple locations under the reported path.

Issue background

The application fails to prevent users from connecting to it over unencrypted connections. An attacker able to modify a legitimate user's network traffic could bypass the application's use of SSL/TLS encryption, and use the application as a platform for attacks against its users. This attack is performed by rewriting HTTPS links as HTTP, so that if a targeted user follows a link to the site from an HTTP page, their browser never attempts to use an encrypted connection. The sslstrip tool automates this process.

To exploit this vulnerability, an attacker must be suitably positioned to intercept and modify the victim's network traffic.This scenario typically occurs when a client communicates with the server over an insecure connection such as public Wi-Fi, or a corporate or home network that is shared with a compromised computer. Common defenses such as switched networks are not sufficient to prevent this. An attacker situated in the user's ISP or the application's hosting infrastructure could also perform this attack. Note that an advanced adversary could potentially target any connection made over the Internet's core infrastructure.

Issue remediation

The application should instruct web browsers to only access the application using HTTPS. To do this, enable HTTP Strict Transport Security (HSTS) by adding a response header with the name 'Strict-Transport-Security' and the value 'max-age=expireTime', where expireTime is the time in seconds that browsers should remember that the site should only be accessed using HTTPS. Consider adding the 'includeSubDomains' flag if appropriate.

Note that because HSTS is a "trust on first use" (TOFU) protocol, a user who has never accessed the application will never have seen the HSTS header, and will therefore still be vulnerable to SSL stripping attacks. To mitigate this risk, you can optionally add the 'preload' flag to the HSTS header, and submit the domain for review by browser vendors.

References

Vulnerability classifications

Request

GET /static/third-party/firebase/firebase-app.js?v436184493016869089 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response

HTTP/2 200 OK
Date: Fri, 16 Jul 2021 17:00:20 GMT
Expires: Fri, 16 Jul 2021 17:10:20 GMT
Etag: "7XuI5A"
X-Cloud-Trace-Context: 43dd6e4ae1262badc9a962c6bd40796f
Content-Type: application/javascript
Server: Google Frontend
Cache-Control: public, max-age=600
Content-Length: 19865
Age: 30

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).firebase=t()}(this,function(){"use strict";var r=func
...[SNIP]...
3. Path-relative style sheet import
Previous  Next

Summary

Severity:   Information
Confidence:   Tentative
Host:   https://myharbourshare.com
Path:   /login

Issue detail

The application may be vulnerable to path-relative style sheet import (PRSSI) attacks. The response contains a path-relative style sheet import, and so condition 1 for an exploitable vulnerability is present (see issue background). The response can also be made to render in a browser's quirks mode. Although the page contains a modern doctype directive, the response does not prevent itself from being framed. An attacker can frame the response within a page that they control, to force it to be rendered in quirks mode. (Note that this technique is IE-specific and due to P3P restrictions might sometimes limit the impact of a successful attack.) This means that condition 3 for an exploitable vulnerability is probably present if condition 2 is present.

Burp was not able to confirm that the other conditions hold, and you should manually investigate this issue to confirm whether they do hold.

Issue background

Path-relative style sheet import vulnerabilities arise when the following conditions hold:

  1. A response contains a style sheet import that uses a path-relative URL (for example, the page at "/original-path/file.php" might import "styles/main.css").
  2. When handling requests, the application or platform tolerates superfluous path-like data following the original filename in the URL (for example, "/original-path/file.php/extra-junk/"). When superfluous data is added to the original URL, the application's response still contains a path-relative stylesheet import.
  3. The response in condition 2 can be made to render in a browser's quirks mode, either because it has a missing or old doctype directive, or because it allows itself to be framed by a page under an attacker's control.
  4. When a browser requests the style sheet that is imported in the response from the modified URL (using the URL "/original-path/file.php/extra-junk/styles/main.css"), the application returns something other than the CSS response that was supposed to be imported. Given the behavior described in condition 2, this will typically be the same response that was originally returned in condition 1.
  5. An attacker has a means of manipulating some text within the response in condition 4, for example because the application stores and displays some past input, or echoes some text within the current URL.

Given the above conditions, an attacker can execute CSS injection within the browser of the target user. The attacker can construct a URL that causes the victim's browser to import as CSS a different URL than normal, containing text that the attacker can manipulate.

Being able to inject arbitrary CSS into the victim's browser may enable various attacks, including:

Issue remediation

The root cause of the vulnerability can be resolved by not using path-relative URLs in style sheet imports. Aside from this, attacks can also be prevented by implementing all of the following defensive measures:

References

Vulnerability classifications

Request

GET /login? HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Referer: https://myharbourshare.com/login?destinationurl=https%3A//myharbourshare.com/home
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response

HTTP/2 200 OK
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
X-Cloud-Trace-Context: f6bfe2cbc297c36af503fa1928fd96bc
Date: Fri, 16 Jul 2021 17:00:24 GMT
Server: Google Frontend
Cache-Control: private
Content-Length: 7751

<!DOCTYPE html>
<html lang="en-US">
<head>
<!-- Standard -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Harb
...[SNIP]...
<!-- CSS -->
<link href="static/third-party/firebaseui/dist/firebaseui.css?v436184493016869089" rel="stylesheet" type="text/css">
<link href="static/css/login-style.css?v436184493016869089" rel="stylesheet" type="text/css">
<!-- JS -->
...[SNIP]...
4. Referer-dependent response
Previous  Next

Summary

Severity:   Information
Confidence:   Firm
Host:   https://myharbourshare.com
Path:   /login

Issue description

Application responses may depend systematically on the presence or absence of the Referer header in requests. This behavior does not necessarily constitute a security vulnerability, and you should investigate the nature of and reason for the differential responses to determine whether a vulnerability is present.

Common explanations for Referer-dependent responses include:

Issue remediation

The Referer header is not a robust foundation on which to build access controls. Any such measures should be replaced with more secure alternatives that are not vulnerable to Referer spoofing.

If the contents of responses is updated based on Referer data, then the same defenses against malicious input should be employed here as for any other kinds of user-supplied data.

Vulnerability classifications

Request 1

GET /login? HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Referer: https://myharbourshare.com/login?destinationurl=https%3A//myharbourshare.com/home
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 200 OK
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
X-Cloud-Trace-Context: e0bdbbb7e4b77510f30a873da5cd9927
Date: Fri, 16 Jul 2021 17:05:59 GMT
Server: Google Frontend
Cache-Control: private
Content-Length: 7751

<!DOCTYPE html>
<html lang="en-US">
<head>
<!-- Standard -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Harb
...[SNIP]...

Request 2

GET /login? HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 2

HTTP/2 200 OK
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
X-Cloud-Trace-Context: 232a8c74c2688c673ee0c7d83feb393e
Date: Fri, 16 Jul 2021 17:05:59 GMT
Server: Google Frontend
Cache-Control: private
Content-Length: 7672

<!DOCTYPE html>
<html lang="en-US">
<head>
<!-- Standard -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Harb
...[SNIP]...
5. User agent-dependent response
Previous  Next

Summary

Severity:   Information
Confidence:   Firm
Host:   https://myharbourshare.com
Path:   /login

Issue description

Application responses may depend systematically on the value of the User-Agent header in requests. This behavior does not itself constitute a security vulnerability, but may point towards additional attack surface within the application, which may contain vulnerabilities.

This behavior often arises because applications provide different user interfaces for desktop and mobile users. Mobile interfaces have often been less thoroughly tested for vulnerabilities such as cross-site scripting, and often have simpler authentication and session handling mechanisms that may contain problems that are not present in the full interface.

To review the interface provided by the alternate User-Agent header, you can configure a match/replace rule in Burp Proxy to modify the User-Agent header in all requests, and then browse the application in the normal way using your normal browser.

Vulnerability classifications

Request 1

GET /login? HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Referer: https://myharbourshare.com/login?destinationurl=https%3A//myharbourshare.com/home
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 200 OK
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
X-Cloud-Trace-Context: f6bfe2cbc297c36af503fa1928fd96bc
Date: Fri, 16 Jul 2021 17:00:24 GMT
Server: Google Frontend
Cache-Control: private
Content-Length: 7751

<!DOCTYPE html>
<html lang="en-US">
<head>
<!-- Standard -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Harb
...[SNIP]...

Request 2

GET /login? HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Referer: https://myharbourshare.com/login?destinationurl=https%3A//myharbourshare.com/home
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B176 Safari/7534.48.3
Connection: close
Cache-Control: max-age=0

Response 2

HTTP/2 200 OK
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
X-Cloud-Trace-Context: c39c04c3d642d1c2fea2c70c6d23aa48
Date: Fri, 16 Jul 2021 17:06:01 GMT
Server: Google Frontend
Cache-Control: private
Content-Length: 7770

<!DOCTYPE html>
<html lang="en-US">
<head>
<!-- Standard -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Harb
...[SNIP]...
6. Input returned in response (reflected)
Previous  Next

There are 25 instances of this issue:

Issue background

Reflection of input arises when data is copied from a request and echoed into the application's immediate response.

Input being returned in application responses is not a vulnerability in its own right. However, it is a prerequisite for many client-side vulnerabilities, including cross-site scripting, open redirection, content spoofing, and response header injection. Additionally, some server-side vulnerabilities such as SQL injection are often easier to identify and exploit when input is returned in responses. In applications where input retrieval is rare and the environment is resistant to automated testing (for example, due to a web application firewall), it might be worth subjecting instances of it to focused manual testing.

Vulnerability classifications



6.1. https://myharbourshare.com/home [name of an arbitrarily supplied URL parameter]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /home

Issue detail

The name of an arbitrarily supplied URL parameter is copied into the application's response.

Request 1

GET /home?svkuu0468h=1 HTTP/2
Host: myharbourshare.com
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 200 OK
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
X-Cloud-Trace-Context: b770bbb09005e31166e271549784c100
Date: Fri, 16 Jul 2021 17:02:20 GMT
Server: Google Frontend
Cache-Control: private
Content-Length: 7866

<!DOCTYPE html>
<html lang="en-US">
<head>
<!-- Standard -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Harb
...[SNIP]...
: None, 'picture': None, 'systememail': None, 'systememaildomain': None, 'systemuserid': None, 'www_urlfull': 'https://myharbourshare.com/login?destinationurl=https%3A%2F%2Fmyharbourshare.com%2Fhome%3Fsvkuu0468h%3D1', 'www_urlpathroot': '/login', 'www_referrer': None, 'www_urlsubdomain': 'myharbourshare', 'www_redirectdestinationurl': 'https%3A//myharbourshare.com/home%3Fsvkuu0468h%3D1', 'www_redirectdestinationurlpathroot': '/home%3Fsvkuu0468h%3D1', 'www_redirectdestinationurlquoted': 'https%253A//myharbourshare.com/home%253Fsvkuu0468h%253D1', 'browser_useragent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36', 'browser_acceptedlanguages': LanguageAccept([('en-US
...[SNIP]...
6.2. https://myharbourshare.com/login [Referer HTTP header]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /login

Issue detail

The value of the Referer HTTP header is copied into the application's response.

Request 1

GET /login? HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Referer: https://myharbourshare.com/login?destinationurl=https%3A//myharbourshare.com/homeuzra35a1vt
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 200 OK
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
X-Cloud-Trace-Context: b87d17dafcd682e83f13f1b675bf43b2
Date: Fri, 16 Jul 2021 17:02:03 GMT
Server: Google Frontend
Cache-Control: private
Content-Length: 7761

<!DOCTYPE html>
<html lang="en-US">
<head>
<!-- Standard -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Harb
...[SNIP]...
'systemuserid': None, 'www_urlfull': 'https://myharbourshare.com/login', 'www_urlpathroot': '/login', 'www_referrer': 'https://myharbourshare.com/login?destinationurl=https%3A//myharbourshare.com/homeuzra35a1vt', 'www_urlsubdomain': 'myharbourshare', 'www_redirectdestinationurl': None, 'www_redirectdestinationurlpathroot': None, 'www_redirectdestinationurlquoted': None, 'browser_useragent': 'Mozilla/5.0 (Win
...[SNIP]...
6.3. https://myharbourshare.com/login [User-Agent HTTP header]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /login

Issue detail

The value of the User-Agent HTTP header is copied into the application's response.

Request 1

GET /login? HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Referer: https://myharbourshare.com/login?destinationurl=https%3A//myharbourshare.com/home
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36qali832cfr
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 200 OK
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
X-Cloud-Trace-Context: a58c8f878b69e34b293cdf916760ca25
Date: Fri, 16 Jul 2021 17:01:51 GMT
Server: Google Frontend
Cache-Control: private
Content-Length: 7761

<!DOCTYPE html>
<html lang="en-US">
<head>
<!-- Standard -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Harb
...[SNIP]...
onurlpathroot': None, 'www_redirectdestinationurlquoted': None, 'browser_useragent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36qali832cfr', 'browser_acceptedlanguages': LanguageAccept([('en-US', 1), ('en-GB', 0.9), ('en', 0.8)]), 'gae_logid': None, 'gae_env': 'standard', 'gae_version': 'standard', 'gae_service': 'default', 'gae_instance
...[SNIP]...
6.4. https://myharbourshare.com/login [destinationurl parameter]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /login

Issue detail

The value of the destinationurl request parameter is copied into the application's response.

Request 1

GET /login?destinationurl=https%3a%2f%2fmyharbourshare.com%2fhomep63kkl50fh HTTP/2
Host: myharbourshare.com
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 200 OK
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
X-Cloud-Trace-Context: 3faa32111779106ee2cf905e1484deda
Date: Fri, 16 Jul 2021 17:05:28 GMT
Server: Google Frontend
Cache-Control: private
Content-Length: 7887

<!DOCTYPE html>
<html lang="en-US">
<head>
<!-- Standard -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Harb
...[SNIP]...
me': None, 'picture': None, 'systememail': None, 'systememaildomain': None, 'systemuserid': None, 'www_urlfull': 'https://myharbourshare.com/login?destinationurl=https%3A%2F%2Fmyharbourshare.com%2Fhomep63kkl50fh', 'www_urlpathroot': '/login', 'www_referrer': None, 'www_urlsubdomain': 'myharbourshare', 'www_redirectdestinationurl': 'https%3A%2F%2Fmyharbourshare.com%2Fhomep63kkl50fh', 'www_redirectdestinationurlpathroot': '/https%3A%2F%2Fmyharbourshare.com%2Fhomep63kkl50fh', 'www_redirectdestinationurlquoted': 'https%253A%252F%252Fmyharbourshare.com%252Fhomep63kkl50fh', 'browser_useragent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36', 'browser_acceptedlanguages': LanguageAccept([('en-US', 1),
...[SNIP]...
6.5. https://myharbourshare.com/login [name of an arbitrarily supplied URL parameter]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /login

Issue detail

The name of an arbitrarily supplied URL parameter is copied into the application's response.

Request 1

GET /login?&0049johzn7=1 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Referer: https://myharbourshare.com/login?destinationurl=https%3A//myharbourshare.com/home
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 200 OK
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
X-Cloud-Trace-Context: 0b3d7a760a59d7f5078c5f433d4705d4
Date: Fri, 16 Jul 2021 17:01:42 GMT
Server: Google Frontend
Cache-Control: private
Content-Length: 7765

<!DOCTYPE html>
<html lang="en-US">
<head>
<!-- Standard -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Harb
...[SNIP]...
ttestingrunning': False, 'name': None, 'systememailname': None, 'picture': None, 'systememail': None, 'systememaildomain': None, 'systemuserid': None, 'www_urlfull': 'https://myharbourshare.com/login?&0049johzn7=1', 'www_urlpathroot': '/login', 'www_referrer': 'https://myharbourshare.com/login?destinationurl=https%3A//myharbourshare.com/home', 'www_urlsubdomain': 'myharbourshare', 'www_redirectdestinationurl'
...[SNIP]...
6.6. https://myharbourshare.com/static/css/login-style.css [URL path filename]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /static/css/login-style.css

Issue detail

The value of the URL path filename is copied into the application's response.

Request 1

GET /static/css/login-style.cssrlxlm29z22?v436184493016869089 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 404 Not Found
X-Cloud-Trace-Context: 4a5268333ff214ada50a210914ea7326
Date: Fri, 16 Jul 2021 17:05:50 GMT
Content-Type: text/html; charset=UTF-8
Server: Google Frontend
Content-Length: 333


<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>404 Not Found</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Not Found</h1>
<h2>The requested UR
...[SNIP]...
<code>/static/css/login-style.cssrlxlm29z22?v436184493016869089</code>
...[SNIP]...
6.7. https://myharbourshare.com/static/css/login-style.css [URL path folder 2]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /static/css/login-style.css

Issue detail

The value of the URL path folder 2 is copied into the application's response.

Request 1

GET /static/csseh4jo8rvdq/login-style.css?v436184493016869089 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 404 Not Found
X-Cloud-Trace-Context: 404e26c84c30aef95fbe554b41a97348
Date: Fri, 16 Jul 2021 17:05:41 GMT
Content-Type: text/html; charset=UTF-8
Server: Google Frontend
Content-Length: 333


<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>404 Not Found</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Not Found</h1>
<h2>The requested UR
...[SNIP]...
<code>/static/csseh4jo8rvdq/login-style.css?v436184493016869089</code>
...[SNIP]...
6.8. https://myharbourshare.com/static/fonts/fontawesome-pro/css/all.min.css [URL path filename]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /static/fonts/fontawesome-pro/css/all.min.css

Issue detail

The value of the URL path filename is copied into the application's response.

Request 1

GET /static/fonts/fontawesome-pro/css/all.min.csssj4pm3jmik?v436184493016869089 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 404 Not Found
X-Cloud-Trace-Context: 4cc02c8a0906bdadaa54033539ea40ae
Date: Fri, 16 Jul 2021 17:09:32 GMT
Content-Type: text/html; charset=UTF-8
Server: Google Frontend
Content-Length: 351


<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>404 Not Found</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Not Found</h1>
<h2>The requested UR
...[SNIP]...
<code>/static/fonts/fontawesome-pro/css/all.min.csssj4pm3jmik?v436184493016869089</code>
...[SNIP]...
6.9. https://myharbourshare.com/static/fonts/fontawesome-pro/css/all.min.css [URL path folder 2]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /static/fonts/fontawesome-pro/css/all.min.css

Issue detail

The value of the URL path folder 2 is copied into the application's response.

Request 1

GET /static/fontsy4i2p9b920/fontawesome-pro/css/all.min.css?v436184493016869089 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 404 Not Found
X-Cloud-Trace-Context: c517e4ef3b4ae1d211538c9e6c4c135b
Date: Fri, 16 Jul 2021 17:09:05 GMT
Content-Type: text/html; charset=UTF-8
Server: Google Frontend
Content-Length: 351


<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>404 Not Found</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Not Found</h1>
<h2>The requested UR
...[SNIP]...
<code>/static/fontsy4i2p9b920/fontawesome-pro/css/all.min.css?v436184493016869089</code>
...[SNIP]...
6.10. https://myharbourshare.com/static/fonts/fontawesome-pro/css/all.min.css [URL path folder 3]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /static/fonts/fontawesome-pro/css/all.min.css

Issue detail

The value of the URL path folder 3 is copied into the application's response.

Request 1

GET /static/fonts/fontawesome-prohsvvyjw8q1/css/all.min.css?v436184493016869089 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 404 Not Found
X-Cloud-Trace-Context: 67aeff253e31b28d77ea2db25c30f422
Date: Fri, 16 Jul 2021 17:09:14 GMT
Content-Type: text/html; charset=UTF-8
Server: Google Frontend
Content-Length: 351


<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>404 Not Found</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Not Found</h1>
<h2>The requested UR
...[SNIP]...
<code>/static/fonts/fontawesome-prohsvvyjw8q1/css/all.min.css?v436184493016869089</code>
...[SNIP]...
6.11. https://myharbourshare.com/static/fonts/fontawesome-pro/css/all.min.css [URL path folder 4]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /static/fonts/fontawesome-pro/css/all.min.css

Issue detail

The value of the URL path folder 4 is copied into the application's response.

Request 1

GET /static/fonts/fontawesome-pro/cssgv9s5diso0/all.min.css?v436184493016869089 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 404 Not Found
X-Cloud-Trace-Context: be21b0cb235bb0148a9b37852616d40f
Date: Fri, 16 Jul 2021 17:09:23 GMT
Content-Type: text/html; charset=UTF-8
Server: Google Frontend
Content-Length: 351


<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>404 Not Found</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Not Found</h1>
<h2>The requested UR
...[SNIP]...
<code>/static/fonts/fontawesome-pro/cssgv9s5diso0/all.min.css?v436184493016869089</code>
...[SNIP]...
6.12. https://myharbourshare.com/static/js/login.js [URL path filename]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /static/js/login.js

Issue detail

The value of the URL path filename is copied into the application's response.

Request 1

GET /static/js/login.jss5ioat0asf?v436184493016869089 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 404 Not Found
X-Cloud-Trace-Context: 2c3e7b8b6a4abeac2e67021ad54d314a
Date: Fri, 16 Jul 2021 17:09:16 GMT
Content-Type: text/html; charset=UTF-8
Server: Google Frontend
Content-Length: 325


<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>404 Not Found</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Not Found</h1>
<h2>The requested UR
...[SNIP]...
<code>/static/js/login.jss5ioat0asf?v436184493016869089</code>
...[SNIP]...
6.13. https://myharbourshare.com/static/js/login.js [URL path folder 2]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /static/js/login.js

Issue detail

The value of the URL path folder 2 is copied into the application's response.

Request 1

GET /static/jsxbzjp6t1tr/login.js?v436184493016869089 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 404 Not Found
X-Cloud-Trace-Context: cfca0e078be226c096c2d22ef18bf9fc
Date: Fri, 16 Jul 2021 17:09:07 GMT
Content-Type: text/html; charset=UTF-8
Server: Google Frontend
Content-Length: 325


<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>404 Not Found</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Not Found</h1>
<h2>The requested UR
...[SNIP]...
<code>/static/jsxbzjp6t1tr/login.js?v436184493016869089</code>
...[SNIP]...
6.14. https://myharbourshare.com/static/third-party/buefy.min.css [URL path filename]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /static/third-party/buefy.min.css

Issue detail

The value of the URL path filename is copied into the application's response.

Request 1

GET /static/third-party/buefy.min.css7b6gnutfj7?v436184493016869089 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 404 Not Found
X-Cloud-Trace-Context: a526bcd54a7386d229c7bd04f8d10b6d
Date: Fri, 16 Jul 2021 17:09:25 GMT
Content-Type: text/html; charset=UTF-8
Server: Google Frontend
Content-Length: 339


<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>404 Not Found</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Not Found</h1>
<h2>The requested UR
...[SNIP]...
<code>/static/third-party/buefy.min.css7b6gnutfj7?v436184493016869089</code>
...[SNIP]...
6.15. https://myharbourshare.com/static/third-party/firebase/firebase-app.js [URL path filename]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /static/third-party/firebase/firebase-app.js

Issue detail

The value of the URL path filename is copied into the application's response.

Request 1

GET /static/third-party/firebase/firebase-app.js8d8vxb9uor?v436184493016869089 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 404 Not Found
X-Cloud-Trace-Context: 1154a6b78f7c792ee5d676f7708b4bc4
Date: Fri, 16 Jul 2021 17:06:01 GMT
Content-Type: text/html; charset=UTF-8
Server: Google Frontend
Content-Length: 350


<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>404 Not Found</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Not Found</h1>
<h2>The requested UR
...[SNIP]...
<code>/static/third-party/firebase/firebase-app.js8d8vxb9uor?v436184493016869089</code>
...[SNIP]...
6.16. https://myharbourshare.com/static/third-party/firebase/firebase-app.js [URL path folder 2]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /static/third-party/firebase/firebase-app.js

Issue detail

The value of the URL path folder 2 is copied into the application's response.

Request 1

GET /static/third-partyxixmte4ekc/firebase/firebase-app.js?v436184493016869089 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 404 Not Found
X-Cloud-Trace-Context: cb56c4ff8ae4d0e6de598f2ead7460f1
Date: Fri, 16 Jul 2021 17:05:44 GMT
Content-Type: text/html; charset=UTF-8
Server: Google Frontend
Content-Length: 350


<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>404 Not Found</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Not Found</h1>
<h2>The requested UR
...[SNIP]...
<code>/static/third-partyxixmte4ekc/firebase/firebase-app.js?v436184493016869089</code>
...[SNIP]...
6.17. https://myharbourshare.com/static/third-party/firebase/firebase-app.js [URL path folder 3]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /static/third-party/firebase/firebase-app.js

Issue detail

The value of the URL path folder 3 is copied into the application's response.

Request 1

GET /static/third-party/firebasemsd4atn8ct/firebase-app.js?v436184493016869089 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 404 Not Found
X-Cloud-Trace-Context: 7446a57946432dec63d7b9e9d5ddead6
Date: Fri, 16 Jul 2021 17:05:53 GMT
Content-Type: text/html; charset=UTF-8
Server: Google Frontend
Content-Length: 350


<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>404 Not Found</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Not Found</h1>
<h2>The requested UR
...[SNIP]...
<code>/static/third-party/firebasemsd4atn8ct/firebase-app.js?v436184493016869089</code>
...[SNIP]...
6.18. https://myharbourshare.com/static/third-party/firebaseui/dist/firebaseui.css [URL path filename]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /static/third-party/firebaseui/dist/firebaseui.css

Issue detail

The value of the URL path filename is copied into the application's response.

Request 1

GET /static/third-party/firebaseui/dist/firebaseui.cssqsm15xs337?v436184493016869089 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 404 Not Found
X-Cloud-Trace-Context: c131416cab6a32618e4599c9af3126ad
Date: Fri, 16 Jul 2021 17:02:32 GMT
Content-Type: text/html; charset=UTF-8
Server: Google Frontend
Content-Length: 356


<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>404 Not Found</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Not Found</h1>
<h2>The requested UR
...[SNIP]...
<code>/static/third-party/firebaseui/dist/firebaseui.cssqsm15xs337?v436184493016869089</code>
...[SNIP]...
6.19. https://myharbourshare.com/static/third-party/firebaseui/dist/firebaseui.css [URL path folder 2]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /static/third-party/firebaseui/dist/firebaseui.css

Issue detail

The value of the URL path folder 2 is copied into the application's response.

Request 1

GET /static/third-partyndgc1t7he5/firebaseui/dist/firebaseui.css?v436184493016869089 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 404 Not Found
X-Cloud-Trace-Context: e166abfac11890909b47bb812a95640e
Date: Fri, 16 Jul 2021 17:02:06 GMT
Content-Type: text/html; charset=UTF-8
Server: Google Frontend
Content-Length: 356


<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>404 Not Found</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Not Found</h1>
<h2>The requested UR
...[SNIP]...
<code>/static/third-partyndgc1t7he5/firebaseui/dist/firebaseui.css?v436184493016869089</code>
...[SNIP]...
6.20. https://myharbourshare.com/static/third-party/firebaseui/dist/firebaseui.css [URL path folder 3]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /static/third-party/firebaseui/dist/firebaseui.css

Issue detail

The value of the URL path folder 3 is copied into the application's response.

Request 1

GET /static/third-party/firebaseuihswdagymls/dist/firebaseui.css?v436184493016869089 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 404 Not Found
X-Cloud-Trace-Context: 6f0528cda8e64a98a40c85c462da7b52
Date: Fri, 16 Jul 2021 17:02:14 GMT
Content-Type: text/html; charset=UTF-8
Server: Google Frontend
Content-Length: 356


<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>404 Not Found</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Not Found</h1>
<h2>The requested UR
...[SNIP]...
<code>/static/third-party/firebaseuihswdagymls/dist/firebaseui.css?v436184493016869089</code>
...[SNIP]...
6.21. https://myharbourshare.com/static/third-party/firebaseui/dist/firebaseui.css [URL path folder 4]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /static/third-party/firebaseui/dist/firebaseui.css

Issue detail

The value of the URL path folder 4 is copied into the application's response.

Request 1

GET /static/third-party/firebaseui/distz24scp4a9g/firebaseui.css?v436184493016869089 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 404 Not Found
X-Cloud-Trace-Context: 8f5b646aeb4d686dea446fbe4a61525b
Date: Fri, 16 Jul 2021 17:02:23 GMT
Content-Type: text/html; charset=UTF-8
Server: Google Frontend
Content-Length: 356


<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>404 Not Found</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Not Found</h1>
<h2>The requested UR
...[SNIP]...
<code>/static/third-party/firebaseui/distz24scp4a9g/firebaseui.css?v436184493016869089</code>
...[SNIP]...
6.22. https://myharbourshare.com/static/third-party/firebaseui/dist/firebaseui.js [URL path filename]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /static/third-party/firebaseui/dist/firebaseui.js

Issue detail

The value of the URL path filename is copied into the application's response.

Request 1

GET /static/third-party/firebaseui/dist/firebaseui.js6e0nbbp0h6?v436184493016869089 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 404 Not Found
X-Cloud-Trace-Context: 8792833c0c3e374dabc8d75fa773052e
Date: Fri, 16 Jul 2021 17:09:20 GMT
Content-Type: text/html; charset=UTF-8
Server: Google Frontend
Content-Length: 355


<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>404 Not Found</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Not Found</h1>
<h2>The requested UR
...[SNIP]...
<code>/static/third-party/firebaseui/dist/firebaseui.js6e0nbbp0h6?v436184493016869089</code>
...[SNIP]...
6.23. https://myharbourshare.com/static/third-party/firebaseui/dist/firebaseui.js [URL path folder 3]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /static/third-party/firebaseui/dist/firebaseui.js

Issue detail

The value of the URL path folder 3 is copied into the application's response.

Request 1

GET /static/third-party/firebaseuikd1vzholjp/dist/firebaseui.js?v436184493016869089 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 404 Not Found
X-Cloud-Trace-Context: 812d5f97b8a26e3a7f3f9ca4de5be79d
Date: Fri, 16 Jul 2021 17:09:03 GMT
Content-Type: text/html; charset=UTF-8
Server: Google Frontend
Content-Length: 355


<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>404 Not Found</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Not Found</h1>
<h2>The requested UR
...[SNIP]...
<code>/static/third-party/firebaseuikd1vzholjp/dist/firebaseui.js?v436184493016869089</code>
...[SNIP]...
6.24. https://myharbourshare.com/static/third-party/firebaseui/dist/firebaseui.js [URL path folder 4]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /static/third-party/firebaseui/dist/firebaseui.js

Issue detail

The value of the URL path folder 4 is copied into the application's response.

Request 1

GET /static/third-party/firebaseui/distj1ecepte9r/firebaseui.js?v436184493016869089 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 404 Not Found
X-Cloud-Trace-Context: 0e427d0f5a3850d8a435ca1a791574d7
Date: Fri, 16 Jul 2021 17:09:11 GMT
Content-Type: text/html; charset=UTF-8
Server: Google Frontend
Content-Length: 355


<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>404 Not Found</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Not Found</h1>
<h2>The requested UR
...[SNIP]...
<code>/static/third-party/firebaseui/distj1ecepte9r/firebaseui.js?v436184493016869089</code>
...[SNIP]...
6.25. https://myharbourshare.com/static/third-party/vue.js [URL path filename]
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /static/third-party/vue.js

Issue detail

The value of the URL path filename is copied into the application's response.

Request 1

GET /static/third-party/vue.jslbr5z8xzbt?v436184493016869089 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 404 Not Found
X-Cloud-Trace-Context: c8354686932b878990d7425ac6b67dc8
Date: Fri, 16 Jul 2021 17:09:11 GMT
Content-Type: text/html; charset=UTF-8
Server: Google Frontend
Content-Length: 332


<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>404 Not Found</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Not Found</h1>
<h2>The requested UR
...[SNIP]...
<code>/static/third-party/vue.jslbr5z8xzbt?v436184493016869089</code>
...[SNIP]...
7. Cross-domain Referer leakage
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /login

Issue detail

The page was loaded from a URL containing a query string:The response contains the following links to other domains:

Issue background

When a web browser makes a request for a resource, it typically adds an HTTP header, called the "Referer" header, indicating the URL of the resource from which the request originated. This occurs in numerous situations, for example when a web page loads an image or script, or when a user clicks on a link or submits a form.

If the resource being requested resides on a different domain, then the Referer header is still generally included in the cross-domain request. If the originating URL contains any sensitive information within its query string, such as a session token, then this information will be transmitted to the other domain. If the other domain is not fully trusted by the application, then this may lead to a security compromise.

You should review the contents of the information being transmitted to other domains, and also determine whether those domains are fully trusted by the originating application.

Today's browsers may withhold the Referer header in some situations (for example, when loading a non-HTTPS resource from a page that was loaded over HTTPS, or when a Refresh directive is issued), but this behavior should not be relied upon to protect the originating URL from disclosure.

Note also that if users can author content within the application then an attacker may be able to inject links referring to a domain they control in order to capture data from URLs used within the application.

Issue remediation

Applications should never transmit any sensitive information within the URL query string. In addition to being leaked in the Referer header, such information may be logged in various locations and may be visible on-screen to untrusted parties. If placing sensitive information in the URL is unavoidable, consider using the Referer-Policy HTTP header to reduce the chance of it being disclosed to third parties.

References

Vulnerability classifications

Request 1

GET /login? HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Referer: https://myharbourshare.com/login?destinationurl=https%3A//myharbourshare.com/home
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 200 OK
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
X-Cloud-Trace-Context: f6bfe2cbc297c36af503fa1928fd96bc
Date: Fri, 16 Jul 2021 17:00:24 GMT
Server: Google Frontend
Cache-Control: private
Content-Length: 7751

<!DOCTYPE html>
<html lang="en-US">
<head>
<!-- Standard -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Harb
...[SNIP]...
<!-- Sentry exception reporting (with Vue integration) -->
<script src="https://browser.sentry-cdn.com/6.2.3/bundle.min.js" integrity="sha384-n6TNefxJMUTqJauZtoDyDhAs5Ng0VzcMTy0/afmyZoVZpaQ2clYR1LBa4SqhVySs" crossorigin="anonymous"></script>
<script src="https://browser.sentry-cdn.com/6.2.3/vue.min.js" integrity="sha384-ZhUqMWRVNnMf+BalnWBZFnc647u8W2Rx20+rNjm0mJAG5m5F2BFuN1BtyUkkea0y" crossorigin="anonymous"></script>
...[SNIP]...
8. Cross-domain script include
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /login

Issue detail

The response dynamically includes the following scripts from other domains:

Issue background

When an application includes a script from an external domain, this script is executed by the browser within the security context of the invoking application. The script can therefore do anything that the application's own scripts can do, such as accessing application data and performing actions within the context of the current user.

If you include a script from an external domain, then you are trusting that domain with the data and functionality of your application, and you are trusting the domain's own security to prevent an attacker from modifying the script to perform malicious actions within your application.

Issue remediation

Scripts should ideally not be included from untrusted domains. Applications that rely on static third-party scripts should consider using Subresource Integrity to make browsers verify them, or copying the contents of these scripts onto their own domain and including them from there. If that is not possible (e.g. for licensing reasons) then consider reimplementing the script's functionality within application code.

References

Vulnerability classifications

Request 1

GET /login? HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Referer: https://myharbourshare.com/login?
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 200 OK
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
X-Cloud-Trace-Context: 4ae2ee5c4ddac39049344900e7356666
Date: Fri, 16 Jul 2021 17:00:31 GMT
Server: Google Frontend
Cache-Control: private
Content-Length: 7703

<!DOCTYPE html>
<html lang="en-US">
<head>
<!-- Standard -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Harb
...[SNIP]...
<!-- Sentry exception reporting (with Vue integration) -->
<script src="https://browser.sentry-cdn.com/6.2.3/bundle.min.js" integrity="sha384-n6TNefxJMUTqJauZtoDyDhAs5Ng0VzcMTy0/afmyZoVZpaQ2clYR1LBa4SqhVySs" crossorigin="anonymous"></script>
<script src="https://browser.sentry-cdn.com/6.2.3/vue.min.js" integrity="sha384-ZhUqMWRVNnMf+BalnWBZFnc647u8W2Rx20+rNjm0mJAG5m5F2BFuN1BtyUkkea0y" crossorigin="anonymous"></script>
...[SNIP]...
9. Frameable response (potential Clickjacking)
Previous  Next

Summary

Severity:   Information
Confidence:   Firm
Host:   https://myharbourshare.com
Path:   /login

Issue description

If a page fails to set an appropriate X-Frame-Options or Content-Security-Policy HTTP header, it might be possible for a page controlled by an attacker to load it within an iframe. This may enable a clickjacking attack, in which the attacker's page overlays the target application's interface with a different interface provided by the attacker. By inducing victim users to perform actions such as mouse clicks and keystrokes, the attacker can cause them to unwittingly carry out actions within the application that is being targeted. This technique allows the attacker to circumvent defenses against cross-site request forgery, and may result in unauthorized actions.

Note that some applications attempt to prevent these attacks from within the HTML page itself, using "framebusting" code. However, this type of defense is normally ineffective and can usually be circumvented by a skilled attacker.

You should determine whether any functions accessible within frameable pages can be used by application users to perform any sensitive actions within the application.

Issue remediation

To effectively prevent framing attacks, the application should return a response header with the name X-Frame-Options and the value DENY to prevent framing altogether, or the value SAMEORIGIN to allow framing only by pages on the same origin as the response itself. Note that the SAMEORIGIN header can be partially bypassed if the application itself can be made to frame untrusted websites.

References

Vulnerability classifications

Request 1

GET /login?destinationurl=https%3A//myharbourshare.com/home HTTP/2
Host: myharbourshare.com
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 200 OK
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
X-Cloud-Trace-Context: 93fe475bf93d2fe40ffef5ac016f6fb7
Date: Fri, 16 Jul 2021 17:00:23 GMT
Server: Google Frontend
Cache-Control: private
Content-Length: 7794

<!DOCTYPE html>
<html lang="en-US">
<head>
<!-- Standard -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Harb
...[SNIP]...
10. Email addresses disclosed
Previous  Next

There are 2 instances of this issue:

Issue background

The presence of email addresses within application responses does not necessarily constitute a security vulnerability. Email addresses may appear intentionally within contact information, and many applications (such as web mail) include arbitrary third-party email addresses within their core content.

However, email addresses of developers and other individuals (whether appearing on-screen or hidden within page source) may disclose information that is useful to an attacker; for example, they may represent usernames that can be used at the application's login, and they may be used in social engineering attacks against the organization's personnel. Unnecessary or excessive disclosure of email addresses may also lead to an increase in the volume of spam email received.

Issue remediation

Consider removing any email addresses that are unnecessary, or replacing personal addresses with anonymous mailbox addresses (such as helpdesk@example.com).

To reduce the quantity of spam sent to anonymous mailbox addresses, consider hiding the email address and instead providing a form that generates the email server-side, protected by a CAPTCHA if necessary.

Vulnerability classifications



10.1. https://myharbourshare.com/login
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /login

Issue detail

The following email address was disclosed in the response:

Request 1

GET /login? HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Referer: https://myharbourshare.com/login?
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 200 OK
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
X-Cloud-Trace-Context: 4ae2ee5c4ddac39049344900e7356666
Date: Fri, 16 Jul 2021 17:00:31 GMT
Server: Google Frontend
Cache-Control: private
Content-Length: 7703

<!DOCTYPE html>
<html lang="en-US">
<head>
<!-- Standard -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Harb
...[SNIP]...
attachProps: false
}));
}
if((location.hostname !== "localhost") && (location.hostname !== "127.0.0.1")){
Sentry.init({
dsn: 'https://f65a581afccf448b882d686c5eee229c@o291828.ingest.sentry.io/1534040',
integrations: sentryIntegrations,
beforeSend(event,hint){
if((JSON.stringify(event)).length >
...[SNIP]...
10.2. https://myharbourshare.com/static/js/login.js
Previous

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /static/js/login.js

Issue detail

The following email address was disclosed in the response:

Request 1

GET /static/js/login.js?v436184493016869089 HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 200 OK
Date: Fri, 16 Jul 2021 17:00:20 GMT
Expires: Fri, 16 Jul 2021 17:10:20 GMT
Etag: "7XuI5A"
X-Cloud-Trace-Context: 98b3969aa5992e5c78acbdf58bf7b3d6
Content-Type: application/javascript
Server: Google Frontend
Cache-Control: public, max-age=600
Content-Length: 8169
Age: 39

//Onload
window.onload = function(){

//Init Firebase and listen to authentication state changes
const firebaseConfig = {
apiKey: "AIzaSyBfyAFYd3GoJ89OGw_K45_3YicFeav3Ee8",
authDomain:
...[SNIP]...
.catch(function(error){
console.log("-- ERROR: auth session not stored:", error);
alert("Error - we could not validate your secure credentials at this point. Try again in a bit or contact support@harbourshare.com");
});

});
}

//Display firebase login UI (*with Google, Microsoft, and custom email sign-in buttons, more)
function displayFirebaseLogin(){

//Init/display Firebase UI
const uiConfig = {

...[SNIP]...
11. Cacheable HTTPS response
Previous  Next

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /login

Issue description

Unless directed otherwise, browsers may store a local cached copy of content received from web servers. Some browsers, including Internet Explorer, cache content accessed via HTTPS. If sensitive information in application responses is stored in the local cache, then this may be retrieved by other users who have access to the same computer at a future time.

Issue remediation

Applications should return caching directives instructing browsers not to store local copies of any sensitive data. Often, this can be achieved by configuring the web server to prevent caching for relevant paths within the web root. Alternatively, most web development platforms allow you to control the server's caching directives from within individual scripts. Ideally, the web server should return the following HTTP headers in all responses containing sensitive content:

Vulnerability classifications

Request 1

GET /login? HTTP/2
Host: myharbourshare.com
Cookie: harbourlogin_activeaccountsubdomain=myharbourshare
Upgrade-Insecure-Requests: 1
Referer: https://myharbourshare.com/login?
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US,en-GB;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Connection: close
Cache-Control: max-age=0

Response 1

HTTP/2 200 OK
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
X-Cloud-Trace-Context: 4ae2ee5c4ddac39049344900e7356666
Date: Fri, 16 Jul 2021 17:00:31 GMT
Server: Google Frontend
Cache-Control: private
Content-Length: 7703

<!DOCTYPE html>
<html lang="en-US">
<head>
<!-- Standard -->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Harb
...[SNIP]...
12. TLS certificate
Previous

Summary

Severity:   Information
Confidence:   Certain
Host:   https://myharbourshare.com
Path:   /

Issue detail

The server presented a valid, trusted TLS certificate. This issue is purely informational.

The server presented the following certificates:

Server certificate

Issued to:  myharbourshare.com
Issued by:  GTS CA 1D4
Valid from:  Fri Jul 16 00:12:49 PDT 2021
Valid to:  Thu Oct 14 01:12:49 PDT 2021

Certificate chain #1

Issued to:  GTS CA 1D4
Issued by:  GTS Root R1
Valid from:  Wed Aug 12 17:00:42 PDT 2020
Valid to:  Wed Sep 29 17:00:42 PDT 2027

Certificate chain #2

Issued to:  GTS Root R1
Issued by:  GlobalSign Root CA
Valid from:  Thu Jun 18 17:00:42 PDT 2020
Valid to:  Thu Jan 27 16:00:42 PST 2028

Certificate chain #3

Issued to:  GlobalSign Root CA
Issued by:  GlobalSign Root CA
Valid from:  Tue Sep 01 05:00:00 PDT 1998
Valid to:  Fri Jan 28 04:00:00 PST 2028

Issue background

TLS (or SSL) helps to protect the confidentiality and integrity of information in transit between the browser and server, and to provide authentication of the server's identity. To serve this purpose, the server must present an TLS certificate that is valid for the server's hostname, is issued by a trusted authority and is valid for the current date. If any one of these requirements is not met, TLS connections to the server will not provide the full protection for which TLS is designed.

It should be noted that various attacks exist against TLS in general, and in the context of HTTPS web connections in particular. It may be possible for a determined and suitably-positioned attacker to compromise TLS connections without user detection even when a valid TLS certificate is used.

References

Vulnerability classifications


Report generated by Burp Suite web vulnerability scanner v2021.6.2, at Wed Aug 04 13:29:18 PDT 2021.