mirror of
https://github.com/apache/struts.git
synced 2026-09-13 01:25:07 +00:00
Adds additional default exclude patterns to avoid access to #context
This commit is contained in:
+3
-1
@@ -23,7 +23,9 @@ public class DefaultExcludedPatternsChecker implements ExcludedPatternsChecker {
|
||||
"(^|.*#)request(\\.|\\[).*",
|
||||
"(^|.*#)application(\\.|\\[).*",
|
||||
"(^|.*#)servlet(Request|Response)(\\.|\\[).*",
|
||||
"(^|.*#)parameters(\\.|\\[).*"
|
||||
"(^|.*#)parameters(\\.|\\[).*",
|
||||
"(^|.*#)context(\\.|\\[).*",
|
||||
"(^|.*#)_memberAccess(\\.|\\[).*"
|
||||
};
|
||||
|
||||
private Set<Pattern> excludedPatterns;
|
||||
|
||||
+2
-4
@@ -110,13 +110,11 @@ public class ParametersInterceptorTest extends XWorkTestCase {
|
||||
pi.setParameters(action, vs, params);
|
||||
|
||||
// then
|
||||
assertEquals(2, action.getActionMessages().size());
|
||||
assertEquals(1, action.getActionMessages().size());
|
||||
|
||||
String msg1 = action.getActionMessage(0);
|
||||
String msg2 = action.getActionMessage(1);
|
||||
|
||||
assertTrue(msg1.contains("Error setting expression 'name' with value '(#context[\"xwork.MethodAccessor.denyMethodExecution\"]= new java.lang.Boolean(false), #_memberAccess[\"allowStaticMethodAccess\"]= new java.lang.Boolean(true), @java.lang.Runtime@getRuntime().exec('mkdir /tmp/PWNAGE'))(meh)'"));
|
||||
assertTrue(msg2.contains("Error setting expression 'top['name'](0)' with value 'true'"));
|
||||
assertTrue(msg1.contains("Error setting expression 'top['name'](0)' with value 'true'"));
|
||||
assertNull(action.getName());
|
||||
}
|
||||
|
||||
|
||||
+4
@@ -39,6 +39,10 @@ public class DefaultExcludedPatternsCheckerTest extends XWorkTestCase {
|
||||
add("%{#parameters.test}");
|
||||
add("%{#Parameters['test']}");
|
||||
add("%{#Parameters.test}");
|
||||
add("#context.get('com.opensymphony.xwork2.dispatcher.HttpServletResponse')");
|
||||
add("%{#context.get('com.opensymphony.xwork2.dispatcher.HttpServletResponse')}");
|
||||
add("#_memberAccess[\"allowStaticMethodAccess\"]= new java.lang.Boolean(true)");
|
||||
add("%{#_memberAccess[\"allowStaticMethodAccess\"]= new java.lang.Boolean(true)}");
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user