ZAP Scanning Report

Summary of Alerts

Generated on Thu, 28 Jan 2021 14:02:41

Risk LevelNumber of Alerts
High0
Medium2
Low6
Informational2

Alerts

NameRisk LevelNumber of Instances
Cross-Domain MisconfigurationMedium35
Vulnerable JS LibraryMedium1
Absence of Anti-CSRF TokensLow4
Cookie No HttpOnly FlagLow4
Cookie Without SameSite AttributeLow6
Cookie Without Secure FlagLow2
Incomplete or No Cache-control and Pragma HTTP Header SetLow8
X-Content-Type-Options Header MissingLow27
Information Disclosure - Suspicious CommentsInformational16
Timestamp Disclosure - UnixInformational7

Alert Detail

Medium (Medium)Cross-Domain Misconfiguration
Description

Web browser data loading may be possible, due to a Cross Origin Resource Sharing (CORS) misconfiguration on the web server

URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.fancybox-1.3.1/fancybox/jquery.fancybox-1.3.1.css
MethodGET
EvidenceAccess-Control-Allow-Origin: *
URLhttps://dev.duracloud.org/duradmin/spaces
MethodGET
EvidenceAccess-Control-Allow-Origin: *
URLhttps://dev.duracloud.org/duradmin/jquery/jquery-ui.js
MethodGET
EvidenceAccess-Control-Allow-Origin: *
URLhttps://dev.duracloud.org/duradmin/style/buttons.css
MethodGET
EvidenceAccess-Control-Allow-Origin: *
URLhttps://dev.duracloud.org/duradmin/favicon.ico
MethodGET
EvidenceAccess-Control-Allow-Origin: *
URLhttps://dev.duracloud.org/duradmin/?error
MethodGET
EvidenceAccess-Control-Allow-Origin: *
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.form.min.js
MethodGET
EvidenceAccess-Control-Allow-Origin: *
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery-validate/jquery.validate.js
MethodGET
EvidenceAccess-Control-Allow-Origin: *
URLhttps://dev.duracloud.org
MethodGET
EvidenceAccess-Control-Allow-Origin: *
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.layout.js
MethodGET
EvidenceAccess-Control-Allow-Origin: *
URLhttps://dev.duracloud.org/duradmin/jquery/dc/ext/jquery.fn.ext.js
MethodGET
EvidenceAccess-Control-Allow-Origin: *
URLhttps://dev.duracloud.org/duradmin/style/jquery-ui.css
MethodGET
EvidenceAccess-Control-Allow-Origin: *
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.dropdown/jquery.dropdown.css
MethodGET
EvidenceAccess-Control-Allow-Origin: *
URLhttps://dev.duracloud.org/duradmin/jquery/dc/widget/ui.onoffswitch.js
MethodGET
EvidenceAccess-Control-Allow-Origin: *
URLhttps://dev.duracloud.org/duradmin/jquery/dc/ext/jquery.dc.common.js
MethodGET
EvidenceAccess-Control-Allow-Origin: *
URLhttps://dev.duracloud.org/duradmin/style/login.css
MethodGET
EvidenceAccess-Control-Allow-Origin: *
URLhttps://dev.duracloud.org/duradmin/jquery/dc/api/durastore-api.js
MethodGET
EvidenceAccess-Control-Allow-Origin: *
URLhttps://dev.duracloud.org/duradmin/
MethodGET
EvidenceAccess-Control-Allow-Origin: *
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.dropdown/jquery.dropdown.min.js
MethodGET
EvidenceAccess-Control-Allow-Origin: *
URLhttps://dev.duracloud.org/sitemap.xml
MethodGET
EvidenceAccess-Control-Allow-Origin: *
Instances35
Solution

Ensure that sensitive data is not available in an unauthenticated manner (using IP address white-listing, for instance).

Configure the "Access-Control-Allow-Origin" HTTP header to a more restrictive set of domains, or remove all CORS headers entirely, to allow the web browser to enforce the Same Origin Policy (SOP) in a more restrictive manner.

