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 |
2 |
0 |
2 |
Low |
4 |
2 |
0 |
6 |
Information |
33 |
7 |
3 |
43 |
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 |
5 |
Severity |
High |
|
|
Medium |
|
|
Low |
|
|
Contents
1. SSL cookie without secure flag set
1.1. https://multitool.ciditools.com/cropped/
1.2. https://multitool.ciditools.com/uei/config/config.php
2. Cross-site scripting (reflected)
2.1. https://multitool.ciditools.com/health.php [Referer HTTP header]
2.2. https://multitool.ciditools.com/health.php [User-Agent HTTP
header]
3. Cookie without HttpOnly flag set
3.1. https://multitool.ciditools.com/cropped/
3.2. https://multitool.ciditools.com/uei/config/config.php
4. Strict transport security not enforced
4.1. https://multitool.ciditools.com/
4.2. https://multitool.ciditools.com/robots.txt
5. Path-relative style sheet import
5.1. https://multitool.ciditools.com/install/
5.2. https://multitool.ciditools.com/install/complete.php
5.3. https://multitool.ciditools.com/install/index.php
6. Referer-dependent response
7. Spoofable client IP address
8. User agent-dependent response
9. Input returned in response (reflected)
9.1. https://multitool.ciditools.com/health.php [Referer HTTP header]
9.2. https://multitool.ciditools.com/health.php [User-Agent HTTP
header]
10. Cross-domain script include
10.1. https://multitool.ciditools.com/cancelled.php
10.2. https://multitool.ciditools.com/controller.php
10.3. https://multitool.ciditools.com/cropped/cancelled.php
10.4. https://multitool.ciditools.com/cropped/controller.php
10.5. https://multitool.ciditools.com/cropped/oauth2response.php
10.6. https://multitool.ciditools.com/install/
10.7. https://multitool.ciditools.com/install/complete.php
10.8. https://multitool.ciditools.com/install/index.php
10.9. https://multitool.ciditools.com/resources/oauth2response.php
11. Frameable response (potential Clickjacking)
11.1. https://multitool.ciditools.com/
11.2. https://multitool.ciditools.com/cancelled.php
11.3. https://multitool.ciditools.com/controller.php
12. Directory listing
13. Email addresses disclosed
13.1. https://multitool.ciditools.com/
13.2. https://multitool.ciditools.com/cancelled.php
13.3. https://multitool.ciditools.com/cropped/cancelled.php
13.4. https://multitool.ciditools.com/install/
13.5. https://multitool.ciditools.com/install/index.php
13.6. https://multitool.ciditools.com/uei/composer.lock
14. Private IP addresses disclosed
14.1. https://multitool.ciditools.com/health.php
14.2. https://multitool.ciditools.com/health.php
14.3. https://multitool.ciditools.com/uei/vendor/league/oauth2-client/README.md
15. Cacheable HTTPS response
15.1. https://multitool.ciditools.com/
15.2. https://multitool.ciditools.com/cancelled.php
15.3. https://multitool.ciditools.com/config.php
15.4. https://multitool.ciditools.com/controller.php
15.5. https://multitool.ciditools.com/genkey.php
15.6. https://multitool.ciditools.com/health.php
15.7. https://multitool.ciditools.com/path.php
15.8. https://multitool.ciditools.com/set_session.php
15.9. https://multitool.ciditools.com/toolLTI.php
16. Content type is not specified
16.1. https://multitool.ciditools.com/uei
16.2. https://multitool.ciditools.com/uei/README.md
16.3. https://multitool.ciditools.com/uei/composer.lock
17. SSL certificate
1. SSL
cookie without secure flag set
Next
There are 2 instances of this issue:
Issue background
If the secure flag is set on a cookie, then browsers will not submit the cookie in any requests that use
an unencrypted HTTP connection, thereby preventing the cookie from being trivially intercepted by an
attacker monitoring network traffic. If the secure flag is not set, then the cookie will be transmitted
in clear-text if the user visits any HTTP URLs within the cookie's scope. An attacker may be able to
induce this event by feeding a user suitable links, either directly or via another web site. Even if the
domain that issued the cookie does not host any content that is accessed over HTTP, an attacker may be
able to use links of the form http://example.com:443/ to perform the same attack.
To exploit this vulnerability, an attacker must be suitably positioned to eavesdrop on 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 secure flag should be set on all cookies that are used for transmitting sensitive data when accessing
content over HTTPS. If cookies are used to transmit session tokens, then areas of the application that
are accessed over HTTPS should employ their own session handling mechanism, and the session tokens used
should never be transmitted over unencrypted communications.
Vulnerability classifications
1.1. https://multitool.ciditools.com/cropped/
Next
Summary
|
Severity: |
Medium |
Confidence: |
Firm |
Host: |
https://multitool.ciditools.com |
Path: |
/cropped/ |
Issue detail
The following cookie was issued by the application and does not have the secure flag set:The cookie appears to contain a session token, which may increase the risk associated with this issue.
You should review the contents of the cookie to determine its function.
Request
GET /cropped/ HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response
HTTP/1.1 200 OK
Cache-Control: no-store, no-cache, must-revalidate
Content-Type:
text/html; charset=UTF-8
Date: Mon, 09 Dec 2019 21:56:14 GMT
Expires: Thu, 19 Nov 1981 08:52:00
GMT
Pragma: no-cache
Server: Apache/2.4.18 (Ubuntu)
Set-Cookie:
PHPSESSID=t2ehk9395noriarahbk3ee87l5; path=/
Vary: Accept-Encoding
Content-Length:
276
Connection: Close
<!-- These tools were designed to facilitate rapid course development
in the Canvas LMS
Copyright (C) 2017 Ludovic Attiogbe and Kenneth larsen - Center for Innovative
Design and Instruction
Utah Stat
...[SNIP]...
1.2. https://multitool.ciditools.com/uei/config/config.php
Previous
Next
Summary
|
Severity: |
Medium |
Confidence: |
Firm |
Host: |
https://multitool.ciditools.com |
Path: |
/uei/config/config.php |
Issue detail
The following cookie was issued by the application and does not have the secure flag set:The cookie appears to contain a session token, which may increase the risk associated with this issue.
You should review the contents of the cookie to determine its function.
Request
GET /uei/config/config.php HTTP/1.1
Host:
multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Referer: https://multitool.ciditools.com/uei/config/
Response
HTTP/1.1 200 OK
Cache-Control: no-store, no-cache, must-revalidate
Content-Type:
text/html; charset=UTF-8
Date: Mon, 09 Dec 2019 21:57:01 GMT
Expires: Thu, 19 Nov 1981 08:52:00
GMT
Pragma: no-cache
Server: Apache/2.4.18 (Ubuntu)
Set-Cookie:
PHPSESSID=nsnqglecrmbatm05hb9gkq91v6; path=/
Vary: Accept-Encoding
Content-Length:
32
Connection: Close
Missing institution credentials.
2. Cross-site
scripting (reflected)
Previous
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.
Issue remediation
In most situations where user-controllable data is copied into application responses, cross-site
scripting
attacks can be prevented using two layers of defenses:
- Input should be validated as strictly as possible on arrival, given the kind of content that
it is expected to contain. For example, personal names should consist of alphabetical
and a small range of typographical characters, and be relatively short; a year of birth
should consist of exactly four numerals; email addresses should match a well-defined
regular expression. Input which fails the validation should be rejected, not sanitized.
- User input should be HTML-encoded at any point where it is copied into
application responses. All HTML metacharacters, including < > " ' and =, should be
replaced with the corresponding HTML entities (< > etc).
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
2.1. https://multitool.ciditools.com/health.php [Referer HTTP header]
Previous
Next
Summary
|
Severity: |
Low |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/health.php |
Issue detail
The value of the Referer HTTP header is copied into the HTML document as plain text
between tags. The payload ml0q2<script>alert(1)</script>ptvv5 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.
Request
GET /health.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Referer: https://example.com/ml0q2<script>alert(1)</script>ptvv5
Response
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:22:42 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
2450
Connection: Close
<p>Counter is
3916226</p><table><tr><td>USER</td><td>multitool</td></tr><tr><td>HOME</td><td>/home/multitool</td></tr><tr><td>SCRIPT_NAME</td><td>/health.php</td></tr><tr><td>REQUEST_URI</td><td>/heal
...[SNIP]...
<td>https://example.com/ml0q2<script>alert(1)</script>ptvv5</td>
...[SNIP]...
2.2. https://multitool.ciditools.com/health.php [User-Agent HTTP
header]
Previous
Next
Summary
|
Severity: |
Low |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/health.php |
Issue detail
The value of the User-Agent HTTP header is copied into the HTML document as plain text
between tags. The payload i4yhn<script>alert(1)</script>e8i4t 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.
Request
GET /health.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36i4yhn<script>alert(1)</script>e8i4t
Connection:
close
Cache-Control: max-age=0
Response
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:22:18 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
2391
Connection: Close
<p>Counter is
3916150</p><table><tr><td>USER</td><td>multitool</td></tr><tr><td>HOME</td><td>/home/multitool</td></tr><tr><td>SCRIPT_NAME</td><td>/health.php</td></tr><tr><td>REQUEST_URI</td><td>/heal
...[SNIP]...
<td>Mozilla/5.0
(Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100
Safari/537.36i4yhn<script>alert(1)</script>e8i4t</td>
...[SNIP]...
3. Cookie
without HttpOnly flag set
Previous
Next
There are 2 instances of this issue:
Issue background
If the HttpOnly attribute is set on a cookie, then the cookie's value cannot be read or set by
client-side JavaScript. This measure makes certain client-side attacks, such as cross-site scripting,
slightly harder to exploit by preventing them from trivially capturing the cookie's value via an
injected script.
Issue remediation
There is usually no good reason not to set the HttpOnly flag on all cookies. Unless you specifically
require legitimate client-side scripts within your application to read or set a cookie's value, you
should set the HttpOnly flag by including this attribute within the relevant Set-cookie directive.
You should be aware that the restrictions imposed by the HttpOnly flag can potentially be circumvented in
some circumstances, and that numerous other serious attacks can be delivered by client-side script
injection, aside from simple cookie stealing.
References
Vulnerability classifications
3.1. https://multitool.ciditools.com/cropped/
Previous
Next
Summary
|
Severity: |
Low |
Confidence: |
Firm |
Host: |
https://multitool.ciditools.com |
Path: |
/cropped/ |
Issue detail
The following cookie was issued by the application and does not have the HttpOnly flag set:
The cookie appears to contain a session token, which may increase the risk associated with this issue.
You should review the contents of the cookie to determine its function.
Request
GET /cropped/ HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response
HTTP/1.1 200 OK
Cache-Control: no-store, no-cache, must-revalidate
Content-Type:
text/html; charset=UTF-8
Date: Mon, 09 Dec 2019 21:56:14 GMT
Expires: Thu, 19 Nov 1981 08:52:00
GMT
Pragma: no-cache
Server: Apache/2.4.18 (Ubuntu)
Set-Cookie:
PHPSESSID=t2ehk9395noriarahbk3ee87l5; path=/
Vary: Accept-Encoding
Content-Length:
276
Connection: Close
<!-- These tools were designed to facilitate rapid course development
in the Canvas LMS
Copyright (C) 2017 Ludovic Attiogbe and Kenneth larsen - Center for Innovative
Design and Instruction
Utah Stat
...[SNIP]...
3.2. https://multitool.ciditools.com/uei/config/config.php
Previous
Next
Summary
|
Severity: |
Low |
Confidence: |
Firm |
Host: |
https://multitool.ciditools.com |
Path: |
/uei/config/config.php |
Issue detail
The following cookie was issued by the application and does not have the HttpOnly flag set:
The cookie appears to contain a session token, which may increase the risk associated with this issue.
You should review the contents of the cookie to determine its function.
Request
GET /uei/config/config.php HTTP/1.1
Host:
multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Referer: https://multitool.ciditools.com/uei/config/
Response
HTTP/1.1 200 OK
Cache-Control: no-store, no-cache, must-revalidate
Content-Type:
text/html; charset=UTF-8
Date: Mon, 09 Dec 2019 21:57:01 GMT
Expires: Thu, 19 Nov 1981 08:52:00
GMT
Pragma: no-cache
Server: Apache/2.4.18 (Ubuntu)
Set-Cookie:
PHPSESSID=nsnqglecrmbatm05hb9gkq91v6; path=/
Vary: Accept-Encoding
Content-Length:
32
Connection: Close
Missing institution credentials.
4. Strict
transport security not enforced
Previous
Next
There are 2 instances of this issue:
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
4.1. https://multitool.ciditools.com/
Previous
Next
Summary
|
Severity: |
Low |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/ |
Issue detail
This issue was found in multiple locations under the reported path.
Request
GET /cancelled.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:21:35 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
1149
Connection: Close
<!DOCTYPE html>
<head>
<!--
Global site tag (gtag.js) - Google Analytics -->
<script async
src="https://www.googletagmanager.com/gtag/js?id=UA-74231940-3"></script>
<script>
window.dataLayer =
w
...[SNIP]...
4.2. https://multitool.ciditools.com/robots.txt
Previous
Next
Summary
|
Severity: |
Low |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/robots.txt |
Request
GET /robots.txt HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response
HTTP/1.1 404 Not Found
Content-Type: text/html; charset=iso-8859-1
Date: Mon, 09
Dec 2019 21:13:02 GMT
Server: Apache/2.4.18 (Ubuntu)
Content-Length: 285
Connection:
Close
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML
2.0//EN">
<html><head>
<title>404 Not
Found</title>
</head><body>
<h1>Not Found</h1>
<p>The
requested URL was not found on this
server.</p>
<hr>
<address>Apach
...[SNIP]...
5. Path-relative
style sheet import
Previous
Next
There are 3 instances of this issue:
Issue background
Path-relative style sheet import vulnerabilities arise when the following conditions hold:
- 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").
- 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.
- 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.
- 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.
- 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:
- Executing arbitrary JavaScript using IE's expression() function.
- Using CSS selectors to read parts of the HTML source, which may include sensitive data such as
anti-CSRF tokens.
- Capturing any sensitive data within the URL query string by making a further style sheet import to a
URL on the attacker's domain, and monitoring the incoming Referer header.
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:
- Setting the HTTP response header "X-Frame-Options: deny" in all responses. One method that an
attacker can use to make a page render in quirks mode is to frame it within their own page that is
rendered in quirks mode. Setting this header prevents the page from being framed.
- Setting a modern doctype (e.g. "<!doctype html>") in all HTML responses. This prevents the
page from being rendered in quirks mode (unless it is being framed, as described above).
- Setting the HTTP response header "X-Content-Type-Options: nosniff" in all responses. This prevents
the browser from processing a non-CSS response as CSS, even if another page loads the response via a
style sheet import.
References
Vulnerability classifications
5.1. https://multitool.ciditools.com/install/
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Tentative |
Host: |
https://multitool.ciditools.com |
Path: |
/install/ |
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. The page
does not contain a doctype directive, and so it will always be rendered in quirks mode. Further, the
response does not prevent itself from being framed, so 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.
Request
GET /install/ HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:56:18 GMT
Server: Apache/2.4.18 (Ubuntu)
Set-Cookie: dtinstallsession=deleted; expires=Thu,
01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
Set-Cookie: dtinstalldomain=deleted; expires=Thu,
01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
Vary: Accept-Encoding
Content-Length:
13418
Connection: Close
<!DOCTYPE html>
<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async
src="https://www.googletagmanager.com/gtag/js?id=UA-74231940-3"></script>
<script>
window.dataLayer =
...[SNIP]...
<link rel="stylesheet"
href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
<link rel="stylesheet"
href="css/main.css" type="text/css">
<link rel="stylesheet" href="css/prettify.css"
type="text/css">
<link
rel="shortcut icon" href="https://files.ciditools.com/cidi/logos/DesignPLUS-icon.png"
type="image/png">
...[SNIP]...
5.2. https://multitool.ciditools.com/install/complete.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Tentative |
Host: |
https://multitool.ciditools.com |
Path: |
/install/complete.php |
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. The page
does not contain a doctype directive, and so it will always be rendered in quirks mode. Further, the
response does not prevent itself from being framed, so 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.
Request
GET /install/complete.php HTTP/1.1
Host:
multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Response
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:56:20 GMT
Server: Apache/2.4.18 (Ubuntu)
Set-Cookie: dtinstallsession=deleted; expires=Thu,
01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
Set-Cookie: dtinstalldomain=deleted; expires=Thu,
01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
Vary: Accept-Encoding
Content-Length:
2893
Connection: Close
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Design Tools Install</title>
...[SNIP]...
<link
rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
<link
rel="stylesheet" href="css/main.css" type="text/css">
<link rel="stylesheet"
href="css/prettify.css" type="text/css">
<link rel="shortcut icon"
href="https://files.ciditools.com/cidi/logos/DesignPLUS-icon.png"
type="image/png">
...[SNIP]...
5.3. https://multitool.ciditools.com/install/index.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Tentative |
Host: |
https://multitool.ciditools.com |
Path: |
/install/index.php |
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. The page
does not contain a doctype directive, and so it will always be rendered in quirks mode. Further, the
response does not prevent itself from being framed, so 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.
Request
GET /install/index.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Referer:
https://multitool.ciditools.com/install/complete.php
Response
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:56:39 GMT
Server: Apache/2.4.18 (Ubuntu)
Set-Cookie: dtinstallsession=deleted; expires=Thu,
01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
Set-Cookie: dtinstalldomain=deleted; expires=Thu,
01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
Vary: Accept-Encoding
Content-Length:
13418
Connection: Close
<!DOCTYPE html>
<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async
src="https://www.googletagmanager.com/gtag/js?id=UA-74231940-3"></script>
<script>
window.dataLayer =
...[SNIP]...
<link rel="stylesheet"
href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
<link rel="stylesheet"
href="css/main.css" type="text/css">
<link rel="stylesheet" href="css/prettify.css"
type="text/css">
<link
rel="shortcut icon" href="https://files.ciditools.com/cidi/logos/DesignPLUS-icon.png"
type="image/png">
...[SNIP]...
6. Referer-dependent
response
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Firm |
Host: |
https://multitool.ciditools.com |
Path: |
/health.php |
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:
- Referer-based access controls, where the application assumes that if you have arrived from one
privileged location then you are authorized to access another privileged location. These controls
can be trivially defeated by supplying an accepted Referer header in requests for the vulnerable
function.
- Attempts to prevent cross-site request forgery attacks by verifying that requests to perform
privileged actions originated from within the application itself and not from some external
location. Such defenses are often not robust, and can be bypassed by removing the Referer header
entirely.
- Delivery of Referer-tailored content, such as welcome messages to visitors from specific domains,
search-engine optimization (SEO) techniques, and other ways of tailoring the user's experience. Such
behaviors often have no security impact; however, unsafe processing of the Referer header may
introduce vulnerabilities such as SQL injection and cross-site scripting. If parts of the document
(such as META keywords) are updated based on search engine queries contained in the Referer header,
then the application may be vulnerable to persistent code injection attacks, in which search terms
are manipulated to cause malicious content to appear in responses served to other application users.
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 /health.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:23:24 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length: 2357
Connection: Close
<p>Counter is
3916266</p><table><tr><td>USER</td><td>multitool</td></tr><tr><td>HOME</td><td>/home/multitool</td></tr><tr><td>SCRIPT_NAME</td><td>/health.php</td></tr><tr><td>REQUEST_URI</td><td>/heal
...[SNIP]...
Request 2
GET /health.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Referer:
http://pvesgvcyou.com/
Response 2
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:23:24 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length: 2418
Connection: Close
<p>Counter is
3916267</p><table><tr><td>USER</td><td>multitool</td></tr><tr><td>HOME</td><td>/home/multitool</td></tr><tr><td>SCRIPT_NAME</td><td>/health.php</td></tr><tr><td>REQUEST_URI</td><td>/heal
...[SNIP]...
</tr><tr><td>HTTPS</td><td>on</td></tr></table>
7. Spoofable
client IP address
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Firm |
Host: |
https://multitool.ciditools.com |
Path: |
/health.php |
Issue description
If an application trusts an HTTP request header like X-Forwarded-For to accurately specify the remote IP
address of the connecting client, then malicious clients can spoof their IP address. This behavior does
not necessarily constitute a security vulnerability, however some applications use client IP addresses
to enforce access controls and rate limits. For example, an application might expose administrative
functionality only to clients connecting from the local IP address of the server, or allow a certain
number of failed login attempts from each unique IP address.
Consider reviewing relevant functionality to determine whether this might be the case.
Issue remediation
HTTP request headers such as X-Forwarded-For, True-Client-IP, and X-Real-IP are not a robust foundation
on which to build any security measures, such as access controls. Any such measures should be replaced
with more secure alternatives that are not vulnerable to spoofing.
If the platform application server returns incorrect information about the client's IP address due to the
presence of any particular HTTP request header, then the server may need to be reconfigured, or an
alternative method of identifying clients should be used.
Vulnerability classifications
Request 1
GET /health.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:23:32 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length: 2357
Connection: Close
<p>Counter is
3916293</p><table><tr><td>USER</td><td>multitool</td></tr><tr><td>HOME</td><td>/home/multitool</td></tr><tr><td>SCRIPT_NAME</td><td>/health.php</td></tr><tr><td>REQUEST_URI</td><td>/heal
...[SNIP]...
Request 2
GET /health.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
X-Forwarded-For: 127.0.0.1
Response 2
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:23:32 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length: 2368
Connection: Close
<p>Counter is
3916294</p><table><tr><td>USER</td><td>multitool</td></tr><tr><td>HOME</td><td>/home/multitool</td></tr><tr><td>SCRIPT_NAME</td><td>/health.php</td></tr><tr><td>REQUEST_URI</td><td>/heal
...[SNIP]...
8. User
agent-dependent response
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Firm |
Host: |
https://multitool.ciditools.com |
Path: |
/health.php |
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 /health.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:21:36 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length: 2356
Connection: Close
<p>Counter is
3916108</p><table><tr><td>USER</td><td>multitool</td></tr><tr><td>HOME</td><td>/home/multitool</td></tr><tr><td>SCRIPT_NAME</td><td>/health.php</td></tr><tr><td>REQUEST_URI</td><td>/heal
...[SNIP]...
Request 2
GET /health.php HTTP/1.1
Host: multitool.ciditools.com
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/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:23:28 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length: 2376
Connection: Close
<p>Counter is
3916280</p><table><tr><td>USER</td><td>multitool</td></tr><tr><td>HOME</td><td>/home/multitool</td></tr><tr><td>SCRIPT_NAME</td><td>/health.php</td></tr><tr><td>REQUEST_URI</td><td>/heal
...[SNIP]...
9. Input
returned in response (reflected)
Previous
Next
There are 2 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
9.1. https://multitool.ciditools.com/health.php [Referer HTTP header]
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/health.php |
Issue detail
The value of the Referer HTTP header is copied into the application's response.
Request 1
GET /health.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Referer: https://example.com/o1au4an6lb
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:22:41 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
2425
Connection: Close
<p>Counter is
3916223</p><table><tr><td>USER</td><td>multitool</td></tr><tr><td>HOME</td><td>/home/multitool</td></tr><tr><td>SCRIPT_NAME</td><td>/health.php</td></tr><tr><td>REQUEST_URI</td><td>/heal
...[SNIP]...
<td>https://example.com/o1au4an6lb</td>
...[SNIP]...
9.2. https://multitool.ciditools.com/health.php [User-Agent HTTP
header]
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/health.php |
Issue detail
The value of the User-Agent HTTP header is copied into the application's
response.
Request 1
GET /health.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36gr531knofj
Connection: close
Cache-Control:
max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:22:18 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
2366
Connection: Close
<p>Counter is
3916147</p><table><tr><td>USER</td><td>multitool</td></tr><tr><td>HOME</td><td>/home/multitool</td></tr><tr><td>SCRIPT_NAME</td><td>/health.php</td></tr><tr><td>REQUEST_URI</td><td>/heal
...[SNIP]...
<td>Mozilla/5.0
(Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100
Safari/537.36gr531knofj</td>
...[SNIP]...
10. Cross-domain
script include
Previous
Next
There are 9 instances of this issue:
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
10.1. https://multitool.ciditools.com/cancelled.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/cancelled.php |
Issue detail
The response dynamically includes the following script from another domain:
- https://www.googletagmanager.com/gtag/js?id=UA-74231940-3
Request 1
GET /cancelled.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:21:35 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
1149
Connection: Close
<!DOCTYPE html>
<head>
<!--
Global site tag (gtag.js) - Google Analytics -->
<script async
src="https://www.googletagmanager.com/gtag/js?id=UA-74231940-3"></script>
<script>
window.dataLayer =
w
...[SNIP]...
10.2. https://multitool.ciditools.com/controller.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/controller.php |
Issue detail
The response dynamically includes the following script from another domain:
- https://www.googletagmanager.com/gtag/js?id=UA-74231940-3
Request 1
GET /controller.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:21:36 GMT
P3P: CP="CAO PSA OUR"
Server: Apache/2.4.18 (Ubuntu)
Vary:
Accept-Encoding
Content-Length: 593
Connection: Close
<!DOCTYPE
html>
<head>
<!-- Global site tag (gtag.js) - Google Analytics
-->
<script async
src="https://www.googletagmanager.com/gtag/js?id=UA-74231940-3"></script>
<script>
window.dataLayer =
w
...[SNIP]...
10.3. https://multitool.ciditools.com/cropped/cancelled.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/cropped/cancelled.php |
Issue detail
The response dynamically includes the following script from another domain:
- https://www.googletagmanager.com/gtag/js?id=UA-74231940-3
Request 1
GET /cropped/cancelled.php HTTP/1.1
Host:
multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:56:13 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
1141
Connection: Close
<!DOCTYPE html>
<head>
<!--
Global site tag (gtag.js) - Google Analytics -->
<script async
src="https://www.googletagmanager.com/gtag/js?id=UA-74231940-3"></script>
<script>
window.dataLayer =
w
...[SNIP]...
10.4. https://multitool.ciditools.com/cropped/controller.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/cropped/controller.php |
Issue detail
The response dynamically includes the following script from another domain:
- https://www.googletagmanager.com/gtag/js?id=UA-74231940-3
Request 1
GET /cropped/controller.php HTTP/1.1
Host:
multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:56:14 GMT
P3P: CP="CAO PSA OUR"
Server: Apache/2.4.18 (Ubuntu)
Vary:
Accept-Encoding
Content-Length: 520
Connection: Close
<!DOCTYPE
html>
<head>
<!-- Global site tag (gtag.js) - Google Analytics
-->
<script async
src="https://www.googletagmanager.com/gtag/js?id=UA-74231940-3"></script>
<script>
window.dataLayer =
w
...[SNIP]...
10.5. https://multitool.ciditools.com/cropped/oauth2response.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/cropped/oauth2response.php |
Issue detail
The response dynamically includes the following script from another domain:
- https://www.googletagmanager.com/gtag/js?id=UA-74231940-3
Request 1
GET /cropped/oauth2response.php HTTP/1.1
Host:
multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:56:15 GMT
Server: Apache/2.4.18 (Ubuntu)
Set-Cookie: testCookie=deleted; expires=Thu,
01-Jan-1970 00:00:01 GMT; Max-Age=0
Vary: Accept-Encoding
Content-Length: 524
Connection:
Close
<!DOCTYPE html>
<head>
<!-- Global site tag
(gtag.js) - Google Analytics -->
<script async
src="https://www.googletagmanager.com/gtag/js?id=UA-74231940-3"></script>
<script>
window.dataLayer =
w
...[SNIP]...
10.6. https://multitool.ciditools.com/install/
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/install/ |
Issue detail
The response dynamically includes the following scripts from other domains:
- https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js
- https://code.jquery.com/jquery-3.2.1.min.js
- https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js
- https://www.googletagmanager.com/gtag/js?id=UA-74231940-3
Request 1
GET /install/ HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:56:18 GMT
Server: Apache/2.4.18 (Ubuntu)
Set-Cookie: dtinstallsession=deleted; expires=Thu,
01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
Set-Cookie: dtinstalldomain=deleted; expires=Thu,
01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
Vary: Accept-Encoding
Content-Length:
13418
Connection: Close
<!DOCTYPE html>
<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async
src="https://www.googletagmanager.com/gtag/js?id=UA-74231940-3"></script>
<script>
window.dataLayer =
...[SNIP]...
</script>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js"
integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4"
crossorigin="anonymous"></script>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js"
integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1"
crossorigin="anonymous"></script>
...[SNIP]...
10.7. https://multitool.ciditools.com/install/complete.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/install/complete.php |
Issue detail
The response dynamically includes the following scripts from other domains:
- https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js
- https://code.jquery.com/jquery-3.2.1.min.js
- https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js
Request 1
GET /install/complete.php HTTP/1.1
Host:
multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:56:20 GMT
Server: Apache/2.4.18 (Ubuntu)
Set-Cookie: dtinstallsession=deleted; expires=Thu,
01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
Set-Cookie: dtinstalldomain=deleted; expires=Thu,
01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
Vary: Accept-Encoding
Content-Length:
2893
Connection: Close
<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Design Tools
Install</title>
...[SNIP]...
</script>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js"
integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4"
crossorigin="anonymous"></script>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js"
integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1"
crossorigin="anonymous"></script>
...[SNIP]...
10.8. https://multitool.ciditools.com/install/index.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/install/index.php |
Issue detail
The response dynamically includes the following scripts from other domains:
- https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js
- https://code.jquery.com/jquery-3.2.1.min.js
- https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js
- https://www.googletagmanager.com/gtag/js?id=UA-74231940-3
Request 1
GET /install/index.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Referer:
https://multitool.ciditools.com/install/complete.php
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:56:39 GMT
Server: Apache/2.4.18 (Ubuntu)
Set-Cookie: dtinstallsession=deleted; expires=Thu,
01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
Set-Cookie: dtinstalldomain=deleted; expires=Thu,
01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
Vary: Accept-Encoding
Content-Length:
13418
Connection: Close
<!DOCTYPE html>
<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async
src="https://www.googletagmanager.com/gtag/js?id=UA-74231940-3"></script>
<script>
window.dataLayer =
...[SNIP]...
</script>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js"
integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4"
crossorigin="anonymous"></script>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js"
integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1"
crossorigin="anonymous"></script>
...[SNIP]...
10.9. https://multitool.ciditools.com/resources/oauth2response.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/resources/oauth2response.php |
Issue detail
The response dynamically includes the following script from another domain:
- https://www.googletagmanager.com/gtag/js?id=UA-74231940-3
Request 1
GET /resources/oauth2response.php HTTP/1.1
Host:
multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Referer: http://multitool.ciditools.com/install/
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Tue, 10 Dec 2019
17:43:13 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
597
Connection: Close
<!DOCTYPE html>
<head>
<!--
Global site tag (gtag.js) - Google Analytics -->
<script async
src="https://www.googletagmanager.com/gtag/js?id=UA-74231940-3"></script>
<script>
window.dataLayer =
w
...[SNIP]...
11. Frameable
response (potential Clickjacking)
Previous
Next
There are 3 instances of this issue:
Issue background
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
11.1. https://multitool.ciditools.com/
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Firm |
Host: |
https://multitool.ciditools.com |
Path: |
/ |
Issue detail
This issue was found in multiple locations under the reported path.
Request 1
GET /uei/vendor/psr/http-message/src/?C=N%3bO%3dD HTTP/1.1
Host:
multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Referer: https://multitool.ciditools.com/uei/vendor/psr/http-message/src/
Response 1
HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Date: Mon, 09 Dec 2019
22:49:18 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
2391
Connection: Close
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2
Final//EN">
<html>
<head>
<title>Index of
/uei/vendor/psr/http-message/src</title>
</head>
<body>
<h1>Index of
/uei/vendor/psr/http-message/src</h1>
...[SNIP]...
Request 2
GET /uei/vendor/composer/ HTTP/1.1
Host:
multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Referer: https://multitool.ciditools.com/uei/vendor/
Response 2
HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Date: Mon, 09 Dec 2019
21:57:09 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
2720
Connection: Close
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2
Final//EN">
<html>
<head>
<title>Index of
/uei/vendor/composer</title>
</head>
<body>
<h1>Index of
/uei/vendor/composer</h1>
<table>
<tr><th
valig
...[SNIP]...
Request 3
GET /uei/vendor/psr/http-message/?C=M%3bO%3dA HTTP/1.1
Host:
multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Referer: https://multitool.ciditools.com/uei/vendor/psr/http-message/
Response 3
HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Date: Mon, 09 Dec 2019
22:17:48 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
1803
Connection: Close
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2
Final//EN">
<html>
<head>
<title>Index of
/uei/vendor/psr/http-message</title>
</head>
<body>
<h1>Index of
/uei/vendor/psr/http-message</h1>
<table>
...[SNIP]...
11.2. https://multitool.ciditools.com/cancelled.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Firm |
Host: |
https://multitool.ciditools.com |
Path: |
/cancelled.php |
Request 1
GET /cancelled.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:21:35 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
1149
Connection: Close
<!DOCTYPE html>
<head>
<!--
Global site tag (gtag.js) - Google Analytics -->
<script async
src="https://www.googletagmanager.com/gtag/js?id=UA-74231940-3"></script>
<script>
window.dataLayer =
w
...[SNIP]...
11.3. https://multitool.ciditools.com/controller.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Firm |
Host: |
https://multitool.ciditools.com |
Path: |
/controller.php |
Request 1
GET /controller.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:21:36 GMT
P3P: CP="CAO PSA OUR"
Server: Apache/2.4.18 (Ubuntu)
Vary:
Accept-Encoding
Content-Length: 593
Connection: Close
<!DOCTYPE
html>
<head>
<!-- Global site tag (gtag.js) - Google Analytics
-->
<script async
src="https://www.googletagmanager.com/gtag/js?id=UA-74231940-3"></script>
<script>
window.dataLayer =
w
...[SNIP]...
12. Directory
listing
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Firm |
Host: |
https://multitool.ciditools.com |
Path: |
/uei |
Issue detail
This issue was found in multiple locations under the reported path.
Issue background
Web servers can be configured to automatically list the contents of directories that do not have an index
page present. This can aid an attacker by enabling them to quickly identify the resources at a given
path, and proceed directly to analyzing and attacking those resources. It particularly increases the
exposure of sensitive files within the directory that are not intended to be accessible to users, such
as temporary files and crash dumps.
Directory listings themselves do not necessarily constitute a security vulnerability. Any sensitive
resources within the web root should in any case be properly access-controlled, and should not be
accessible by an unauthorized party who happens to know or guess the URL. Even when directory listings
are disabled, an attacker may guess the location of sensitive files using automated tools.
Issue remediation
There is not usually any good reason to provide directory listings, and disabling them may place
additional hurdles in the path of an attacker. This can normally be achieved in two ways:
- Configure your web server to prevent directory listings for all paths beneath the web root;
- Place into each directory a default file (such as index.htm) that the web server will display
instead of returning a directory listing.
Vulnerability classifications
Request 1
GET /uei/vendor/composer/ HTTP/1.1
Host:
multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Referer: https://multitool.ciditools.com/uei/vendor/
Response 1
HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Date: Mon, 09 Dec 2019
21:57:09 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
2720
Connection: Close
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2
Final//EN">
<html>
<head>
<title>Index of
/uei/vendor/composer</title>
</head>
<body>
<h1>Index of
/uei/vendor/composer</h1>
<table>
<tr><th
valig
...[SNIP]...
<th><a
href="?C=N;O=D">Name</a></th><th><a
href="?C=M;O=A">Last modified</a></th><th><a
href="?C=S;O=A">Size</a></th><th><a
href="?C=D;O=A">Description</a>
...[SNIP]...
<td><a href="/uei/vendor/">Parent
Directory</a>
...[SNIP]...
Request 2
GET /uei/vendor/league/?C=D%3bO%3dA HTTP/1.1
Host:
multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Referer: https://multitool.ciditools.com/uei/vendor/league/
Response 2
HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Date: Mon, 09 Dec 2019
22:04:10 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
993
Connection: Close
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2
Final//EN">
<html>
<head>
<title>Index of
/uei/vendor/league</title>
</head>
<body>
<h1>Index of
/uei/vendor/league</h1>
<table>
<tr><th
valign="t
...[SNIP]...
<th><a
href="?C=N;O=D">Name</a></th><th><a
href="?C=M;O=A">Last modified</a></th><th><a
href="?C=S;O=A">Size</a></th><th><a
href="?C=D;O=A">Description</a>
...[SNIP]...
<td><a href="/uei/vendor/">Parent
Directory</a>
...[SNIP]...
Request 3
GET /uei/vendor/psr/http-message/src/?C=N%3bO%3dD HTTP/1.1
Host:
multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Referer: https://multitool.ciditools.com/uei/vendor/psr/http-message/src/
Response 3
HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Date: Mon, 09 Dec 2019
22:49:18 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
2391
Connection: Close
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2
Final//EN">
<html>
<head>
<title>Index of
/uei/vendor/psr/http-message/src</title>
</head>
<body>
<h1>Index of /uei/vendor/psr/http-message/src</h1>
...[SNIP]...
<th><a
href="?C=N;O=D">Name</a></th><th><a
href="?C=M;O=A">Last modified</a></th><th><a
href="?C=S;O=A">Size</a></th><th><a
href="?C=D;O=A">Description</a>
...[SNIP]...
<td><a href="/uei/vendor/psr/http-message/">Parent
Directory</a>
...[SNIP]...
13. Email
addresses disclosed
Previous
Next
There are 6 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
13.1. https://multitool.ciditools.com/
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/ |
Issue detail
The following email addresses were disclosed in the response:
- mtdowling@gmail.com
- hugh.downer@gmail.com
- hello@alexbilbie.com
- security@paragonie.com
- ralph.khattar@gmail.com
- stsalkov@gmail.com
- aaron@unsplash.com
- luke@unsplash.com
- charles@pickcrew.com
- kontakt@beberlei.de
- rquadling@gmail.com
- support@cidilabs.com
- developer@cidilabs.com
- ocramius@gmail.com
- ircmaxell@ircmaxell.com
- info@paragonie.com
- padraic.brady@gmail.com
- dave.marshall@atstsolutions.co.uk
- mail@adrian-philipp.com
- opensource@ijaap.nl
Numerous email addresses were found to be disclosed and the above are a sample subset.
This
issue was found in multiple locations under the reported path.
Request 1
GET /uei/vendor/guzzlehttp/psr7/LICENSE HTTP/1.1
Host:
multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Referer: https://multitool.ciditools.com/uei/vendor/guzzlehttp/psr7/
Response 1
HTTP/1.1 200 OK
Accept-Ranges: bytes
Date: Mon, 09 Dec 2019 22:10:10
GMT
ETag: "457-595c35c583800"
Last-Modified: Fri, 25 Oct 2019 22:06:24 GMT
Server:
Apache/2.4.18 (Ubuntu)
Content-Length: 1111
Connection: Close
Copyright (c) 2015 Michael
Dowling, https://github.com/mtdowling <mtdowling@gmail.com>
Permission is hereby granted, free of
charge, to any person obtaining a copy
of this software and associated
doc
...[SNIP]...
Request 2
GET /uei/composer.lock HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Referer:
https://multitool.ciditools.com/uei/
Response 2
HTTP/1.1 200 OK
Accept-Ranges: bytes
Date: Mon, 09 Dec 2019 21:56:44
GMT
ETag: "4bb6-595c35c583800"
Last-Modified: Fri, 25 Oct 2019 22:06:24 GMT
Server:
Apache/2.4.18 (Ubuntu)
Content-Length: 19382
Connection: Close
{
"_readme": [
"This
file locks the dependencies of your project to a known state",
"Read more about it at
https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
...[SNIP]...
agist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Hugh Downer",
"email": "hugh.downer@gmail.com"
}
],
"description": "Unsplash OAuth 2.0 Client Provider for The PHP League OAuth2-Client",
"keywords": [
"Authentication",
...[SNIP]...
"name": "Charles Lalonde",
"email": "charles@pickcrew.com"
},
{
"name": "Hugh Downer",
"email": "hugh.downer@gmail.com"
}
],
"description": "Wrapper to access
the Unsplash API and photo library",
"time": "2019-08-14T20:44:07+00:00"
}
],
"packages-dev"
...[SNIP]...
Request 3
GET /uei/composer.lock HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Referer:
https://multitool.ciditools.com/uei/
Response 3
HTTP/1.1 200 OK
Accept-Ranges: bytes
Date: Mon, 09 Dec 2019 21:56:44
GMT
ETag: "4bb6-595c35c583800"
Last-Modified: Fri, 25 Oct 2019 22:06:24 GMT
Server:
Apache/2.4.18 (Ubuntu)
Content-Length: 19382
Connection: Close
{
"_readme": [
"This
file locks the dependencies of your project to a known state",
"Read more about it at
https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
...[SNIP]...
agist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Alex Bilbie",
"email": "hello@alexbilbie.com",
"homepage": "http://www.alexbilbie.com",
"role": "Developer"
},
{
"name": "Woody
Gilk",
...[SNIP]...
/",
"license": [
"MIT"
],
"authors": [
{
"name": "Paragon Initiative Enterprises",
"email": "security@paragonie.com",
"homepage": "https://paragonie.com"
}
],
"description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
"ke
...[SNIP]...
13.2. https://multitool.ciditools.com/cancelled.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/cancelled.php |
Issue detail
The following email address was disclosed in the response:
Request 1
GET /cancelled.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:21:35 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
1149
Connection: Close
<!DOCTYPE html>
<head>
<!--
Global site tag (gtag.js) - Google Analytics -->
<script async
src="https://www.googletagmanager.com/gtag/js?id=UA-74231940-3"></script>
<script>
window.dataLayer =
w
...[SNIP]...
<a href="mailto:support@cidilabs.com
?Subject=Multi%20Tool%20Error">support@cidilabs.com
</a>
...[SNIP]...
13.3. https://multitool.ciditools.com/cropped/cancelled.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/cropped/cancelled.php |
Issue detail
The following email address was disclosed in the response:
Request 1
GET /cropped/cancelled.php HTTP/1.1
Host:
multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Tue, 10 Dec 2019
16:57:41 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
1141
Connection: Close
<!DOCTYPE html>
<head>
<!--
Global site tag (gtag.js) - Google Analytics -->
<script async
src="https://www.googletagmanager.com/gtag/js?id=UA-74231940-3"></script>
<script>
window.dataLayer =
w
...[SNIP]...
<a href="mailto:support@cidilabs.com
?Subject=Multi%20Tool%20Error">support@cidilabs.com
</a>
...[SNIP]...
13.4. https://multitool.ciditools.com/install/
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/install/ |
Issue detail
The following email address was disclosed in the response:
Request 1
GET /install/ HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Tue, 10 Dec 2019
16:57:46 GMT
Server: Apache/2.4.18 (Ubuntu)
Set-Cookie: dtinstallsession=deleted; expires=Thu,
01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
Set-Cookie: dtinstalldomain=deleted; expires=Thu,
01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
Vary: Accept-Encoding
Content-Length:
13418
Connection: Close
<!DOCTYPE html>
<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async
src="https://www.googletagmanager.com/gtag/js?id=UA-74231940-3"></script>
<script>
window.dataLayer =
...[SNIP]...
<dd id="email">developer@cidilabs.com</dd>
...[SNIP]...
13.5. https://multitool.ciditools.com/install/index.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/install/index.php |
Issue detail
The following email address was disclosed in the response:
Request 1
GET /install/index.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Referer:
https://multitool.ciditools.com/install/complete.php
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Tue, 10 Dec 2019
16:58:08 GMT
Server: Apache/2.4.18 (Ubuntu)
Set-Cookie: dtinstallsession=deleted; expires=Thu,
01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
Set-Cookie: dtinstalldomain=deleted; expires=Thu,
01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
Vary: Accept-Encoding
Content-Length:
13418
Connection: Close
<!DOCTYPE html>
<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async
src="https://www.googletagmanager.com/gtag/js?id=UA-74231940-3"></script>
<script>
window.dataLayer =
...[SNIP]...
<dd id="email">developer@cidilabs.com</dd>
...[SNIP]...
13.6. https://multitool.ciditools.com/uei/composer.lock
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/uei/composer.lock |
Issue detail
The following email addresses were disclosed in the response:
- mtdowling@gmail.com
- hugh.downer@gmail.com
- hello@alexbilbie.com
- security@paragonie.com
- ralph.khattar@gmail.com
- stsalkov@gmail.com
- aaron@unsplash.com
- luke@unsplash.com
- charles@pickcrew.com
Request 1
GET /uei/composer.lock HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Referer:
https://multitool.ciditools.com/uei/
Response 1
HTTP/1.1 200 OK
Accept-Ranges: bytes
Date: Tue, 10 Dec 2019 16:58:13
GMT
ETag: "4bb6-595c35c583800"
Last-Modified: Fri, 25 Oct 2019 22:06:24 GMT
Server:
Apache/2.4.18 (Ubuntu)
Content-Length: 19382
Connection: Close
{
"_readme": [
"This
file locks the dependencies of your project to a known state",
"Read more about it at
https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
...[SNIP]...
t.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Michael Dowling",
"email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling"
}
],
"description": "Guzzle is a PHP HTTP client
library",
"homepage": "http://guzz
...[SNIP]...
t.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Michael Dowling",
"email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling"
}
],
"description": "Guzzle promises library",
"keywords": [
"promi
...[SNIP]...
t.org/downloads/",
"license": [
"MIT"
],
"authors":
[
{
"name": "Michael Dowling",
"email": "mtdowling@gmail.com",
"homepage": "https://github.com/mtdowling"
},
{
"name": "Tobias Schultze",
"homepage":
"https://github.com
...[SNIP]...
agist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Hugh Downer",
"email": "hugh.downer@gmail.com"
}
],
"description": "Unsplash OAuth 2.0
Client Provider for The PHP League OAuth2-Client",
"keywords": [
"Authentication",
...[SNIP]...
"name": "Charles Lalonde",
"email": "charles@pickcrew.com"
},
{
"name": "Hugh Downer",
"email": "hugh.downer@gmail.com"
}
],
"description": "Wrapper to access the Unsplash API and
photo library",
"time": "2019-08-14T20:44:07+00:00"
}
],
"packages-dev"
...[SNIP]...
14. Private
IP addresses disclosed
Previous
Next
There are 3 instances of this issue:
Issue background
RFC 1918 specifies ranges of IP addresses that are reserved for use in private networks and cannot be
routed on the public Internet. Although various methods exist by which an attacker can determine the
public IP addresses in use by an organization, the private addresses used internally cannot usually be
determined in the same ways.
Discovering the private addresses used within an organization can help an attacker in carrying out
network-layer attacks aiming to penetrate the organization's internal infrastructure.
Issue remediation
There is not usually any good reason to disclose the internal IP addresses used within an organization's
infrastructure. If these are being returned in service banners or debug messages, then the relevant
services should be configured to mask the private addresses. If they are being used to track back-end
servers for load balancing purposes, then the addresses should be rewritten with innocuous identifiers
from which an attacker cannot infer any useful information about the infrastructure.
Vulnerability classifications
14.1. https://multitool.ciditools.com/health.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/health.php |
Issue detail
The following RFC 1918 IP addresses were disclosed in the response:
Request 1
GET /health.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:21:36 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
2356
Connection: Close
<p>Counter is
3916108</p><table><tr><td>USER</td><td>multitool</td></tr><tr><td>HOME</td><td>/home/multitool</td></tr><tr><td>SCRIPT_NAME</td><td>/health.php</td></tr><tr><td>REQUEST_URI</td><td>/heal
...[SNIP]...
<td>10.0.1.46</td>
...[SNIP]...
<td>10.0.1.62</td>
...[SNIP]...
14.2. https://multitool.ciditools.com/health.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/health.php |
Issue detail
The following RFC 1918 IP addresses were disclosed in the response:
Request 1
GET /health.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Tue, 10 Dec 2019
16:58:00 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
2356
Connection: Close
<p>Counter is
3921485</p><table><tr><td>USER</td><td>multitool</td></tr><tr><td>HOME</td><td>/home/multitool</td></tr><tr><td>SCRIPT_NAME</td><td>/health.php</td></tr><tr><td>REQUEST_URI</td><td>/heal
...[SNIP]...
<td>10.0.1.12</td>
...[SNIP]...
<td>10.0.1.62</td>
...[SNIP]...
14.3. https://multitool.ciditools.com/uei/vendor/league/oauth2-client/README.md
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/uei/vendor/league/oauth2-client/README.md |
Issue detail
The following RFC 1918 IP address was disclosed in the response:
Request 1
GET /uei/vendor/league/oauth2-client/README.md HTTP/1.1
Host:
multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Referer: https://multitool.ciditools.com/uei/vendor/league/oauth2-client/
Response 1
HTTP/1.1 200 OK
Accept-Ranges: bytes
Date: Mon, 09 Dec 2019 22:10:24
GMT
ETag: "39bf-595c35c583800"
Last-Modified: Fri, 25 Oct 2019 22:06:24 GMT
Server:
Apache/2.4.18 (Ubuntu)
Content-Length: 14783
Connection: Close
# OAuth 2.0
Client
This package makes it simple to integrate your application with [OAuth
2.0](http://oauth.net/2/) service providers.
[![Gitter
Chat](https://img.shields.io/badge/gitter-join_chat-b
...[SNIP]...
e.example.com/authorize',
'urlAccessToken' => 'http://service.example.com/token',
'urlResourceOwnerDetails' =>
'http://service.example.com/resource',
'proxy' => '192.168.0.1:8888',
'verify' =>
...[SNIP]...
15. Cacheable
HTTPS response
Previous
Next
There are 9 instances of this issue:
Issue background
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:
- Cache-control: no-store
- Pragma: no-cache
Vulnerability classifications
15.1. https://multitool.ciditools.com/
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/ |
Issue detail
This issue was found in multiple locations under the reported path.
Request 1
GET /modules/ HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:56:26 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
183
Connection: Close
<!-- Copyright (C) 2019 Utah State University -->
Your browser
appears to be preventing multitool.ciditools.com from creating cookies. Cookies are essential for this
tool to function.
Request 2
GET /uei/vendor/psr/http-message/src/?C=N%3bO%3dD HTTP/1.1
Host:
multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Referer: https://multitool.ciditools.com/uei/vendor/psr/http-message/src/
Response 2
HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Date: Mon, 09 Dec 2019
22:49:18 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
2391
Connection: Close
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2
Final//EN">
<html>
<head>
<title>Index of
/uei/vendor/psr/http-message/src</title>
</head>
<body>
<h1>Index of
/uei/vendor/psr/http-message/src</h1>
...[SNIP]...
Request 3
GET /uei/vendor/guzzlehttp/guzzle/src/ClientInterface.php HTTP/1.1
Host:
multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Referer: https://multitool.ciditools.com/uei/vendor/guzzlehttp/guzzle/src/
Response 3
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
22:21:29 GMT
Server: Apache/2.4.18 (Ubuntu)
Content-Length: 0
Connection: Close
15.2. https://multitool.ciditools.com/cancelled.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/cancelled.php |
Request 1
GET /cancelled.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:21:35 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
1149
Connection: Close
<!DOCTYPE html>
<head>
<!--
Global site tag (gtag.js) - Google Analytics -->
<script async
src="https://www.googletagmanager.com/gtag/js?id=UA-74231940-3"></script>
<script>
window.dataLayer =
w
...[SNIP]...
15.3. https://multitool.ciditools.com/config.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/config.php |
Request 1
GET /config.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:21:35 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
133
Connection: Close
Your browser appears to be preventing multitool.ciditools.com from
creating cookies. Cookies are essential for this tool to function.
15.4. https://multitool.ciditools.com/controller.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/controller.php |
Request 1
GET /controller.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:21:36 GMT
P3P: CP="CAO PSA OUR"
Server: Apache/2.4.18 (Ubuntu)
Vary:
Accept-Encoding
Content-Length: 593
Connection: Close
<!DOCTYPE
html>
<head>
<!-- Global site tag (gtag.js) - Google Analytics
-->
<script async
src="https://www.googletagmanager.com/gtag/js?id=UA-74231940-3"></script>
<script>
window.dataLayer =
w
...[SNIP]...
15.5. https://multitool.ciditools.com/genkey.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/genkey.php |
Request 1
GET /genkey.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:21:36 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
33
Connection: Close
e761023812c087ff0f509245746c05fe
15.6. https://multitool.ciditools.com/health.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/health.php |
Request 1
GET /health.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:21:36 GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length:
2356
Connection: Close
<p>Counter is
3916108</p><table><tr><td>USER</td><td>multitool</td></tr><tr><td>HOME</td><td>/home/multitool</td></tr><tr><td>SCRIPT_NAME</td><td>/health.php</td></tr><tr><td>REQUEST_URI</td><td>/heal
...[SNIP]...
15.7. https://multitool.ciditools.com/path.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/path.php |
Request 1
GET /path.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:21:37 GMT
Server: Apache/2.4.18 (Ubuntu)
Content-Length: 0
Connection: Close
15.8. https://multitool.ciditools.com/set_session.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/set_session.php |
Request 1
GET /set_session.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Mon, 09 Dec 2019
21:21:37 GMT
P3P: CP="CAO PSA OUR"
Server: Apache/2.4.18 (Ubuntu)
Set-Cookie:
testCookie=test
Vary: Accept-Encoding
Content-Length: 42
Connection:
Close
<script> window.history.back(2); </script>
15.9. https://multitool.ciditools.com/toolLTI.php
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/toolLTI.php |
Request 1
GET /toolLTI.php HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Response 1
HTTP/1.1 200 OK
Content-Type: application/xml
Date: Mon, 09 Dec 2019 21:21:37
GMT
Server: Apache/2.4.18 (Ubuntu)
Vary: Accept-Encoding
Content-Length: 1919
Connection:
Close
<?xml version="1.0" encoding="UTF-8"?><cartridge_basiclti_link
xmlns="http://www.imsglobal.org/xsd/imslticc_v1p0"
xmlns:blti =
"http://www.imsglobal.org/xsd/imsbasiclti_v1p0"
xmlns:lticm ="htt
...[SNIP]...
16. Content
type is not specified
Previous
Next
There are 3 instances of this issue:
Issue background
If a response does not specify a content type, then the browser will usually analyze the response and
attempt to determine the MIME type of its content. This can have unexpected results, and if the content
contains any user-controllable data may lead to cross-site scripting or other client-side
vulnerabilities.
In most cases, the absence of a content type statement does not constitute a security flaw, particularly
if the response contains static content. You should review the contents of affected responses, and the
context in which they appear, to determine whether any vulnerability exists.
Issue remediation
For every response containing a message body, the application should include a single Content-type header
that correctly and unambiguously states the MIME type of the content in the response body.
Vulnerability classifications
16.1. https://multitool.ciditools.com/uei
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/uei |
Issue detail
This issue was found in multiple locations under the reported path.
Request 1
GET /uei/vendor/league/oauth2-client/README.PROVIDER-GUIDE.md HTTP/1.1
Host:
multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Referer: https://multitool.ciditools.com/uei/vendor/league/oauth2-client/
Response 1
HTTP/1.1 200 OK
Accept-Ranges: bytes
Date: Mon, 09 Dec 2019 22:05:04
GMT
ETag: "108d-595c35c583800"
Last-Modified: Fri, 25 Oct 2019 22:06:24 GMT
Server:
Apache/2.4.18 (Ubuntu)
Content-Length: 4237
Connection: Close
# OAuth 2.0 Client
##
Provider Guide
New providers may be created by copying the layout of an existing package.
See
the [list of providers](docs/providers/thirdparty.md) for good examples.
When
cho
...[SNIP]...
Request 2
GET /uei/vendor/unsplash/unsplash/LICENSE HTTP/1.1
Host:
multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Referer: https://multitool.ciditools.com/uei/vendor/unsplash/unsplash/
Response 2
HTTP/1.1 200 OK
Accept-Ranges: bytes
Date: Mon, 09 Dec 2019 22:10:35
GMT
ETag: "42e-595c35c583800"
Last-Modified: Fri, 25 Oct 2019 22:06:24 GMT
Server:
Apache/2.4.18 (Ubuntu)
Content-Length: 1070
Connection: Close
MIT License
Copyright
(c) 2015 Unsplash Inc.
Permission is hereby granted, free of charge, to any person obtaining a
copy
of this software and associated documentation files (the "Software"), to
dea
...[SNIP]...
Request 3
GET /uei/vendor/unsplash/unsplash/tests/fixtures/stats.yml HTTP/1.1
Host:
multitool.ciditools.com
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/69.0.3497.100 Safari/537.36
Connection: close
Cache-Control:
max-age=0
Referer:
https://multitool.ciditools.com/uei/vendor/unsplash/unsplash/tests/fixtures/
Response 3
HTTP/1.1 200 OK
Accept-Ranges: bytes
Date: Mon, 09 Dec 2019 22:55:19
GMT
ETag: "4c9-595c35c583800"
Last-Modified: Fri, 25 Oct 2019 22:06:24 GMT
Server:
Apache/2.4.18 (Ubuntu)
Content-Length: 1225
Connection: Close
[{
"request": {
"method": "GET",
"url": "https:\/\/api.unsplash.com\/stats\/total",
"headers": {
"Host":
"api.unsplash.com",
"Accept-Encoding": null
...[SNIP]...
16.2. https://multitool.ciditools.com/uei/README.md
Previous
Next
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/uei/README.md |
Request 1
GET /uei/README.md HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Referer:
https://multitool.ciditools.com/uei/
Response 1
HTTP/1.1 200 OK
Accept-Ranges: bytes
Date: Tue, 10 Dec 2019 16:58:12
GMT
ETag: "2e3-595c35c583800"
Last-Modified: Fri, 25 Oct 2019 22:06:24 GMT
Server:
Apache/2.4.18 (Ubuntu)
Content-Length: 739
Connection: Close
#Upload Embed Image Tool
(UEI)
Designed by Kenneth Larsen @ Utah State University.
Developed by Cidi Labs, Summer
2019.
##Dependencies
Development on the UEI front-end requires the following
tools:
*
...[SNIP]...
16.3. https://multitool.ciditools.com/uei/composer.lock
Previous
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/uei/composer.lock |
Request 1
GET /uei/composer.lock HTTP/1.1
Host: multitool.ciditools.com
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/69.0.3497.100
Safari/537.36
Connection: close
Cache-Control: max-age=0
Referer:
https://multitool.ciditools.com/uei/
Response 1
HTTP/1.1 200 OK
Accept-Ranges: bytes
Date: Tue, 10 Dec 2019 16:58:13
GMT
ETag: "4bb6-595c35c583800"
Last-Modified: Fri, 25 Oct 2019 22:06:24 GMT
Server:
Apache/2.4.18 (Ubuntu)
Content-Length: 19382
Connection: Close
{
"_readme": [
"This
file locks the dependencies of your project to a known state",
"Read more about it at
https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
...[SNIP]...
17. SSL
certificate
Previous
Summary
|
Severity: |
Information |
Confidence: |
Certain |
Host: |
https://multitool.ciditools.com |
Path: |
/ |
Issue detail
The server presented a valid, trusted SSL certificate. This issue is purely
informational.
The server presented the following certificates:
Server certificate
Issued to: |
*.ciditools.com, ciditools.com |
Issued by: |
Amazon |
Valid from: |
Sun May 12 18:00:00 MDT 2019 |
Valid to: |
Sat Jun 13 06:00:00 MDT 2020 |
Certificate chain #1
Issued to: |
Amazon |
Issued by: |
Amazon Root CA 1 |
Valid from: |
Wed Oct 21 18:00:00 MDT 2015 |
Valid to: |
Sat Oct 18 18:00:00 MDT 2025 |
Certificate chain #2
Issued to: |
Amazon Root CA 1 |
Issued by: |
Starfield Services Root Certificate Authority - G2 |
Valid from: |
Mon May 25 06:00:00 MDT 2015 |
Valid to: |
Wed Dec 30 18:00:00 MST 2037 |
Certificate chain #3
Issued to: |
Starfield Services Root Certificate Authority - G2 |
Issued by: |
Starfield Class 2 Certification Authority |
Valid from: |
Tue Sep 01 18:00:00 MDT 2009 |
Valid to: |
Wed Jun 28 11:39:16 MDT 2034 |
Certificate chain #4
Issued to: |
Starfield Class 2 Certification Authority |
Issued by: |
Starfield Class 2 Certification Authority |
Valid from: |
Tue Jun 29 11:39:16 MDT 2004 |
Valid to: |
Thu Jun 29 11:39:16 MDT 2034 |
Issue background
SSL (or TLS) 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 SSL 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, SSL
connections to the server will not provide the full protection for which SSL is designed.
It should be noted that various attacks exist against SSL 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 SSL connections without user detection even when a valid SSL certificate is used.
References
Vulnerability classifications
Report generated by Burp Suite web vulnerability scanner v2.1.06, at Tue Dec
10 15:52:10 MST 2019.