ZAP Scanning Report

Summary of Alerts

Risk LevelNumber of Alerts
High0
Medium0
Low8
Informational0

Alert Detail

Low (Medium)Incomplete or No Cache-control and Pragma HTTP Header Set
Description

The cache-control and pragma HTTP header have not been set properly or are missing allowing the browser and proxies to cache content.

URLhttps://blocklists.settings.services.mozilla.com/v1/blocklist/3/%7Bec8030f7-c20a-464f-9b0e-13a3a9e97384%7D/70.0/Firefox/20191016161957/Darwin_x86_64-gcc3/en-US/release/Darwin%2018.7.0/default/default/1/1/new/
MethodGET
ParameterCache-Control
Instances1
Solution

Whenever possible ensure the cache-control HTTP header is set with no-cache, no-store, must-revalidate; and that the pragma HTTP header is set with no-cache.

Reference

https://www.owasp.org/index.php/Session_Management_Cheat_Sheet#Web_Content_Caching

CWE Id525
WASC Id13
Source ID3
Low (Medium)X-Content-Type-Options Header Missing
Description

The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.fancybox-1.3.1/fancybox/jquery.fancybox-1.3.1.css
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/jquery/dc/ext/jquery.dc.chart.js
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/style/flex.css
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.ba-throttle-debounce.js
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.flot/jquery.flot.pie.js
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.tablesorter/jquery.tablesorter.min.js
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/jquery/dc/api/durastore-api.js
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/jquery/dc/widget/ui.snapshot.js
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/jquery/dc/widget/ui.propertiesviewer.js
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery-validate/jquery.validate.js
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/style/dialogs.css
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/jquery/dc/widget/ui.selectablelist.js
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/jquery/jquery-ui.js
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.dropdown/jquery.dropdown.css
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/jquery/dc/widget/ui.historypanel.js
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.layout.js
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.datatables/jquery.dataTables.min.js
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/jquery/jquery.min.js
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.form.min.js
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/jquery/dc/widget/ui.uploader.js
MethodGET
ParameterX-Content-Type-Options
Instances43
Solution

Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

Other information

This issue still applies to error type pages (401, 403, 500, etc) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

At "High" threshold this scanner will not alert on client or server error responses.

Reference

http://msdn.microsoft.com/en-us/library/ie/gg622941%28v=vs.85%29.aspx

https://www.owasp.org/index.php/List_of_useful_HTTP_headers

CWE Id16
WASC Id15
Source ID3
Low (Medium)Absence of Anti-CSRF Tokens
Description

No Anti-CSRF tokens were found in a HTML submission form.

A cross-site request forgery is an attack that involves forcing a victim to send an HTTP request to a target destination without their knowledge or intent in order to perform an action as the victim. The underlying cause is application functionality using predictable URL/form actions in a repeatable way. The nature of the attack is that CSRF exploits the trust that a web site has for a user. By contrast, cross-site scripting (XSS) exploits the trust that a user has for a web site. Like XSS, CSRF attacks are not necessarily cross-site, but they can be. Cross-site request forgery is also known as CSRF, XSRF, one-click attack, session riding, confused deputy, and sea surf.

CSRF attacks are effective in a number of situations, including:

* The victim has an active session on the target site.

* The victim is authenticated via HTTP auth on the target site.

* The victim is on the same local network as the target site.

CSRF has primarily been used to perform an action against a target site using the victim's privileges, but recent techniques have been discovered to disclose information by gaining access to the response. The risk of information disclosure is dramatically increased when the target site is vulnerable to XSS, because XSS can be used as a platform for CSRF, allowing the attack to operate within the bounds of the same-origin policy.

URLhttps://dev.duracloud.org/duradmin/
MethodGET
Evidence<form id="loginForm" action="/duradmin/login" method="post" onsubmit="return false;" >
URLhttps://dev.duracloud.org/duradmin/
MethodGET
Evidence<form id="edit-content-item-form" onsubmit="return false;">
URLhttps://dev.duracloud.org/duradmin/
MethodGET
Evidence<form enctype="multipart/form-data">
URLhttps://dev.duracloud.org/duradmin/
MethodGET
Evidence<form enctype="multipart/form-data" accept-charset="UTF-8" id="add-content-item-form" action="/duradmin/spaces/content/upload" method="POST">
URLhttps://dev.duracloud.org/duradmin/
MethodGET
Evidence<form id="snapshot-properties-form" onsubmit="return false;">
URLhttps://dev.duracloud.org/duradmin/
MethodGET
Evidence<form id="delete-space-form">
URLhttps://dev.duracloud.org/duradmin/
MethodGET
Evidence<form id="add-space-form">
URLhttps://dev.duracloud.org/duradmin/
MethodGET
Evidence<form id="copy-content-item-form" onsubmit="return false;">
Instances8
Solution