Other information

The CORS misconfiguration on the web server permits cross-domain read requests from arbitrary third party domains, using unauthenticated APIs on this domain. Web browser implementations do not permit arbitrary third parties to read the response from authenticated APIs, however. This reduces the risk somewhat. This misconfiguration could be used by an attacker to access data that is available in an unauthenticated manner, but which uses some other form of security, such as IP address white-listing.

Reference

http://www.hpenterprisesecurity.com/vulncat/en/vulncat/vb/html5_overly_permissive_cors_policy.html

CWE Id264
WASC Id14
Source ID3
Medium (Medium)Vulnerable JS Library
Description

The identified library jquery, version 1.7.1 is vulnerable.

URLhttps://dev.duracloud.org/duradmin/jquery/jquery.min.js
MethodGET
Evidence/*! jQuery v1.7.1
Instances1
Solution

Please upgrade to the latest version of jquery.

Other information

CVE-2020-11023

CVE-2020-11022

CVE-2015-9251

CVE-2019-11358

CVE-2012-6708

Reference

https://nvd.nist.gov/vuln/detail/CVE-2012-6708

https://github.com/jquery/jquery/issues/2432

http://research.insecurelabs.org/jquery/test/

http://blog.jquery.com/2016/01/08/jquery-2-2-and-1-12-released/

http://bugs.jquery.com/ticket/11290

https://blog.jquery.com/2019/04/10/jquery-3-4-0-released/

https://nvd.nist.gov/vuln/detail/CVE-2019-11358

https://nvd.nist.gov/vuln/detail/CVE-2015-9251

https://github.com/jquery/jquery/commit/753d591aea698e57d6db58c9f722cd0808619b1b

https://blog.jquery.com/2020/04/10/jquery-3-5-0-released/

CWE Id829
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/?error
MethodGET
Evidence<form id="loginForm" action="/duradmin/login" method="post" onsubmit="return false;" >
URLhttps://dev.duracloud.org
MethodGET
Evidence<form id="loginForm" action="/duradmin/login" method="post" onsubmit="return false;" >
URLhttps://dev.duracloud.org/duradmin/
MethodGET
Evidence<form id="loginForm" action="/duradmin/login" method="post" onsubmit="return false;" >
URLhttps://dev.duracloud.org/duradmin/spaces
MethodGET
Evidence<form id="loginForm" action="/duradmin/login" method="post" onsubmit="return false;" >
Instances4
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, __csrf_magic, CSRF] 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)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/robots.txt
MethodGET
ParameterAWSELB
EvidenceSet-Cookie: AWSELB
URLhttps://dev.duracloud.org
MethodGET
ParameterAWSELBCORS
EvidenceSet-Cookie: AWSELBCORS
URLhttps://dev.duracloud.org
MethodGET
ParameterAWSELB
EvidenceSet-Cookie: AWSELB
URLhttps://dev.duracloud.org/robots.txt
MethodGET
ParameterAWSELBCORS
EvidenceSet-Cookie: AWSELBCORS
Instances4
Solution

Ensure that the HttpOnly flag is set for all cookies.

Reference

https://owasp.org/www-community/HttpOnly

CWE Id16
WASC Id13
Source ID3
Low (Medium)Cookie Without SameSite Attribute
Description

A cookie has been set without the SameSite attribute, which means that the cookie can be sent as a result of a 'cross-site' request. The SameSite attribute is an effective counter measure to cross-site request forgery, cross-site script inclusion, and timing attacks.

URLhttps://dev.duracloud.org/duradmin/
MethodGET
ParameterJSESSIONID
EvidenceSet-Cookie: JSESSIONID
URLhttps://dev.duracloud.org
MethodGET
ParameterAWSELB
EvidenceSet-Cookie: AWSELB
URLhttps://dev.duracloud.org/robots.txt
MethodGET
ParameterAWSELBCORS
EvidenceSet-Cookie: AWSELBCORS
URLhttps://dev.duracloud.org
MethodGET
ParameterJSESSIONID
EvidenceSet-Cookie: JSESSIONID
URLhttps://dev.duracloud.org
MethodGET
ParameterAWSELBCORS
EvidenceSet-Cookie: AWSELBCORS
URLhttps://dev.duracloud.org/robots.txt
MethodGET
ParameterAWSELB
EvidenceSet-Cookie: AWSELB
Instances6
Solution

Ensure that the SameSite attribute is set to either 'lax' or ideally 'strict' for all cookies.

Reference

https://tools.ietf.org/html/draft-ietf-httpbis-cookie-same-site

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
MethodGET
ParameterAWSELB
EvidenceSet-Cookie: AWSELB
URLhttps://dev.duracloud.org/robots.txt
MethodGET
ParameterAWSELB
EvidenceSet-Cookie: AWSELB
Instances2
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

https://owasp.org/www-project-web-security-testing-guide/v41/4-Web_Application_Security_Testing/06-Session_Management_Testing/02-Testing_for_Cookies_Attributes.html

CWE Id614
WASC Id13
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/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/style/buttons.css
MethodGET
ParameterCache-Control
URLhttps://dev.duracloud.org/duradmin/style/dialogs.css
MethodGET
ParameterCache-Control
URLhttps://dev.duracloud.org/duradmin/style/flex.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/login.css
MethodGET
ParameterCache-Control
URLhttps://dev.duracloud.org/duradmin/style/jquery-ui.css
MethodGET
ParameterCache-Control
Instances8
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://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html#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/images/wait.gif
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.dropdown/jquery.dropdown.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/plugins/jquery.ba-throttle-debounce.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/style/dialogs.css
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/style/flex.css
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/style/base.css
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.fancybox-1.3.1/fancybox/jquery.easing-1.3.pack.js
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/dc/widget/ui.listdetailviewer.js
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/jquery/dc/widget/ui.expandopanel.js
MethodGET
ParameterX-Content-Type-Options
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/plugins/jquery.fancybox-1.3.1/fancybox/jquery.fancybox-1.3.1.js
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/js/thirdparty/date.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/style/buttons.css
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/jquery/jquery-ui.js
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/favicon.ico
MethodGET
ParameterX-Content-Type-Options
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery-validate/jquery.validate.js
MethodGET
ParameterX-Content-Type-Options
Instances27
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 scan rule 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://owasp.org/www-community/Security_Headers

CWE Id16
WASC Id15
Source ID3
Informational (Low)Information Disclosure - Suspicious Comments
Description

The response appears to contain suspicious comments which may help an attacker. Note: Matches made within script blocks or files are against the entire content not only comments.

URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.form.min.js
MethodGET
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.layout.js
MethodGET
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.fancybox-1.3.1/fancybox/jquery.easing-1.3.pack.js
MethodGET
URLhttps://dev.duracloud.org/duradmin/jquery/dc/ext/jquery.fn.ext.js
MethodGET
URLhttps://dev.duracloud.org/duradmin/jquery/jquery.min.js
MethodGET
URLhttps://dev.duracloud.org/duradmin/
MethodGET
URLhttps://dev.duracloud.org/duradmin/js/thirdparty/date.js
MethodGET
URLhttps://dev.duracloud.org/duradmin/jquery/dc/widget/ui.selectablelist.js
MethodGET
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery-validate/jquery.validate.js
MethodGET
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.ba-throttle-debounce.js
MethodGET
URLhttps://dev.duracloud.org
MethodGET
URLhttps://dev.duracloud.org/duradmin/?error
MethodGET
URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery.fancybox-1.3.1/fancybox/jquery.fancybox-1.3.1.js
MethodGET
URLhttps://dev.duracloud.org/duradmin/spaces
MethodGET
URLhttps://dev.duracloud.org/duradmin/jquery/jquery-ui.js
MethodGET
URLhttps://dev.duracloud.org/duradmin/jquery/dc/ext/jquery.dc.common.js
MethodGET
Instances16
Solution

Remove all comments that return information that may help an attacker and fix any underlying problems they refer to.

Other information

The following comment/snippet was identified via the pattern: \bSELECT\b

;(function(e){"use strict";function t(t){var r=t.data;t.isDefaultPrevented()||(t.preventDefault(),e(this).ajaxSubmit(r))}function r(t){var r=t.target,a=e(r);if(!a.is("[type=submit],[type=image]")){var n=a.closest("[type=submit]");if(0===n.length)return;r=n[0]}var i=this;if(i.clk=r,"image"==r.type)if(void 0!==t.offsetX)i.clk_x=t.offsetX,i.clk_y=t.offsetY;else if("function"==typeof e.fn.offset){var o=a.offset();i.clk_x=t.pageX-o.left,i.clk_y=t.pageY-o.top}else i.clk_x=t.pageX-r.offsetLeft,i.clk_y=t.pageY-r.offsetTop;setTimeout(function(){i.clk=i.clk_x=i.clk_y=null},100)}function a(){if(e.fn.ajaxSubmit.debug){var t="[jquery.form] "+Array.prototype.join.call(arguments,"");window.console&&window.console.log?window.console.log(t):window.opera&&window.opera.postError&&window.opera.postError(t)}}var n={};n.fileapi=void 0!==e("<input type='file'/>").get(0).files,n.formdata=void 0!==window.FormData;var i=!!e.fn.prop;e.fn.attr2=function(){if(!i)return this.attr.apply(this,arguments);var e=this.prop.apply(this,arguments);return e&&e.jquery||"string"==typeof e?e:this.attr.apply(this,arguments)},e.fn.ajaxSubmit=function(t){function r(r){var a,n,i=e.param(r,t.traditional).split("&"),o=i.length,s=[];for(a=0;o>a;a++)i[a]=i[a].replace(/\+/g," "),n=i[a].split("="),s.push([decodeURIComponent(n[0]),decodeURIComponent(n[1])]);return s}function o(a){for(var n=new FormData,i=0;a.length>i;i++)n.append(a[i].name,a[i].value);if(t.extraData){var o=r(t.extraData);for(i=0;o.length>i;i++)o[i]&&n.append(o[i][0],o[i][1])}t.data=null;var s=e.extend(!0,{},e.ajaxSettings,t,{contentType:!1,processData:!1,cache:!1,type:u||"POST"});t.uploadProgress&&(s.xhr=function(){var r=e.ajaxSettings.xhr();return r.upload&&r.upload.addEventListener("progress",function(e){var r=0,a=e.loaded||e.position,n=e.total;e.lengthComputable&&(r=Math.ceil(100*(a/n))),t.uploadProgress(e,a,n,r)},!1),r}),s.data=null;var l=s.beforeSend;return s.beforeSend=function(e,t){t.data=n,l&&l.call(this,e,t)},e.ajax(s)}function s(r){function n(e){var t=null;try{e.contentWindow&&(t=e.contentWindow.document)}catch(r){a("cannot get iframe.contentWindow document: "+r)}if(t)return t;try{t=e.contentDocument?e.contentDocument:e.document}catch(r){a("cannot get iframe.contentDocument: "+r),t=e.document}return t}function o(){function t(){try{var e=n(g).readyState;a("state = "+e),e&&"uninitialized"==e.toLowerCase()&&setTimeout(t,50)}catch(r){a("Server abort: ",r," (",r.name,")"),s(D),j&&clearTimeout(j),j=void 0}}var r=f.attr2("target"),i=f.attr2("action");w.setAttribute("target",d),u||w.setAttribute("method","POST"),i!=m.url&&w.setAttribute("action",m.url),m.skipEncodingOverride||u&&!/post/i.test(u)||f.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"}),m.timeout&&(j=setTimeout(function(){T=!0,s(k)},m.timeout));var o=[];try{if(m.extraData)for(var l in m.extraData)m.extraData.hasOwnProperty(l)&&(e.isPlainObject(m.extraData[l])&&m.extraData[l].hasOwnProperty("name")&&m.extraData[l].hasOwnProperty("value")?o.push(e('<input type="hidden" name="'+m.extraData[l].name+'">').val(m.extraData[l].value).appendTo(w)[0]):o.push(e('<input type="hidden" name="'+l+'">').val(m.extraData[l]).appendTo(w)[0]));m.iframeTarget||(v.appendTo("body"),g.attachEvent?g.attachEvent("onload",s):g.addEventListener("load",s,!1)),setTimeout(t,15);try{w.submit()}catch(c){var p=document.createElement("form").submit;p.apply(w)}}finally{w.setAttribute("action",i),r?w.setAttribute("target",r):f.removeAttr("target"),e(o).remove()}}function s(t){if(!x.aborted&&!F){if(M=n(g),M||(a("cannot access response document"),t=D),t===k&&x)return x.abort("timeout"),S.reject(x,"timeout"),void 0;if(t==D&&x)return x.abort("server abort"),S.reject(x,"error","server abort"),void 0;if(M&&M.location.href!=m.iframeSrc||T){g.detachEvent?g.detachEvent("onload",s):g.removeEventListener("load",s,!1);var r,i="success";try{if(T)throw"timeout";var o="xml"==m.dataType||M.XMLDocument||e.isXMLDoc(M);if(a("isXml="+o),!o&&window.opera&&(null===M.body||!M.body.innerHTML)&&--O)return a("requeing onLoad callback, DOM not available"),setTimeout(s,250),void 0;var u=M.body?M.body:M.documentElement;x.responseText=u?u.innerHTML:null,x.responseXML=M.XMLDocument?M.XMLDocument:M,o&&(m.dataType="xml"),x.getResponseHeader=function(e){var t={"content-type":m.dataType};return t[e]},u&&(x.status=Number(u.getAttribute("status"))||x.status,x.statusText=u.getAttribute("statusText")||x.statusText);var l=(m.dataType||"").toLowerCase(),c=/(json|script|text)/.test(l);if(c||m.textarea){var f=M.getElementsByTagName("textarea")[0];if(f)x.responseText=f.value,x.status=Number(f.getAttribute("status"))||x.status,x.statusText=f.getAttribute("statusText")||x.statusText;else if(c){var d=M.getElementsByTagName("pre")[0],h=M.getElementsByTagName("body")[0];d?x.responseText=d.textContent?d.textContent:d.innerText:h&&(x.responseText=h.textContent?h.textContent:h.innerText)}}else"xml"==l&&!x.responseXML&&x.responseText&&(x.responseXML=X(x.responseText));try{L=_(x,l,m)}catch(b){i="parsererror",x.error=r=b||i}}catch(b){a("error caught: ",b),i="error",x.error=r=b||i}x.aborted&&(a("upload aborted"),i=null),x.status&&(i=x.status>=200&&300>x.status||304===x.status?"success":"error"),"success"===i?(m.success&&m.success.call(m.context,L,"success",x),S.resolve(x.responseText,"success",x),p&&e.event.trigger("ajaxSuccess",[x,m])):i&&(void 0===r&&(r=x.statusText),m.error&&m.error.call(m.context,x,i,r),S.reject(x,"error",r),p&&e.event.trigger("ajaxError",[x,m,r])),p&&e.event.trigger("ajaxComplete",[x,m]),p&&!--e.active&&e.event.trigger("ajaxStop"),m.complete&&m.complete.call(m.context,x,i),F=!0,m.timeout&&clearTimeout(j),setTimeout(function(){m.iframeTarget||v.remove(),x.responseXML=null},100)}}}var l,c,m,p,d,v,g,x,b,y,T,j,w=f[0],S=e.Deferred();if(r)for(c=0;h.length>c;c++)l=e(h[c]),i?l.prop("disabled",!1):l.removeAttr("disabled");if(m=e.extend(!0,{},e.ajaxSettings,t),m.context=m.context||m,d="jqFormIO"+(new Date).getTime(),m.iframeTarget?(v=e(m.iframeTarget),y=v.attr2("name"),y?d=y:v.attr2("name",d)):(v=e('<iframe name="'+d+'" src="'+m.iframeSrc+'" />'),v.css({position:"absolute",top:"-1000px",left:"-1000px"})),g=v[0],x={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(t){var r="timeout"===t?"timeout":"aborted";a("aborting upload... "+r),this.aborted=1;try{g.contentWindow.document.execCommand&&g.contentWindow.document.execCommand("Stop")}catch(n){}v.attr("src",m.iframeSrc),x.error=r,m.error&&m.error.call(m.context,x,r,t),p&&e.event.trigger("ajaxError",[x,m,r]),m.complete&&m.complete.call(m.context,x,r)}},p=m.global,p&&0===e.active++&&e.event.trigger("ajaxStart"),p&&e.event.trigger("ajaxSend",[x,m]),m.beforeSend&&m.beforeSend.call(m.context,x,m)===!1)return m.global&&e.active--,S.reject(),S;if(x.aborted)return S.reject(),S;b=w.clk,b&&(y=b.name,y&&!b.disabled&&(m.extraData=m.extraData||{},m.extraData[y]=b.value,"image"==b.type&&(m.extraData[y+".x"]=w.clk_x,m.extraData[y+".y"]=w.clk_y)));var k=1,D=2,A=e("meta[name=csrf-token]").attr("content"),E=e("meta[name=csrf-param]").attr("content");E&&A&&(m.extraData=m.extraData||{},m.extraData[E]=A),m.forceSync?o():setTimeout(o,10);var L,M,F,O=50,X=e.parseXML||function(e,t){return window.ActiveXObject?(t=new ActiveXObject("Microsoft.XMLDOM"),t.async="false",t.loadXML(e)):t=(new DOMParser).parseFromString(e,"text/xml"),t&&t.documentElement&&"parsererror"!=t.documentElement.nodeName?t:null},C=e.parseJSON||function(e){return window.eval("("+e+")")},_=function(t,r,a){var n=t.getResponseHeader("content-type")||"",i="xml"===r||!r&&n.indexOf("xml")>=0,o=i?t.responseXML:t.responseText;return i&&"parsererror"===o.documentElement.nodeName&&e.error&&e.error("parsererror"),a&&a.dataFilter&&(o=a.dataFilter(o,r)),"string"==typeof o&&("json"===r||!r&&n.indexOf("json")>=0?o=C(o):("script"===r||!r&&n.indexOf("javascript")>=0)&&e.globalEval(o)),o};return S}if(!this.length)return a("ajaxSubmit: skipping submit process - no element selected"),this;var u,l,c,f=this;"function"==typeof t&&(t={success:t}),u=t.type||this.attr2("method"),l=t.url||this.attr2("action"),c="string"==typeof l?e.trim(l):"",c=c||window.location.href||"",c&&(c=(c.match(/^([^#]+)/)||[])[1]),t=e.extend(!0,{url:c,success:e.ajaxSettings.success,type:u||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},t);var m={};if(this.trigger("form-pre-serialize",[this,t,m]),m.veto)return a("ajaxSubmit: submit vetoed via form-pre-serialize trigger"),this;if(t.beforeSerialize&&t.beforeSerialize(this,t)===!1)return a("ajaxSubmit: submit aborted via beforeSerialize callback"),this;var p=t.traditional;void 0===p&&(p=e.ajaxSettings.traditional);var d,h=[],v=this.formToArray(t.semantic,h);if(t.data&&(t.extraData=t.data,d=e.param(t.data,p)),t.beforeSubmit&&t.beforeSubmit(v,this,t)===!1)return a("ajaxSubmit: submit aborted via beforeSubmit callback"),this;if(this.trigger("form-submit-validate",[v,this,t,m]),m.veto)return a("ajaxSubmit: submit vetoed via form-submit-validate trigger"),this;var g=e.param(v,p);d&&(g=g?g+"&"+d:d),"GET"==t.type.toUpperCase()?(t.url+=(t.url.indexOf("?")>=0?"&":"?")+g,t.data=null):t.data=g;var x=[];if(t.resetForm&&x.push(function(){f.resetForm()}),t.clearForm&&x.push(function(){f.clearForm(t.includeHidden)}),!t.dataType&&t.target){var b=t.success||function(){};x.push(function(r){var a=t.replaceTarget?"replaceWith":"html";e(t.target)[a](r).each(b,arguments)})}else t.success&&x.push(t.success);if(t.success=function(e,r,a){for(var n=t.context||this,i=0,o=x.length;o>i;i++)x[i].apply(n,[e,r,a||f,f])},t.error){var y=t.error;t.error=function(e,r,a){var n=t.context||this;y.apply(n,[e,r,a,f])}}if(t.complete){var T=t.complete;t.complete=function(e,r){var a=t.context||this;T.apply(a,[e,r,f])}}var j=e('input[type=file]:enabled[value!=""]',this),w=j.length>0,S="multipart/form-data",k=f.attr("enctype")==S||f.attr("encoding")==S,D=n.fileapi&&n.formdata;a("fileAPI :"+D);var A,E=(w||k)&&!D;t.iframe!==!1&&(t.iframe||E)?t.closeKeepAlive?e.get(t.closeKeepAlive,function(){A=s(v)}):A=s(v):A=(w||k)&&D?o(v):e.ajax(t),f.removeData("jqxhr").data("jqxhr",A);for(var L=0;h.length>L;L++)h[L]=null;return this.trigger("form-submit-notify",[this,t]),this},e.fn.ajaxForm=function(n){if(n=n||{},n.delegation=n.delegation&&e.isFunction(e.fn.on),!n.delegation&&0===this.length){var i={s:this.selector,c:this.context};return!e.isReady&&i.s?(a("DOM not ready, queuing ajaxForm"),e(function(){e(i.s,i.c).ajaxForm(n)}),this):(a("terminating; zero elements found by selector"+(e.isReady?"":" (DOM not ready)")),this)}return n.delegation?(e(document).off("submit.form-plugin",this.selector,t).off("click.form-plugin",this.selector,r).on("submit.form-plugin",this.selector,n,t).on("click.form-plugin",this.selector,n,r),this):this.ajaxFormUnbind().bind("submit.form-plugin",n,t).bind("click.form-plugin",n,r)},e.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")},e.fn.formToArray=function(t,r){var a=[];if(0===this.length)return a;var i=this[0],o=t?i.getElementsByTagName("*"):i.elements;if(!o)return a;var s,u,l,c,f,m,p;for(s=0,m=o.length;m>s;s++)if(f=o[s],l=f.name,l&&!f.disabled)if(t&&i.clk&&"image"==f.type)i.clk==f&&(a.push({name:l,value:e(f).val(),type:f.type}),a.push({name:l+".x",value:i.clk_x},{name:l+".y",value:i.clk_y}));else if(c=e.fieldValue(f,!0),c&&c.constructor==Array)for(r&&r.push(f),u=0,p=c.length;p>u;u++)a.push({name:l,value:c[u]});else if(n.fileapi&&"file"==f.type){r&&r.push(f);var d=f.files;if(d.length)for(u=0;d.length>u;u++)a.push({name:l,value:d[u],type:f.type});else a.push({name:l,value:"",type:f.type})}else null!==c&&c!==void 0&&(r&&r.push(f),a.push({name:l,value:c,type:f.type,required:f.required}));if(!t&&i.clk){var h=e(i.clk),v=h[0];l=v.name,l&&!v.disabled&&"image"==v.type&&(a.push({name:l,value:h.val()}),a.push({name:l+".x",value:i.clk_x},{name:l+".y",value:i.clk_y}))}return a},e.fn.formSerialize=function(t){return e.param(this.formToArray(t))},e.fn.fieldSerialize=function(t){var r=[];return this.each(function(){var a=this.name;if(a){var n=e.fieldValue(this,t);if(n&&n.constructor==Array)for(var i=0,o=n.length;o>i;i++)r.push({name:a,value:n[i]});else null!==n&&n!==void 0&&r.push({name:this.name,value:n})}}),e.param(r)},e.fn.fieldValue=function(t){for(var r=[],a=0,n=this.length;n>a;a++){var i=this[a],o=e.fieldValue(i,t);null===o||void 0===o||o.constructor==Array&&!o.length||(o.constructor==Array?e.merge(r,o):r.push(o))}return r},e.fieldValue=function(t,r){var a=t.name,n=t.type,i=t.tagName.toLowerCase();if(void 0===r&&(r=!0),r&&(!a||t.disabled||"reset"==n||"button"==n||("checkbox"==n||"radio"==n)&&!t.checked||("submit"==n||"image"==n)&&t.form&&t.form.clk!=t||"select"==i&&-1==t.selectedIndex))return null;if("select"==i){var o=t.selectedIndex;if(0>o)return null;for(var s=[],u=t.options,l="select-one"==n,c=l?o+1:u.length,f=l?o:0;c>f;f++){var m=u[f];if(m.selected){var p=m.value;if(p||(p=m.attributes&&m.attributes.value&&!m.attributes.value.specified?m.text:m.value),l)return p;s.push(p)}}return s}return e(t).val()},e.fn.clearForm=function(t){return this.each(function(){e("input,select,textarea",this).clearFields(t)})},e.fn.clearFields=e.fn.clearInputs=function(t){var r=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;return this.each(function(){var a=this.type,n=this.tagName.toLowerCase();r.test(a)||"textarea"==n?this.value="":"checkbox"==a||"radio"==a?this.checked=!1:"select"==n?this.selectedIndex=-1:"file"==a?/MSIE/.test(navigator.userAgent)?e(this).replaceWith(e(this).clone(!0)):e(this).val(""):t&&(t===!0&&/hidden/.test(a)||"string"==typeof t&&e(this).is(t))&&(this.value="")})},e.fn.resetForm=function(){return this.each(function(){("function"==typeof this.reset||"object"==typeof this.reset&&!this.reset.nodeType)&&this.reset()})},e.fn.enable=function(e){return void 0===e&&(e=!0),this.each(function(){this.disabled=!e})},e.fn.selected=function(t){return void 0===t&&(t=!0),this.each(function(){var r=this.type;if("checkbox"==r||"radio"==r)this.checked=t;else if("option"==this.tagName.toLowerCase()){var a=e(this).parent("select");t&&a[0]&&"select-one"==a[0].type&&a.find("option").selected(!1),this.selected=t}})},e.fn.ajaxSubmit.debug=!1})(jQuery);

Reference

CWE Id200
WASC Id13
Source ID3
Informational (Low)Timestamp Disclosure - Unix
Description

A timestamp was disclosed by the application/web server - Unix

URLhttps://dev.duracloud.org/duradmin/jquery/plugins/jquery-validate/jquery.validate.js
MethodGET
Evidence2147483647
URLhttps://dev.duracloud.org/duradmin/js/thirdparty/date.js
MethodGET
Evidence86400000
URLhttps://dev.duracloud.org/duradmin/js/thirdparty/date.js
MethodGET
Evidence604800000
URLhttps://dev.duracloud.org/duradmin/style/base.css
MethodGET
Evidence20080212
URLhttps://dev.duracloud.org/duradmin/jquery/jquery-ui.js
MethodGET
Evidence0123456789
URLhttps://dev.duracloud.org/duradmin/jquery/jquery-ui.js
MethodGET
Evidence86400000
URLhttps://dev.duracloud.org/duradmin/jquery/jquery-ui.js
MethodGET
Evidence10000000
Instances7
Solution

Manually confirm that the timestamp data is not sensitive, and that the data cannot be aggregated to disclose exploitable patterns.

Other information

2147483647, which evaluates to: 2038-01-18 22:14:07

Reference

http://projects.webappsec.org/w/page/13246936/Information%20Leakage

CWE Id200
WASC Id13
Source ID3