From e7ac8f9a7eddb4af50ae1b670e09d5918f2e6f06 Mon Sep 17 00:00:00 2001 From: ChomeNS <95471003+ChomeNS@users.noreply.github.com> Date: Sat, 15 Mar 2025 07:52:24 +0700 Subject: [PATCH] fix: 69 DDOS exploit in eval --- build-number.txt | 2 +- .../chayapak1/chomens_bot/evalFunctions/CoreFunction.java | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/build-number.txt b/build-number.txt index a10e1ce0..3d2b7eb6 100644 --- a/build-number.txt +++ b/build-number.txt @@ -1 +1 @@ -1785 \ No newline at end of file +1786 \ No newline at end of file diff --git a/src/main/java/me/chayapak1/chomens_bot/evalFunctions/CoreFunction.java b/src/main/java/me/chayapak1/chomens_bot/evalFunctions/CoreFunction.java index cfb71bb6..3687a2ca 100644 --- a/src/main/java/me/chayapak1/chomens_bot/evalFunctions/CoreFunction.java +++ b/src/main/java/me/chayapak1/chomens_bot/evalFunctions/CoreFunction.java @@ -9,6 +9,8 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; public class CoreFunction extends EvalFunction { + private long lastExecutionTime = System.currentTimeMillis(); + public CoreFunction (Bot bot) { super("core", bot); } @@ -17,6 +19,10 @@ public class CoreFunction extends EvalFunction { public Output execute(Object... args) throws Exception { if (args.length == 0) return null; + // prevent 69 DDOS exploit !!! + if (System.currentTimeMillis() - lastExecutionTime < 50) return null; + lastExecutionTime = System.currentTimeMillis(); + final String command = (String) args[0]; final CompletableFuture future = bot.core.runTracked(command);