diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..f0a63ec --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,13 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "type": "java", + "name": "Debug (Attach)", + "projectName": "MyApplication", + "request": "attach", + "hostName": "localhost", + "port": 5005 + } + ] + } \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 309b464..2e9b1a6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,7 +5,7 @@ import org.zaproxy.gradle.addon.misc.CreateGitHubRelease import org.zaproxy.gradle.addon.misc.ExtractLatestChangesFromChangelog plugins { - id("com.diffplug.gradle.spotless") version "3.27.2" + id("com.diffplug.spotless") version "6.25.0" id("com.github.ben-manes.versions") version "0.38.0" `java-library` id("org.zaproxy.add-on") version "0.5.0" diff --git a/src/main/java/org/sasanlabs/fileupload/ExtensionFileUpload.java b/src/main/java/org/sasanlabs/fileupload/ExtensionFileUpload.java index d28ee99..58ac749 100644 --- a/src/main/java/org/sasanlabs/fileupload/ExtensionFileUpload.java +++ b/src/main/java/org/sasanlabs/fileupload/ExtensionFileUpload.java @@ -1,5 +1,5 @@ /** - * Copyright 2021 SasanLabs + * Copyright 2024 SasanLabs * *
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 diff --git a/src/main/java/org/sasanlabs/fileupload/FileUploadScanRule.java b/src/main/java/org/sasanlabs/fileupload/FileUploadScanRule.java index fa59875..9ea607f 100644 --- a/src/main/java/org/sasanlabs/fileupload/FileUploadScanRule.java +++ b/src/main/java/org/sasanlabs/fileupload/FileUploadScanRule.java @@ -1,5 +1,5 @@ /** - * Copyright 2021 SasanLabs + * Copyright 2024 SasanLabs * *
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 diff --git a/src/main/java/org/sasanlabs/fileupload/FileUploadUtils.java b/src/main/java/org/sasanlabs/fileupload/FileUploadUtils.java index 0902c7c..ea050a2 100644 --- a/src/main/java/org/sasanlabs/fileupload/FileUploadUtils.java +++ b/src/main/java/org/sasanlabs/fileupload/FileUploadUtils.java @@ -1,5 +1,5 @@ /** - * Copyright 2021 SasanLabs + * Copyright 2024 SasanLabs * *
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 diff --git a/src/main/java/org/sasanlabs/fileupload/attacks/AttackVector.java b/src/main/java/org/sasanlabs/fileupload/attacks/AttackVector.java index 5529f26..4e9c4e9 100644 --- a/src/main/java/org/sasanlabs/fileupload/attacks/AttackVector.java +++ b/src/main/java/org/sasanlabs/fileupload/attacks/AttackVector.java @@ -1,5 +1,5 @@ /** - * Copyright 2021 SasanLabs + * Copyright 2024 SasanLabs * *
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 diff --git a/src/main/java/org/sasanlabs/fileupload/attacks/FileUploadAttackExecutor.java b/src/main/java/org/sasanlabs/fileupload/attacks/FileUploadAttackExecutor.java index 21c5558..a21e0ff 100644 --- a/src/main/java/org/sasanlabs/fileupload/attacks/FileUploadAttackExecutor.java +++ b/src/main/java/org/sasanlabs/fileupload/attacks/FileUploadAttackExecutor.java @@ -1,5 +1,5 @@ /** - * Copyright 2023 SasanLabs + * Copyright 2024 SasanLabs * *
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 diff --git a/src/main/java/org/sasanlabs/fileupload/attacks/antivirus/EicarAntivirusTestFileUpload.java b/src/main/java/org/sasanlabs/fileupload/attacks/antivirus/EicarAntivirusTestFileUpload.java index b7f012d..3da7b0a 100644 --- a/src/main/java/org/sasanlabs/fileupload/attacks/antivirus/EicarAntivirusTestFileUpload.java +++ b/src/main/java/org/sasanlabs/fileupload/attacks/antivirus/EicarAntivirusTestFileUpload.java @@ -1,5 +1,5 @@ /** - * Copyright 2021 SasanLabs + * Copyright 2024 SasanLabs * *
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 diff --git a/src/main/java/org/sasanlabs/fileupload/attacks/apache/htaccess/HTAccessFileUpload.java b/src/main/java/org/sasanlabs/fileupload/attacks/apache/htaccess/HTAccessFileUpload.java index 504f1c4..162b5a9 100644 --- a/src/main/java/org/sasanlabs/fileupload/attacks/apache/htaccess/HTAccessFileUpload.java +++ b/src/main/java/org/sasanlabs/fileupload/attacks/apache/htaccess/HTAccessFileUpload.java @@ -1,5 +1,5 @@ /** - * Copyright 2021 SasanLabs + * Copyright 2024 SasanLabs * *
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 diff --git a/src/main/java/org/sasanlabs/fileupload/attacks/model/FileExtensionOperation.java b/src/main/java/org/sasanlabs/fileupload/attacks/model/FileExtensionOperation.java index c2b857b..5036b4c 100644 --- a/src/main/java/org/sasanlabs/fileupload/attacks/model/FileExtensionOperation.java +++ b/src/main/java/org/sasanlabs/fileupload/attacks/model/FileExtensionOperation.java @@ -1,5 +1,5 @@ /** - * Copyright 2021 SasanLabs + * Copyright 2024 SasanLabs * *
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 diff --git a/src/main/java/org/sasanlabs/fileupload/attacks/model/FileInformationProvider.java b/src/main/java/org/sasanlabs/fileupload/attacks/model/FileInformationProvider.java index 8f61974..183d107 100644 --- a/src/main/java/org/sasanlabs/fileupload/attacks/model/FileInformationProvider.java +++ b/src/main/java/org/sasanlabs/fileupload/attacks/model/FileInformationProvider.java @@ -1,5 +1,5 @@ /** - * Copyright 2021 SasanLabs + * Copyright 2024 SasanLabs * *
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 @@ -31,7 +31,8 @@ public interface FileInformationProvider { */ default String getContentType(String originalContentType) { return originalContentType; - }; + } + ; /** * Represents the file name. diff --git a/src/main/java/org/sasanlabs/fileupload/attacks/model/FileInformationProviderBuilder.java b/src/main/java/org/sasanlabs/fileupload/attacks/model/FileInformationProviderBuilder.java index f1b270f..05306ca 100644 --- a/src/main/java/org/sasanlabs/fileupload/attacks/model/FileInformationProviderBuilder.java +++ b/src/main/java/org/sasanlabs/fileupload/attacks/model/FileInformationProviderBuilder.java @@ -1,5 +1,5 @@ /** - * Copyright 2021 SasanLabs + * Copyright 2024 SasanLabs * *
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 diff --git a/src/main/java/org/sasanlabs/fileupload/attacks/model/FileInformationProviderImpl.java b/src/main/java/org/sasanlabs/fileupload/attacks/model/FileInformationProviderImpl.java index 0c3d97a..c6eebfc 100644 --- a/src/main/java/org/sasanlabs/fileupload/attacks/model/FileInformationProviderImpl.java +++ b/src/main/java/org/sasanlabs/fileupload/attacks/model/FileInformationProviderImpl.java @@ -1,5 +1,5 @@ /** - * Copyright 2021 SasanLabs + * Copyright 2024 SasanLabs * *
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 @@ -17,7 +17,9 @@ import java.util.Random; import org.sasanlabs.fileupload.exception.FileUploadException; -/** @author KSASAN preetkaran20@gmail.com */ +/** + * @author KSASAN preetkaran20@gmail.com + */ class FileInformationProviderImpl implements FileInformationProvider { private String baseFileName; diff --git a/src/main/java/org/sasanlabs/fileupload/attacks/model/SimpleFileInformationProvider.java b/src/main/java/org/sasanlabs/fileupload/attacks/model/SimpleFileInformationProvider.java index dfe75b0..73b577d 100644 --- a/src/main/java/org/sasanlabs/fileupload/attacks/model/SimpleFileInformationProvider.java +++ b/src/main/java/org/sasanlabs/fileupload/attacks/model/SimpleFileInformationProvider.java @@ -1,5 +1,5 @@ /** - * Copyright 2021 SasanLabs + * Copyright 2024 SasanLabs * *
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
@@ -15,7 +15,9 @@
import java.util.function.Function;
-/** @author KSASAN preetkaran20@gmail.com */
+/**
+ * @author KSASAN preetkaran20@gmail.com
+ */
public class SimpleFileInformationProvider implements FileInformationProvider {
private Function 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
diff --git a/src/main/java/org/sasanlabs/fileupload/attacks/rce/jsp/ImageWithJSPSnippetFileUpload.java b/src/main/java/org/sasanlabs/fileupload/attacks/rce/jsp/ImageWithJSPSnippetFileUpload.java
index 5506037..89dde1a 100644
--- a/src/main/java/org/sasanlabs/fileupload/attacks/rce/jsp/ImageWithJSPSnippetFileUpload.java
+++ b/src/main/java/org/sasanlabs/fileupload/attacks/rce/jsp/ImageWithJSPSnippetFileUpload.java
@@ -1,5 +1,5 @@
/**
- * Copyright 2021 SasanLabs
+ * Copyright 2024 SasanLabs
*
* 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
@@ -30,7 +30,9 @@
import org.sasanlabs.fileupload.exception.FileUploadException;
import org.sasanlabs.fileupload.matcher.impl.ContainsExpectedValueMatcher;
-/** @author preetkaran20@gmail.com KSASAN */
+/**
+ * @author preetkaran20@gmail.com KSASAN
+ */
public class ImageWithJSPSnippetFileUpload extends AttackVector {
private static final String GIF_IMAGE_JSP_INJECTED_IN_EXIF_BASE64_ENCODED =
diff --git a/src/main/java/org/sasanlabs/fileupload/attacks/rce/jsp/SimpleJSPFileUpload.java b/src/main/java/org/sasanlabs/fileupload/attacks/rce/jsp/SimpleJSPFileUpload.java
index e1c7c66..de32a9e 100644
--- a/src/main/java/org/sasanlabs/fileupload/attacks/rce/jsp/SimpleJSPFileUpload.java
+++ b/src/main/java/org/sasanlabs/fileupload/attacks/rce/jsp/SimpleJSPFileUpload.java
@@ -1,5 +1,5 @@
/**
- * Copyright 2021 SasanLabs
+ * Copyright 2024 SasanLabs
*
* 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
@@ -24,7 +24,9 @@
import org.sasanlabs.fileupload.matcher.ContentMatcher;
import org.sasanlabs.fileupload.matcher.impl.MD5HashResponseMatcher;
-/** @author KSASAN preetkaran20@gmail.com */
+/**
+ * @author KSASAN preetkaran20@gmail.com
+ */
public class SimpleJSPFileUpload extends AttackVector {
private static final String JSP_UPLOADED_FILE_BASE_NAME = "SimpleJSPFileUpload_";
diff --git a/src/main/java/org/sasanlabs/fileupload/attacks/rce/jsp/SimpleJSPXFileUpload.java b/src/main/java/org/sasanlabs/fileupload/attacks/rce/jsp/SimpleJSPXFileUpload.java
index 645db5c..9bfb0b1 100644
--- a/src/main/java/org/sasanlabs/fileupload/attacks/rce/jsp/SimpleJSPXFileUpload.java
+++ b/src/main/java/org/sasanlabs/fileupload/attacks/rce/jsp/SimpleJSPXFileUpload.java
@@ -1,5 +1,5 @@
/**
- * Copyright 2021 SasanLabs
+ * Copyright 2024 SasanLabs
*
* 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
@@ -27,7 +27,9 @@
import org.sasanlabs.fileupload.matcher.ContentMatcher;
import org.sasanlabs.fileupload.matcher.impl.MD5HashResponseMatcher;
-/** @author KSASAN preetkaran20@gmail.com */
+/**
+ * @author KSASAN preetkaran20@gmail.com
+ */
public class SimpleJSPXFileUpload extends AttackVector {
private static final String JSPX_UPLOADED_FILE_BASE_NAME = "SimpleJSPXFileUpload_";
diff --git a/src/main/java/org/sasanlabs/fileupload/attacks/rce/php/ImageWithPHPSnippetFileUpload.java b/src/main/java/org/sasanlabs/fileupload/attacks/rce/php/ImageWithPHPSnippetFileUpload.java
index e768f3f..d3f5e62 100644
--- a/src/main/java/org/sasanlabs/fileupload/attacks/rce/php/ImageWithPHPSnippetFileUpload.java
+++ b/src/main/java/org/sasanlabs/fileupload/attacks/rce/php/ImageWithPHPSnippetFileUpload.java
@@ -1,5 +1,5 @@
/**
- * Copyright 2021 SasanLabs
+ * Copyright 2024 SasanLabs
*
* 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
@@ -30,7 +30,9 @@
import org.sasanlabs.fileupload.exception.FileUploadException;
import org.sasanlabs.fileupload.matcher.impl.ContainsExpectedValueMatcher;
-/** @author KSASAN preetkaran20@gmail.com */
+/**
+ * @author KSASAN preetkaran20@gmail.com
+ */
public class ImageWithPHPSnippetFileUpload extends AttackVector {
private static final String GIF_IMAGE_PHP_INJECTED_IN_EXIF_BASE64_ENCODED =
"R0lGODlhAQABAIAAAP///wAAACH5BAAAAAAAIf5JPD9waHAgZWNobyAiSW1hZ2VXaXRoUEhQU25pcHBldEZpbGVVcGxvYWRfIi4iU2FzYW5MYWJzX1pBUF9JZGVudGlmaWVyIiA/PgAsAAAAAAEAAQAAAgJEAQA7";
diff --git a/src/main/java/org/sasanlabs/fileupload/attacks/rce/php/SimplePHPFileUpload.java b/src/main/java/org/sasanlabs/fileupload/attacks/rce/php/SimplePHPFileUpload.java
index ad2cc03..ac37ff5 100644
--- a/src/main/java/org/sasanlabs/fileupload/attacks/rce/php/SimplePHPFileUpload.java
+++ b/src/main/java/org/sasanlabs/fileupload/attacks/rce/php/SimplePHPFileUpload.java
@@ -1,5 +1,5 @@
/**
- * Copyright 2021 SasanLabs
+ * Copyright 2024 SasanLabs
*
* 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
diff --git a/src/main/java/org/sasanlabs/fileupload/attacks/xss/HtmlFileUpload.java b/src/main/java/org/sasanlabs/fileupload/attacks/xss/HtmlFileUpload.java
index 938499a..549153e 100644
--- a/src/main/java/org/sasanlabs/fileupload/attacks/xss/HtmlFileUpload.java
+++ b/src/main/java/org/sasanlabs/fileupload/attacks/xss/HtmlFileUpload.java
@@ -1,5 +1,5 @@
/**
- * Copyright 2021 SasanLabs
+ * Copyright 2024 SasanLabs
*
* 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
diff --git a/src/main/java/org/sasanlabs/fileupload/attacks/xss/SVGFileUpload.java b/src/main/java/org/sasanlabs/fileupload/attacks/xss/SVGFileUpload.java
index 50d7864..89dc388 100644
--- a/src/main/java/org/sasanlabs/fileupload/attacks/xss/SVGFileUpload.java
+++ b/src/main/java/org/sasanlabs/fileupload/attacks/xss/SVGFileUpload.java
@@ -1,5 +1,5 @@
/**
- * Copyright 2021 SasanLabs
+ * Copyright 2024 SasanLabs
*
* 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
diff --git a/src/main/java/org/sasanlabs/fileupload/configuration/FileUploadConfiguration.java b/src/main/java/org/sasanlabs/fileupload/configuration/FileUploadConfiguration.java
index 6b0b405..a349197 100644
--- a/src/main/java/org/sasanlabs/fileupload/configuration/FileUploadConfiguration.java
+++ b/src/main/java/org/sasanlabs/fileupload/configuration/FileUploadConfiguration.java
@@ -1,5 +1,5 @@
/**
- * Copyright 2023 SasanLabs
+ * Copyright 2024 SasanLabs
*
* 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
@@ -113,7 +113,8 @@ public boolean getSendRequestsAfterFindingVulnerability() {
return sendRequestsAfterFindingVulnerability;
}
- public void setSendRequestsAfterFindingVulnerability(boolean shouldSendRequestsAfterFindingVulnerability) {
+ public void setSendRequestsAfterFindingVulnerability(
+ boolean shouldSendRequestsAfterFindingVulnerability) {
sendRequestsAfterFindingVulnerability = shouldSendRequestsAfterFindingVulnerability;
this.getConfig()
.setProperty(
diff --git a/src/main/java/org/sasanlabs/fileupload/exception/FileUploadException.java b/src/main/java/org/sasanlabs/fileupload/exception/FileUploadException.java
index 2d8c53c..c954260 100644
--- a/src/main/java/org/sasanlabs/fileupload/exception/FileUploadException.java
+++ b/src/main/java/org/sasanlabs/fileupload/exception/FileUploadException.java
@@ -1,5 +1,5 @@
/**
- * Copyright 2021 SasanLabs
+ * Copyright 2024 SasanLabs
*
* 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
diff --git a/src/main/java/org/sasanlabs/fileupload/function/ConsumerWithException.java b/src/main/java/org/sasanlabs/fileupload/function/ConsumerWithException.java
index dfc0bae..76629b9 100644
--- a/src/main/java/org/sasanlabs/fileupload/function/ConsumerWithException.java
+++ b/src/main/java/org/sasanlabs/fileupload/function/ConsumerWithException.java
@@ -1,5 +1,5 @@
/**
- * Copyright 2021 SasanLabs
+ * Copyright 2024 SasanLabs
*
* 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
@@ -13,7 +13,9 @@
*/
package org.sasanlabs.fileupload.function;
-/** @author preetkaran20@gmail.com KSASAN */
+/**
+ * @author preetkaran20@gmail.com KSASAN
+ */
@FunctionalInterface
public interface ConsumerWithException 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
diff --git a/src/main/java/org/sasanlabs/fileupload/locator/URILocator.java b/src/main/java/org/sasanlabs/fileupload/locator/URILocator.java
index b0a83ef..de54cbf 100644
--- a/src/main/java/org/sasanlabs/fileupload/locator/URILocator.java
+++ b/src/main/java/org/sasanlabs/fileupload/locator/URILocator.java
@@ -1,5 +1,5 @@
/**
- * Copyright 2021 SasanLabs
+ * Copyright 2024 SasanLabs
*
* 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
diff --git a/src/main/java/org/sasanlabs/fileupload/locator/URILocatorImpl.java b/src/main/java/org/sasanlabs/fileupload/locator/URILocatorImpl.java
index 3f0a76b..530aed7 100644
--- a/src/main/java/org/sasanlabs/fileupload/locator/URILocatorImpl.java
+++ b/src/main/java/org/sasanlabs/fileupload/locator/URILocatorImpl.java
@@ -1,5 +1,5 @@
/**
- * Copyright 2021 SasanLabs
+ * Copyright 2024 SasanLabs
*
* 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
diff --git a/src/main/java/org/sasanlabs/fileupload/matcher/ContentMatcher.java b/src/main/java/org/sasanlabs/fileupload/matcher/ContentMatcher.java
index 882db9d..a7db2a4 100644
--- a/src/main/java/org/sasanlabs/fileupload/matcher/ContentMatcher.java
+++ b/src/main/java/org/sasanlabs/fileupload/matcher/ContentMatcher.java
@@ -1,5 +1,5 @@
/**
- * Copyright 2021 SasanLabs
+ * Copyright 2024 SasanLabs
*
* 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
diff --git a/src/main/java/org/sasanlabs/fileupload/matcher/impl/ContainsExpectedValueMatcher.java b/src/main/java/org/sasanlabs/fileupload/matcher/impl/ContainsExpectedValueMatcher.java
index 3656d26..6fecce5 100644
--- a/src/main/java/org/sasanlabs/fileupload/matcher/impl/ContainsExpectedValueMatcher.java
+++ b/src/main/java/org/sasanlabs/fileupload/matcher/impl/ContainsExpectedValueMatcher.java
@@ -1,5 +1,5 @@
/**
- * Copyright 2021 SasanLabs
+ * Copyright 2024 SasanLabs
*
* 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
diff --git a/src/main/java/org/sasanlabs/fileupload/matcher/impl/MD5HashResponseMatcher.java b/src/main/java/org/sasanlabs/fileupload/matcher/impl/MD5HashResponseMatcher.java
index a08dd7e..467cde4 100644
--- a/src/main/java/org/sasanlabs/fileupload/matcher/impl/MD5HashResponseMatcher.java
+++ b/src/main/java/org/sasanlabs/fileupload/matcher/impl/MD5HashResponseMatcher.java
@@ -1,5 +1,5 @@
/**
- * Copyright 2021 SasanLabs
+ * Copyright 2024 SasanLabs
*
* 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
diff --git a/src/main/java/org/sasanlabs/fileupload/ui/FileUploadOptionsPanel.java b/src/main/java/org/sasanlabs/fileupload/ui/FileUploadOptionsPanel.java
index cbd3af9..20a7c9d 100644
--- a/src/main/java/org/sasanlabs/fileupload/ui/FileUploadOptionsPanel.java
+++ b/src/main/java/org/sasanlabs/fileupload/ui/FileUploadOptionsPanel.java
@@ -1,5 +1,5 @@
/**
- * Copyright 2023 SasanLabs
+ * Copyright 2024 SasanLabs
*
* 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