...
Code Block | ||
---|---|---|
| ||
String buildUrl(String q) {
//user inputs the argument "#YOLO2018"
String url = "https://example.com?query=" + q;
return url;
}
|
For example, if the user supplies the input string "#YOLO2018
<#catgifs>", the url
returned is "https://example.com?query=#YOLO2018<#catgifs>"
which is not a valid URL.
...
Code Block | ||
---|---|---|
| ||
String buildEncodedUrl(String q) { String origUrlencodedUrl = "https://example.com?query=" + q; String encodedUrl = Base64.getUrlEncoder().encodeToString(origUrlq.getBytes()); return encodedUrl; } |
If the user supplies the input string "#YOLO2018
<#catgifs>", the url
returned is "https%3A%2F%2Fexample.com%3Fquery%3D%23YOLO2018
https://example.com?query=%3C%23catgifs%3E"
which is a valid URL.
Applicability
...
Tool | Version | Checker | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
The Checker Framework |
| Tainting Checker | Trust and security errors (see Chapter 8) | ||||||
Parasoft Jtest |
| CERT.IDS51.TDRESP CERT.IDS51.TDXSS | Protect against HTTP response splitting Protect against XSS vulnerabilities |
Related Vulnerabilities
The Apache GERONIMO-1474 vulnerability, reported in January 2006, allowed attackers to submit URLs containing JavaScript. The Web Access Log Viewer failed to sanitize the data it forwarded to the administrator console, thereby enabling a classic XSS attack.
...