Confidence | |||||
Certain | Firm | Tentative | Total | ||
Severity | High | 0 | 0 | 0 | 0 |
Medium | 0 | 0 | 0 | 0 | |
Low | 1 | 0 | 2 | 3 | |
Information | 0 | 1 | 0 | 1 | |
False Positive | 0 | 0 | 0 | 0 |
Number of issues | ||||||||||
0 | 1 | 2 | 3 | 4 | ||||||
Severity | High |
|
||||||||
Medium |
|
|||||||||
Low |
|
1. Open redirection (DOM-based)
1.1. http://wade0125studio.ddns.net/webhook
1.2. http://wade0125studio.ddns.net/webhook
3. Frameable response (potential Clickjacking)
DOM-based vulnerabilities arise when a client-side script reads data from a controllable part of the DOM (for example, the URL) and processes this data in an unsafe way.
DOM-based open redirection arises when a script writes controllable data into the target of a redirection in an unsafe way. An attacker may be able to use the vulnerability to construct a URL that, if visited by another application user, will cause a redirection to an arbitrary external domain. This behavior can be leveraged to facilitate phishing attacks against users of the application. The ability to use an authentic application URL, targeting the correct domain and with a valid SSL certificate (if SSL is used), lends credibility to the phishing attack because many users, even if they verify these features, will not notice the subsequent redirection to a different domain.
Note: If an attacker is able to control the start of the string that is passed to the redirection API, then it may be possible to escalate this vulnerability into a JavaScript injection attack, by using a URL with the javascript: pseudo-protocol to execute arbitrary script code when the URL is processed by the browser.
Burp Suite automatically identifies this issue using dynamic and static code analysis. Static analysis can lead to false positives that are not actually exploitable. If Burp Scanner has not provided any evidence resulting from dynamic analysis, you should review the relevant code and execution paths to determine whether this vulnerability is indeed present, or whether mitigations are in place that would prevent exploitation.
The most effective way to avoid DOM-based open redirection vulnerabilities is not to dynamically set redirection targets using data that originated from any untrusted source. If the desired functionality of the application means that this behavior is unavoidable, then defenses must be implemented within the client-side code to prevent malicious data from introducing an arbitrary URL as a redirection target. In general, this is best achieved by using a whitelist of URLs that are permitted redirection targets, and strictly validating the target against this list before performing the redirection.
Severity: | Low | |
Confidence: | Tentative | |
Host: | http://wade0125studio.ddns.net | |
Path: | /webhook |
Data is read from location.pathname and passed to fetch.url.
The following value was injected into the source:
///webhook//b3wxzb0m61%27%22%60'%22/b3wxzb0m61/%3E%3Cb3wxzb0m61//%3Egjg34rmv1x&
The previous value reached the sink as:
///webhook//b3wxzb0m61%27%22%60'%22/b3wxzb0m61/%3E%3Cb3wxzb0m61//%3Egjg34rmv1x&?__debugger__=yes&cmd=printpin&s=QQS2WKbqnaBS65aNR0y9
The stack trace at the source was:
at Object._0x5ed253 [as proxiedGetterCallback] (<anonymous>:1:625634)
at get pathname (<anonymous>:1:323512)
at promptForPin (http://wade0125studio.ddns.net/webhook?__debugger__=yes&cmd=resource&f=debugger.js:82:28)
at openShell (http://wade0125studio.ddns.net/webhook?__debugger__=yes&cmd=resource&f=debugger.js:94:3)
at HTMLImageElement.<anonymous> (http://wade0125studio.ddns.net/webhook?__debugger__=yes&cmd=resource&f=debugger.js:182:23)
at _0x928af2 (<anonymous>:1:219874)
at _0x2defc5 (<anonymous>:1:221663)
at Object.EwMrJ (<anonymous>:1:137726)
at _0x1a8bfe (<anonymous>:1:649037)
The stack trace at the sink was:
at Object.WRdsg (<anonymous>:1:184730)
at Object.gmOtj (<anonymous>:1:612095)
at _0x2f9cd6 (<anonymous>:1:627659)
at Object.eQlqh (<anonymous>:1:503434)
at <anonymous>:1:515731
at promptForPin (http://wade0125studio.ddns.net/webhook?__debugger__=yes&cmd=resource&f=debugger.js:81:5)
at openShell (http://wade0125studio.ddns.net/webhook?__debugger__=yes&cmd=resource&f=debugger.js:94:3)
at HTMLImageElement.<anonymous> (http://wade0125studio.ddns.net/webhook?__debugger__=yes&cmd=resource&f=debugger.js:182:23)
at _0x928af2 (<anonymous>:1:219874)
at _0x2defc5 (<anonymous>:1:221663)
at Object.EwMrJ (<anonymous>:1:137726)
at _0x1a8bfe (<anonymous>:1:649037)
This was triggered by a click event with the following HTML:
<img src="?__debugger__=yes&cmd=resource&f=console.png" title="Open an interactive python sh1.2. http://wade0125studio.ddns.net/webhook
Severity: | Low | |
Confidence: | Tentative | |
Host: | http://wade0125studio.ddns.net | |
Path: | /webhook |
Data is read from location.pathname and passed to fetch.url.
The following value was injected into the source:
///webhook//mz3vtdktf2%27%22%60'%22/mz3vtdktf2/%3E%3Cmz3vtdktf2//%3Ejvfeoj7e7v&
The previous value reached the sink as:
///webhook//mz3vtdktf2%27%22%60'%22/mz3vtdktf2/%3E%3Cmz3vtdktf2//%3Ejvfeoj7e7v&?__debugger__=yes&cmd=printpin&s=QQS2WKbqnaBS65aNR0y9
The stack trace at the source was:
at Object._0x5ed253 [as proxiedGetterCallback] (<anonymous>:1:625634)
at get pathname (<anonymous>:1:323512)
at promptForPin (http://wade0125studio.ddns.net/webhook?__debugger__=yes&cmd=resource&f=debugger.js:82:28)
at openShell (http://wade0125studio.ddns.net/webhook?__debugger__=yes&cmd=resource&f=debugger.js:94:3)
at HTMLImageElement.<anonymous> (http://wade0125studio.ddns.net/webhook?__debugger__=yes&cmd=resource&f=debugger.js:182:23)
at _0x928af2 (<anonymous>:1:219874)
at _0x2defc5 (<anonymous>:1:221663)
at Object.EwMrJ (<anonymous>:1:137726)
at _0x1a8bfe (<anonymous>:1:649037)
The stack trace at the sink was:
at Object.WRdsg (<anonymous>:1:184730)
at Object.gmOtj (<anonymous>:1:612095)
at _0x2f9cd6 (<anonymous>:1:627659)
at Object.eQlqh (<anonymous>:1:503434)
at <anonymous>:1:515731
at promptForPin (http://wade0125studio.ddns.net/webhook?__debugger__=yes&cmd=resource&f=debugger.js:81:5)
at openShell (http://wade0125studio.ddns.net/webhook?__debugger__=yes&cmd=resource&f=debugger.js:94:3)
at HTMLImageElement.<anonymous> (http://wade0125studio.ddns.net/webhook?__debugger__=yes&cmd=resource&f=debugger.js:182:23)
at _0x928af2 (<anonymous>:1:219874)
at _0x2defc5 (<anonymous>:1:221663)
at Object.EwMrJ (<anonymous>:1:137726)
at _0x1a8bfe (<anonymous>:1:649037)
This was triggered by a click event with the following HTML:
<img src="?__debugger__=yes&cmd=resource&f=console.png" title="Open an interactive python sh2. Unencrypted communications
Severity: | Low | |
Confidence: | Certain | |
Host: | http://wade0125studio.ddns.net | |
Path: | / |
The application allows users to connect to it over unencrypted connections. An attacker suitably positioned to view a legitimate user's network traffic could record and monitor their interactions with the application and obtain any information the user supplies. Furthermore, an attacker able to modify traffic could use the application as a platform for attacks against its users and third-party websites. Unencrypted connections have been exploited by ISPs and governments to track users, and to inject adverts and malicious JavaScript. Due to these concerns, web browser vendors are planning to visually flag unencrypted connections as hazardous.
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.
Please note that using a mixture of encrypted and unencrypted communications is an ineffective defense against active attackers, because they can easily remove references to encrypted resources when these references are transmitted over an unencrypted connection.
Applications should use transport-level encryption (SSL/TLS) to protect all communications passing between the client and the server. The Strict-Transport-Security HTTP header should be used to ensure that clients refuse to access the server over an insecure connection.
Severity: | Information | |
Confidence: | Firm | |
Host: | http://wade0125studio.ddns.net | |
Path: | /webhook |
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.
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.