Phase: Architecture and Design

Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.

For example, use anti-CSRF packages such as the OWASP CSRFGuard.

Phase: Implementation

Ensure that your application is free of cross-site scripting issues, because most CSRF defenses can be bypassed using attacker-controlled script.

Phase: Architecture and Design

Generate a unique nonce for each form, place the nonce into the form, and verify the nonce upon receipt of the form. Be sure that the nonce is not predictable (CWE-330).

Note that this can be bypassed using XSS.

Identify especially dangerous operations. When the user performs a dangerous operation, send a separate confirmation request to ensure that the user intended to perform that operation.

Note that this can be bypassed using XSS.

Use the ESAPI Session Management control.

This control includes a component for CSRF.

Do not use the GET method for any request that triggers a state change.

Phase: Implementation

Check the HTTP Referer header to see if the request originated from an expected page. This could break legitimate functionality, because users or proxies may have disabled sending the Referer for privacy reasons.

Other information

No known Anti-CSRF token [anticsrf, CSRFToken, __RequestVerificationToken, csrfmiddlewaretoken, authenticity_token, OWASP_CSRFTOKEN, anoncsrf, csrf_token, _csrf, _csrfSecret] was found in the following HTML form: [Form 1: "username" "password" ].

Reference

http://projects.webappsec.org/Cross-Site-Request-Forgery

http://cwe.mitre.org/data/definitions/352.html

CWE Id352
WASC Id9
Source ID3
Low (Medium)Incomplete or No Cache-control and Pragma HTTP Header Set
Description

The cache-control and pragma HTTP header have not been set properly or are missing allowing the browser and proxies to cache content.

URLhttps://dev.duracloud.org/duradmin/style/flex.css
MethodGET
ParameterCache-Control
URLhttps://dev.duracloud.org/duradmin/style/buttons.css
MethodGET
ParameterCache-Control
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.datatables/jquery.dataTables.css
MethodGET
ParameterCache-Control
URLhttps://dev.duracloud.org/duradmin/style/login.css
MethodGET
ParameterCache-Control
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.fancybox-1.3.1/fancybox/jquery.fancybox-1.3.1.css
MethodGET
ParameterCache-Control
URLhttps://dev.duracloud.org/duradmin/style/base.css
MethodGET
ParameterCache-Control
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.dropdown/jquery.dropdown.css
MethodGET
ParameterCache-Control
URLhttps://dev.duracloud.org/duradmin/style/jquery-ui.css
MethodGET
ParameterCache-Control
URLhttps://dev.duracloud.org/duradmin/style/dialogs.css
MethodGET
ParameterCache-Control
Instances9
Solution

Whenever possible ensure the cache-control HTTP header is set with no-cache, no-store, must-revalidate; and that the pragma HTTP header is set with no-cache.

Reference

https://www.owasp.org/index.php/Session_Management_Cheat_Sheet#Web_Content_Caching

CWE Id525
WASC Id13
Source ID3
Low (Medium)Cookie No HttpOnly Flag
Description

A cookie has been set without the HttpOnly flag, which means that the cookie can be accessed by JavaScript. If a malicious script can be run on this page then the cookie will be accessible and can be transmitted to another site. If this is a session cookie then session hijacking may be possible.

URLhttps://dev.duracloud.org/duradmin
MethodGET
ParameterAWSELB
EvidenceSet-Cookie: AWSELB
Instances1
Solution

Ensure that the HttpOnly flag is set for all cookies.

Reference

http://www.owasp.org/index.php/HttpOnly

CWE Id16
WASC Id13
Source ID3
Low (Medium)Cookie Without Secure Flag
Description

A cookie has been set without the secure flag, which means that the cookie can be accessed via unencrypted connections.

URLhttps://dev.duracloud.org/duradmin
MethodGET
ParameterAWSELB
EvidenceSet-Cookie: AWSELB
Instances1
Solution

