From 90550e42b39972fce0db4bcab0e1ce4359b94661 Mon Sep 17 00:00:00 2001 From: Arshan Dabirsiaghi Date: Sun, 18 Dec 2016 11:52:08 -0500 Subject: [PATCH] issue 2 - cleaned up tests and added failing test case --- .gitignore | 1 + .../validator/html/test/AntiSamyTest.java | 374 +++++++++--------- 2 files changed, 180 insertions(+), 195 deletions(-) diff --git a/.gitignore b/.gitignore index 027b91ea..ea3ba588 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ target/ .project .settings .DS_Store +.classpath \ No newline at end of file diff --git a/src/test/java/org/owasp/validator/html/test/AntiSamyTest.java b/src/test/java/org/owasp/validator/html/test/AntiSamyTest.java index e5ea5c95..d3a4cf37 100644 --- a/src/test/java/org/owasp/validator/html/test/AntiSamyTest.java +++ b/src/test/java/org/owasp/validator/html/test/AntiSamyTest.java @@ -24,13 +24,11 @@ package org.owasp.validator.html.test; -import org.apache.commons.codec.binary.Base64; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; -import org.owasp.validator.html.*; -import org.owasp.validator.html.model.Attribute; -import org.owasp.validator.html.model.Tag; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; import java.io.IOException; import java.net.URL; @@ -38,7 +36,16 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; -import static org.junit.Assert.*; +import org.apache.commons.codec.binary.Base64; +import org.junit.Before; +import org.junit.Test; +import org.owasp.validator.html.AntiSamy; +import org.owasp.validator.html.CleanResults; +import org.owasp.validator.html.Policy; +import org.owasp.validator.html.PolicyException; +import org.owasp.validator.html.ScanException; +import org.owasp.validator.html.model.Attribute; +import org.owasp.validator.html.model.Tag; /** @@ -105,223 +112,203 @@ public void SAX() { */ @Test - public void scriptAttacks() { - - try { + public void scriptAttacks() throws ScanException, PolicyException { + + assertTrue(!as.scan("test", policy, AntiSamy.DOM).getCleanHTML().contains("script")); + assertTrue(!as.scan("test", policy, AntiSamy.SAX).getCleanHTML().contains("script")); - assertTrue(!as.scan("test", policy, AntiSamy.DOM).getCleanHTML().contains("script")); - assertTrue(!as.scan("test", policy, AntiSamy.SAX).getCleanHTML().contains("script")); + assertTrue(!as.scan("<<<><", policy, AntiSamy.DOM).getCleanHTML().contains("", policy, AntiSamy.SAX).getCleanHTML().contains("", policy, AntiSamy.DOM).getCleanHTML().contains("", policy, AntiSamy.SAX).getCleanHTML().contains("", policy, AntiSamy.DOM).getCleanHTML().contains("onload")); + assertTrue(!as.scan("", policy, AntiSamy.SAX).getCleanHTML().contains("onload")); - assertTrue(!as.scan("", policy, AntiSamy.DOM).getCleanHTML().contains("onload")); - assertTrue(!as.scan("", policy, AntiSamy.SAX).getCleanHTML().contains("onload")); + assertTrue(!as.scan("", policy, AntiSamy.DOM).getCleanHTML().contains("alert")); + assertTrue(!as.scan("", policy, AntiSamy.SAX).getCleanHTML().contains("alert")); - assertTrue(!as.scan("", policy, AntiSamy.DOM).getCleanHTML().contains("alert")); - assertTrue(!as.scan("", policy, AntiSamy.SAX).getCleanHTML().contains("alert")); + assertTrue(!as.scan("", policy, AntiSamy.DOM).getCleanHTML().contains("iframe")); - assertTrue(!as.scan("", policy, AntiSamy.SAX).getCleanHTML().contains("iframe")); + assertTrue(!as.scan("", policy, AntiSamy.DOM).getCleanHTML().contains("iframe")); + assertTrue(!as.scan("", policy, AntiSamy.SAX).getCleanHTML().contains("iframe")); - assertTrue(!as.scan("", policy, AntiSamy.DOM).getCleanHTML().contains("javascript")); - assertTrue(!as.scan("", policy, AntiSamy.SAX).getCleanHTML().contains("javascript")); + assertTrue(!as.scan("", policy, AntiSamy.DOM).getCleanHTML().contains("javascript")); + assertTrue(!as.scan("", policy, AntiSamy.SAX).getCleanHTML().contains("javascript")); - assertTrue(!as.scan("", policy, AntiSamy.DOM).getCleanHTML().contains("background")); - assertTrue(!as.scan("
", policy, AntiSamy.SAX).getCleanHTML().contains("background")); + assertTrue(!as.scan("
", policy, AntiSamy.DOM).getCleanHTML().contains("background")); + assertTrue(!as.scan("
", policy, AntiSamy.SAX).getCleanHTML().contains("background")); - assertTrue(!as.scan("
", policy, AntiSamy.DOM).getCleanHTML().contains("background")); - assertTrue(!as.scan("
", policy, AntiSamy.SAX).getCleanHTML().contains("background")); + assertTrue(!as.scan("
", policy, AntiSamy.DOM).getCleanHTML().contains("background")); + assertTrue(!as.scan("
", policy, AntiSamy.SAX).getCleanHTML().contains("background")); - assertTrue(!as.scan("
", policy, AntiSamy.DOM).getCleanHTML().contains("javascript")); - assertTrue(!as.scan("
", policy, AntiSamy.SAX).getCleanHTML().contains("javascript")); + assertTrue(!as.scan("
", policy, AntiSamy.DOM).getCleanHTML().contains("javascript")); + assertTrue(!as.scan("
", policy, AntiSamy.SAX).getCleanHTML().contains("javascript")); - assertTrue(!as.scan("
", policy, AntiSamy.DOM).getCleanHTML().contains("alert")); - assertTrue(!as.scan("
", policy, AntiSamy.SAX).getCleanHTML().contains("alert")); + assertTrue(!as.scan("
", policy, AntiSamy.DOM).getCleanHTML().contains("alert")); + assertTrue(!as.scan("
", policy, AntiSamy.SAX).getCleanHTML().contains("alert")); - assertTrue(!as.scan("", policy, AntiSamy.DOM).getCleanHTML().contains("alert")); - assertTrue(!as.scan("", policy, AntiSamy.SAX).getCleanHTML().contains("alert")); + assertTrue(!as.scan("", policy, AntiSamy.DOM).getCleanHTML().contains("alert")); + assertTrue(!as.scan("", policy, AntiSamy.SAX).getCleanHTML().contains("alert")); - assertTrue(!as.scan("", policy, AntiSamy.DOM).getCleanHTML().contains("ript:alert")); - assertTrue(!as.scan("", policy, AntiSamy.SAX).getCleanHTML().contains("ript:alert")); + assertTrue(!as.scan("", policy, AntiSamy.DOM).getCleanHTML().contains("ript:alert")); + assertTrue(!as.scan("", policy, AntiSamy.SAX).getCleanHTML().contains("ript:alert")); - assertTrue(!as.scan("", policy, AntiSamy.DOM).getCleanHTML().contains("javascript")); - assertTrue(!as.scan("", policy, AntiSamy.SAX).getCleanHTML().contains("javascript")); + assertTrue(!as.scan("", policy, AntiSamy.DOM).getCleanHTML().contains("javascript")); + assertTrue(!as.scan("", policy, AntiSamy.SAX).getCleanHTML().contains("javascript")); - assertTrue(!as.scan("", policy, AntiSamy.DOM).getCleanHTML().contains("", policy, AntiSamy.SAX).getCleanHTML().contains("", policy, AntiSamy.DOM).getCleanHTML().contains("", policy, AntiSamy.SAX).getCleanHTML().contains("", policy, AntiSamy.DOM).getCleanHTML().contains("", policy, AntiSamy.SAX).getCleanHTML().contains("", policy, AntiSamy.DOM).getCleanHTML().contains("", policy, AntiSamy.SAX).getCleanHTML().contains("", policy, AntiSamy.DOM).getCleanHTML().contains("javascript")); + assertTrue(!as.scan("", policy, AntiSamy.DOM).getCleanHTML().contains("javascript")); - CleanResults cr = as.scan("", policy, AntiSamy.SAX); - // System.out.println(cr.getErrorMessages().get(0)); - assertTrue(!cr.getCleanHTML().contains("javascript")); + CleanResults cr = as.scan("", policy, AntiSamy.SAX); + // System.out.println(cr.getErrorMessages().get(0)); + assertTrue(!cr.getCleanHTML().contains("javascript")); - assertTrue(!as.scan("", policy, AntiSamy.DOM).getCleanHTML().contains("", policy, AntiSamy.SAX).getCleanHTML().contains("", policy, AntiSamy.DOM).getCleanHTML().contains("", policy, AntiSamy.SAX).getCleanHTML().contains("", - policy, AntiSamy.DOM).getCleanHTML().contains("", - policy, AntiSamy.SAX).getCleanHTML().contains("", + policy, AntiSamy.DOM).getCleanHTML().contains("", + policy, AntiSamy.SAX).getCleanHTML().contains("\" SRC=\"http://ha.ckers.org/xss.js\">", policy, AntiSamy.DOM).getCleanHTML().contains("\" SRC=\"http://ha.ckers.org/xss.js\">", policy, AntiSamy.SAX).getCleanHTML().contains("\" SRC=\"http://ha.ckers.org/xss.js\">", policy, AntiSamy.DOM).getCleanHTML().contains("\" SRC=\"http://ha.ckers.org/xss.js\">", policy, AntiSamy.SAX).getCleanHTML().contains("\" '' SRC=\"http://ha.ckers.org/xss.js\">", policy, AntiSamy.DOM).getCleanHTML().contains("\" '' SRC=\"http://ha.ckers.org/xss.js\">", policy, AntiSamy.SAX).getCleanHTML().contains("\" '' SRC=\"http://ha.ckers.org/xss.js\">", policy, AntiSamy.DOM).getCleanHTML().contains("\" '' SRC=\"http://ha.ckers.org/xss.js\">", policy, AntiSamy.SAX).getCleanHTML().contains("` SRC=\"http://ha.ckers.org/xss.js\">", policy, AntiSamy.DOM).getCleanHTML().contains("` SRC=\"http://ha.ckers.org/xss.js\">", policy, AntiSamy.SAX).getCleanHTML().contains("` SRC=\"http://ha.ckers.org/xss.js\">", policy, AntiSamy.DOM).getCleanHTML().contains("` SRC=\"http://ha.ckers.org/xss.js\">", policy, AntiSamy.SAX).getCleanHTML().contains("'>\" SRC=\"http://ha.ckers.org/xss.js\">", policy, AntiSamy.DOM).getCleanHTML().contains("'>\" SRC=\"http://ha.ckers.org/xss.js\">", policy, AntiSamy.SAX).getCleanHTML().contains("'>\" SRC=\"http://ha.ckers.org/xss.js\">", policy, AntiSamy.DOM).getCleanHTML().contains("'>\" SRC=\"http://ha.ckers.org/xss.js\">", policy, AntiSamy.SAX).getCleanHTML().contains("document.write(\"PT SRC=\"http://ha.ckers.org/xss.js\">", policy, AntiSamy.DOM).getCleanHTML().contains("script")); - assertTrue(!as.scan("PT SRC=\"http://ha.ckers.org/xss.js\">", policy, AntiSamy.SAX).getCleanHTML().contains("script")); + assertTrue(!as.scan("PT SRC=\"http://ha.ckers.org/xss.js\">", policy, AntiSamy.DOM).getCleanHTML().contains("script")); + assertTrue(!as.scan("PT SRC=\"http://ha.ckers.org/xss.js\">", policy, AntiSamy.SAX).getCleanHTML().contains("script")); - assertTrue(!as.scan("