From 51b57eb3eaa2cae580df6a236009c54ccbc7f9be Mon Sep 17 00:00:00 2001 From: snow Date: Sun, 9 Aug 2026 17:44:33 -0700 Subject: [PATCH] Escape reflected XSS HTML tag level 1 Signed-off-by: snow --- .../vulnerability/xss/reflected/XSSWithHtmlTagInjection.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/sasanlabs/service/vulnerability/xss/reflected/XSSWithHtmlTagInjection.java b/src/main/java/org/sasanlabs/service/vulnerability/xss/reflected/XSSWithHtmlTagInjection.java index 413b1cc5b..1e2d58589 100644 --- a/src/main/java/org/sasanlabs/service/vulnerability/xss/reflected/XSSWithHtmlTagInjection.java +++ b/src/main/java/org/sasanlabs/service/vulnerability/xss/reflected/XSSWithHtmlTagInjection.java @@ -35,10 +35,11 @@ public class XSSWithHtmlTagInjection { @VulnerableAppRequestMapping(value = LevelConstants.LEVEL_1, htmlTemplate = "LEVEL_1/XSS") public ResponseEntity getVulnerablePayloadLevel1( @RequestParam Map queryParams) { - String vulnerablePayloadWithPlaceHolder = "
%s
"; + String vulnerablePayloadWithPlaceHolder = "
%s
"; StringBuilder payload = new StringBuilder(); for (Map.Entry map : queryParams.entrySet()) { - payload.append(String.format(vulnerablePayloadWithPlaceHolder, map.getValue())); + String escapedValue = StringEscapeUtils.escapeHtml4(map.getValue()); + payload.append(String.format(vulnerablePayloadWithPlaceHolder, escapedValue)); } return new ResponseEntity(payload.toString(), HttpStatus.OK); }