diff --git a/src/main/java/org/sasanlabs/service/vulnerability/sampleVulnerability/SampleVulnerability.java b/src/main/java/org/sasanlabs/service/vulnerability/sampleVulnerability/SampleVulnerability.java deleted file mode 100644 index 93727ab3..00000000 --- a/src/main/java/org/sasanlabs/service/vulnerability/sampleVulnerability/SampleVulnerability.java +++ /dev/null @@ -1,109 +0,0 @@ -package org.sasanlabs.service.vulnerability.sampleVulnerability; - -import org.sasanlabs.internal.utility.LevelConstants; -import org.sasanlabs.internal.utility.Variant; -import org.sasanlabs.internal.utility.annotations.AttackVector; -import org.sasanlabs.internal.utility.annotations.VulnerableAppRequestMapping; -import org.sasanlabs.internal.utility.annotations.VulnerableAppRestController; -import org.sasanlabs.service.vulnerability.bean.GenericVulnerabilityResponseBean; -import org.sasanlabs.vulnerability.types.VulnerabilityType; -import org.springframework.web.bind.annotation.RequestParam; - -/** - * This is a sample vulnerability for helping developers in adding a new Vulnerability for - * VulnerableApp - * - * @author KSASAN preetkaran20@gmail.com - */ -/** - * {@code VulnerableAppRestController} annotation is similar to {@link - * org.springframework.stereotype.Controller} Annotation - */ -@VulnerableAppRestController( - /** - * "descriptionLabel" parameter of annotation is i18n label stored in {@link - * /VulnerableApp/src/main/resources/i18n/}. This descriptionLabel will be shown in the UI - * as the description of the Vulnerability. It helps students to learn about the - * vulnerability and can also include some of the useful references etc. - */ - descriptionLabel = "SAMPLE_VULNERABILITY", - /** - * "value" parameter of annotation is used to create the request mapping. e.g. for the below - * parameter value, /VulnerableApp/SampleVulnerability will be created as URI Path. - */ - value = "SampleVulnerability") -public class SampleVulnerability { - - /** - * {@code AttackVector} annotation is used to create the Hints section in the User Interface. - * This annotation can be mentioned multiple times in case the same vulnerability level - */ - @AttackVector( - /** - * "vulnerabilityExposed" parameter is used to depict the Vulnerability exposed by the - * level. For example say a level is exposing SQL_INJECTION. - */ - vulnerabilityExposed = VulnerabilityType.SAMPLE_VULNERABILITY, - /** - * "description" parameter of annotation is i18n label stored in {@link - * /VulnerableApp/src/main/resources/i18n/}. This description will be shown in the UI as - * hint to give some indication on how the level is handling input to help user to crack - * the level. - */ - description = "SAMPLE_VULNERABILITY_USER_INPUT_HANDLING_INJECTION", - - /** - * "payload" parameter of annotation is i18n label stored in {@link - * /VulnerableApp/src/main/resources/attackvectors/*.properties}. This payload will be - * shown in UI to help users find/exploit the vulnerability - */ - payload = "NOT_APPLICABLE") - /** - * This annotation is similar to {@link RequestMapping} SpringBoot annotation. It will map the - * endpoint to /VulnerableApp/SampleVulnerability/LEVEL_1 where LEVEL_1 is coming from the value - * parameter. - */ - @VulnerableAppRequestMapping( - /** - * "value" parameter is used to map the level to URI path - * /VulnerableApp/SampleVulnerability/${value}. - */ - value = LevelConstants.LEVEL_1, - - /** - * "htmlTemplate" is used to load the UI for the level for taking input from the user. - * It points to files in directory - * src/main/resource/static/templates/${VulnerabilityName} e.g. - * src/main/resource/static/templates/SampleVulnerability as ${htmlTemplate}.js, - * ${htmlTemplate}.css, ${htmlTemplate}.html. e.g. in this case it will be: - * src/main/resource/static/templates/SampleVulnerability/LEVEL_1/SampleVulnerability_Level1.js - * etc - * - *
CSS, JS and HTML are all loaded to render the UI.
- */
- htmlTemplate = "LEVEL_1/SampleVulnerability")
- public GenericVulnerabilityResponseBean