From 92ac8afe43f73d295c709b04080d7d9a4239fcae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebasti=C3=A1n=20Passaro?=
Date: Tue, 19 Dec 2023 22:32:47 -0300
Subject: [PATCH] Add tests and noscript specific case logic
---
.../Html/Scan/AntiSamyDomScanner.cs | 11 ++++-
OWASP.AntiSamyTests/Html/AntiSamyTest.cs | 48 +++++++++++++++++++
2 files changed, 58 insertions(+), 1 deletion(-)
diff --git a/OWASP.AntiSamy/Html/Scan/AntiSamyDomScanner.cs b/OWASP.AntiSamy/Html/Scan/AntiSamyDomScanner.cs
index 680bd39..592344b 100644
--- a/OWASP.AntiSamy/Html/Scan/AntiSamyDomScanner.cs
+++ b/OWASP.AntiSamy/Html/Scan/AntiSamyDomScanner.cs
@@ -136,7 +136,7 @@ public CleanResults Scan(string html)
// All the cleaned HTML
string finalCleanHTML = Policy.PreservesSpace ? htmlDocument.DocumentNode.InnerHtml : htmlDocument.DocumentNode.InnerHtml.Trim();
-
+
// Encode special/international characters if stated by policy
if (Policy.EntityEncodesInternationalCharacters)
{
@@ -371,6 +371,15 @@ private void ValidateTag(HtmlNode node, HtmlNode parentNode, string tagName, Tag
return;
}
+ /*
+ * Parse every
", revised)
+ .GetCleanHtml().Should().NotContain("mxss");
+ }
+
+ [Test]
+ public void TestRegexStackOverflow()
+ {
+ string result = null;
+ try
+ {
+ string input = "";
+ result = antisamy.Scan(input, policy).GetCleanHtml();
+ }
+ catch
+ {
+ // To comply with try/catch
+ }
+ result.Should().NotBeNull();
+ }
}
}