diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java index c32394f140..fd9997d261 100644 --- a/.mvn/wrapper/MavenWrapperDownloader.java +++ b/.mvn/wrapper/MavenWrapperDownloader.java @@ -1,18 +1,6 @@ -/* - * Copyright 2007-present the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ + +import io.github.pixee.security.HostValidator; +import io.github.pixee.security.Urls; import java.net.*; import java.io.*; import java.nio.channels.*; @@ -105,7 +93,7 @@ protected PasswordAuthentication getPasswordAuthentication() { } }); } - URL website = new URL(urlString); + URL website = Urls.create(urlString, Urls.HTTP_PROTOCOLS, HostValidator.DENY_COMMON_INFRASTRUCTURE_TARGETS); ReadableByteChannel rbc; rbc = Channels.newChannel(website.openStream()); FileOutputStream fos = new FileOutputStream(destination); diff --git a/pom.xml b/pom.xml index 15851ec3b8..457bc9f555 100644 --- a/pom.xml +++ b/pom.xml @@ -146,6 +146,7 @@ 1.4.5 1.5.2 + 1.2.1 @@ -248,6 +249,11 @@ jruby 9.3.6.0 + + io.github.pixee + java-security-toolkit + ${versions.java-security-toolkit} + @@ -393,6 +399,10 @@ rest-assured test + + io.github.pixee + java-security-toolkit + diff --git a/src/main/java/org/owasp/webgoat/lessons/ssrf/SSRFTask2.java b/src/main/java/org/owasp/webgoat/lessons/ssrf/SSRFTask2.java index cb58bd63d2..fecb3efa2a 100644 --- a/src/main/java/org/owasp/webgoat/lessons/ssrf/SSRFTask2.java +++ b/src/main/java/org/owasp/webgoat/lessons/ssrf/SSRFTask2.java @@ -22,6 +22,8 @@ package org.owasp.webgoat.lessons.ssrf; +import io.github.pixee.security.HostValidator; +import io.github.pixee.security.Urls; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; @@ -48,7 +50,7 @@ public AttackResult completed(@RequestParam String url) { protected AttackResult furBall(String url) { if (url.matches("http://ifconfig.pro")) { String html; - try (InputStream in = new URL(url).openStream()) { + try (InputStream in = Urls.create(url, Urls.HTTP_PROTOCOLS, HostValidator.DENY_COMMON_INFRASTRUCTURE_TARGETS).openStream()) { html = new String(in.readAllBytes(), StandardCharsets.UTF_8) .replaceAll("\n", "
"); // Otherwise the \n gets escaped in the response