Whenever a cookie contains sensitive information or is a session token, then it should always be passed using an encrypted channel. Ensure that the secure flag is set for cookies containing such sensitive information.

Reference

http://www.owasp.org/index.php/Testing_for_cookies_attributes_(OWASP-SM-002)

CWE Id614
WASC Id13
Source ID3
Low (Medium)X-Content-Type-Options Header Missing
Description

The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

URLhttps://tracking-protection.cdn.mozilla.net/analytics-track-digest256/1570824682
MethodGET
ParameterX-Content-Type-Options
URLhttps://tracking-protection.cdn.mozilla.net/social-track-digest256/1570824682
MethodGET
ParameterX-Content-Type-Options
URLhttps://tracking-protection.cdn.mozilla.net/social-tracking-protection-twitter-digest256/1564526481
MethodGET
ParameterX-Content-Type-Options
URLhttps://tracking-protection.cdn.mozilla.net/allow-flashallow-digest256/1490633678
MethodGET
ParameterX-Content-Type-Options
URLhttps://tracking-protection.cdn.mozilla.net/except-flashsubdoc-digest256/1517935265
MethodGET
ParameterX-Content-Type-Options
URLhttps://tracking-protection.cdn.mozilla.net/base-cryptomining-track-digest256/1559142673
MethodGET
ParameterX-Content-Type-Options
URLhttps://tracking-protection.cdn.mozilla.net/except-flashallow-digest256/1490633678
MethodGET
ParameterX-Content-Type-Options
URLhttps://tracking-protection.cdn.mozilla.net/social-tracking-protection-digest256/1565124080
MethodGET
ParameterX-Content-Type-Options
URLhttps://tracking-protection.cdn.mozilla.net/block-flash-digest256/1496263270
MethodGET
ParameterX-Content-Type-Options
URLhttps://tracking-protection.cdn.mozilla.net/social-tracking-protection-linkedin-digest256/1564526481
MethodGET
ParameterX-Content-Type-Options
URLhttps://tracking-protection.cdn.mozilla.net/except-flash-digest256/1494877265
MethodGET
ParameterX-Content-Type-Options
URLhttps://tracking-protection.cdn.mozilla.net/mozstd-trackwhite-digest256/1572363682
MethodGET
ParameterX-Content-Type-Options
URLhttps://tracking-protection.cdn.mozilla.net/base-fingerprinting-track-digest256/1572280881
MethodGET
ParameterX-Content-Type-Options
URLhttps://tracking-protection.cdn.mozilla.net/block-flashsubdoc-digest256/1512160865
MethodGET
ParameterX-Content-Type-Options
URLhttps://tracking-protection.cdn.mozilla.net/social-tracking-protection-facebook-digest256/1564526481
MethodGET
ParameterX-Content-Type-Options
URLhttps://tracking-protection.cdn.mozilla.net/base-track-digest256/1572280881
MethodGET
ParameterX-Content-Type-Options
URLhttps://tracking-protection.cdn.mozilla.net/content-track-digest256/1559142673
MethodGET
ParameterX-Content-Type-Options
URLhttps://tracking-protection.cdn.mozilla.net/ads-track-digest256/1572280881
MethodGET
ParameterX-Content-Type-Options
Instances18
Solution

Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

Other information

This issue still applies to error type pages (401, 403, 500, etc) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

At "High" threshold this scanner will not alert on client or server error responses.

Reference

http://msdn.microsoft.com/en-us/library/ie/gg622941%28v=vs.85%29.aspx

https://www.owasp.org/index.php/List_of_useful_HTTP_headers

CWE Id16
WASC Id15
Source ID3
Low (Medium)X-Content-Type-Options Header Missing
Description

The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

URLhttps://shavar.services.mozilla.com/downloads?client=navclient-auto-ffox&appver=70.0&pver=2.2
MethodPOST
ParameterX-Content-Type-Options
Instances1
Solution

Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

Other information

This issue still applies to error type pages (401, 403, 500, etc) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

At "High" threshold this scanner will not alert on client or server error responses.

Reference

http://msdn.microsoft.com/en-us/library/ie/gg622941%28v=vs.85%29.aspx

https://www.owasp.org/index.php/List_of_useful_HTTP_headers

CWE Id16
WASC Id15
Source ID3