diff --git a/webgoat-lessons/xxe/src/test/java/org/owasp/webgoat/plugin/BlindSendFileAssignmentTest.java b/webgoat-lessons/xxe/src/test/java/org/owasp/webgoat/plugin/BlindSendFileAssignmentTest.java
index 621fdd1b3..606b51318 100644
--- a/webgoat-lessons/xxe/src/test/java/org/owasp/webgoat/plugin/BlindSendFileAssignmentTest.java
+++ b/webgoat-lessons/xxe/src/test/java/org/owasp/webgoat/plugin/BlindSendFileAssignmentTest.java
@@ -89,7 +89,34 @@ public class BlindSendFileAssignmentTest extends LessonTest {
"%remote;" +
"]>" +
"test&send;";
+ performXXE(xml);
+ }
+ @Test
+ public void solveOnlyParamReferenceEntityInExternalDTD() throws Exception {
+ File targetFile = new File(webGoatHomeDirectory, "/XXE/secret.txt");
+ //Host DTD on WebWolf site
+ String dtd = "\n" +
+ "\">\n";
+ webwolfServer.stubFor(get(WireMock.urlMatching("/files/test.dtd"))
+ .willReturn(aResponse()
+ .withStatus(200)
+ .withBody(dtd)));
+ webwolfServer.stubFor(get(urlMatching("/landing.*")).willReturn(aResponse().withStatus(200)));
+
+ //Make the request from WebGoat
+ String xml = "" +
+ "\n" +
+ "" +
+ "%remote;" +
+ "%all;" +
+ "]>" +
+ "test&send;";
+ performXXE(xml);
+ }
+
+ private void performXXE(String xml) throws Exception {
//Call with XXE injection
mockMvc.perform(MockMvcRequestBuilders.post("/xxe/blind")
.content(xml))