diff --git a/vul/vul-webapp/build.gradle.kts b/vul/vul-webapp/build.gradle.kts index 0a6260b8..9e595985 100644 --- a/vul/vul-webapp/build.gradle.kts +++ b/vul/vul-webapp/build.gradle.kts @@ -13,6 +13,7 @@ java { dependencies { implementation("commons-fileupload:commons-fileupload:1.3.3") implementation("commons-beanutils:commons-beanutils:1.9.2") + implementation("javax.websocket:javax.websocket-api:1.1") providedCompile("javax.servlet:servlet-api:2.5") } diff --git a/vul/vul-webapp/src/main/java/EmptyFilter.java b/vul/vul-webapp/src/main/java/EmptyFilter.java new file mode 100644 index 00000000..961aa5f2 --- /dev/null +++ b/vul/vul-webapp/src/main/java/EmptyFilter.java @@ -0,0 +1,19 @@ +import javax.servlet.*; +import java.io.IOException; + +public class EmptyFilter implements Filter { + @Override + public void init(FilterConfig filterConfig) throws ServletException { + + } + + @Override + public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { + filterChain.doFilter(servletRequest, servletResponse); + } + + @Override + public void destroy() { + + } +} diff --git a/vul/vul-webapp/src/main/java/EmptyListener.java b/vul/vul-webapp/src/main/java/EmptyListener.java new file mode 100644 index 00000000..85c35384 --- /dev/null +++ b/vul/vul-webapp/src/main/java/EmptyListener.java @@ -0,0 +1,15 @@ +import javax.servlet.ServletRequest; +import javax.servlet.ServletRequestEvent; +import javax.servlet.ServletRequestListener; + +public class EmptyListener implements ServletRequestListener { + @Override + public void requestDestroyed(ServletRequestEvent servletRequestEvent) { + ServletRequest servletRequest = servletRequestEvent.getServletRequest(); + } + + @Override + public void requestInitialized(ServletRequestEvent servletRequestEvent) { + ServletRequest servletRequest = servletRequestEvent.getServletRequest(); + } +} diff --git a/vul/vul-webapp/src/main/java/EmptyWebSocketEndpoint.java b/vul/vul-webapp/src/main/java/EmptyWebSocketEndpoint.java new file mode 100644 index 00000000..f8b8c1b9 --- /dev/null +++ b/vul/vul-webapp/src/main/java/EmptyWebSocketEndpoint.java @@ -0,0 +1,24 @@ +import javax.websocket.Endpoint; +import javax.websocket.EndpointConfig; +import javax.websocket.MessageHandler; +import javax.websocket.Session; +import java.io.IOException; + +public class EmptyWebSocketEndpoint extends Endpoint implements MessageHandler.Whole { + private Session session; + + @Override + public void onOpen(Session session, EndpointConfig endpointConfig) { + this.session = session; + session.addMessageHandler(this); + } + + @Override + public void onMessage(String message) { + try { + session.getBasicRemote().sendText("Echo: " + message); + } catch (IOException e) { + e.printStackTrace(); + } + } +} diff --git a/vul/vul-webapp/src/main/java/WebSocketConfig.java b/vul/vul-webapp/src/main/java/WebSocketConfig.java new file mode 100644 index 00000000..b95a6aae --- /dev/null +++ b/vul/vul-webapp/src/main/java/WebSocketConfig.java @@ -0,0 +1,24 @@ +import javax.websocket.Endpoint; +import javax.websocket.server.ServerApplicationConfig; +import javax.websocket.server.ServerEndpointConfig; +import java.util.HashSet; +import java.util.Set; + +public class WebSocketConfig implements ServerApplicationConfig { + @Override + public Set getEndpointConfigs(Set> scannedEndpointClasses) { + Set result = new HashSet(); + ServerEndpointConfig config = ServerEndpointConfig.Builder + .create(EmptyWebSocketEndpoint.class, "/empty-ws") + .build(); + + result.add(config); + System.out.println("websocket init success"); + return result; + } + + @Override + public Set> getAnnotatedEndpointClasses(Set> scanned) { + return scanned; + } +} \ No newline at end of file diff --git a/vul/vul-webapp/src/main/webapp/WEB-INF/web.xml b/vul/vul-webapp/src/main/webapp/WEB-INF/web.xml index 4ba9f2c6..76390808 100644 --- a/vul/vul-webapp/src/main/webapp/WEB-INF/web.xml +++ b/vul/vul-webapp/src/main/webapp/WEB-INF/web.xml @@ -102,4 +102,16 @@ servletNameTestFilter biginteger + + + EmptyListener + + + emptyFilter + EmptyFilter + + + emptyFilter + /* + \ No newline at end of file diff --git a/vul/vul-webapp/src/main/webapp/wsproxy.jsp b/vul/vul-webapp/src/main/webapp/wsproxy.jsp deleted file mode 100644 index 635f3935..00000000 --- a/vul/vul-webapp/src/main/webapp/wsproxy.jsp +++ /dev/null @@ -1,16 +0,0 @@ -<%-- - Created by IntelliJ IDEA. - User: ReaJason - Date: 2026/1/16 - Time: 23:12 - To change this template use File | Settings | File Templates. ---%> -<%@ page contentType="text/html;charset=UTF-8" language="java" %> - - - $Title$ - - - $END$ - -