svn commit: r1720100 - /ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentWorker.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1720100 - /ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentWorker.java

jleroux@apache.org
Author: jleroux
Date: Tue Dec 15 09:30:30 2015
New Revision: 1720100

URL: http://svn.apache.org/viewvc?rev=1720100&view=rev
Log:
A patch from Supachai Chaima-ngua for <<The renderContentAsText method should configure text sanitizer by "sanitizer.permissive.policy" in owasp.properties.>> https://issues.apache.org/jira/browse/OFBIZ-6769

An error is displayed on Accounting reports for Cash transactions:The renderContentAsText method should configure text sanitizer by "sanitizer.permissive.policy" in owasp.properties. If electronic text contains javascript, the renderContentAsText method will remove some content.

jleroux: of course you would allow script in your permissive policy at your own risk...

Modified:
    ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentWorker.java

Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentWorker.java?rev=1720100&r1=1720099&r2=1720100&view=diff
==============================================================================
--- ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentWorker.java (original)
+++ ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentWorker.java Tue Dec 15 09:30:30 2015
@@ -39,6 +39,7 @@ import org.ofbiz.base.util.UtilCodec;
 import org.ofbiz.base.util.UtilDateTime;
 import org.ofbiz.base.util.UtilGenerics;
 import org.ofbiz.base.util.UtilMisc;
+import org.ofbiz.base.util.UtilProperties;
 import org.ofbiz.base.util.UtilValidate;
 import org.ofbiz.base.util.string.FlexibleStringExpander;
 import org.ofbiz.content.ContentManagementWorker;
@@ -337,7 +338,7 @@ public class ContentWorker implements or
         renderContentAsText(dispatcher, delegator, contentId, writer, templateContext, locale, mimeTypeId, null, null, cache);
         String rendered = writer.toString();
         // According to https://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet#XSS_Prevention_Rules_Summary
-        // Normally head should be protected by X-XSS-Protection Response Header by default
+        // Normally head should be protected by X-XSS-Protection Response Header by default (not Firefox)
         if ((rendered.contains("<script>")
                 || rendered.contains("<!--")
                 || rendered.contains("<div")
@@ -346,7 +347,8 @@ public class ContentWorker implements or
                 || rendered.contains("<input")
                 || rendered.contains("<input")
                 || rendered.contains("<iframe")
-                || rendered.contains("<a"))) {
+                || rendered.contains("<a"))
+                && !UtilProperties.getPropertyAsBoolean("owasp", "sanitizer.permissive.policy", false)) {
             rendered = encoder.sanitize(rendered);
         }
         return rendered;