From 01156b23b57eca203465bac7371a9d24d81d7a8d Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Thu, 3 Nov 2016 13:52:23 +0000 Subject: [PATCH] Merged 5.2.N (5.2.1) to HEAD (5.2) 131485 kroast: Merged 5.2-DEV (5.2.0) to 5.2.N (5.2.N) 131352 kroast: ACE-4881 - [Pentest 121015] Multiple admin CSRF - Added CSRF filter config to protect the Alfresco Admin Console pages git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@132265 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco/web-client-security-config.xml | 118 ++++++++++++++++++ .../web/WEB-INF/web-application-context.xml | 33 +++-- source/web/WEB-INF/web.xml | 16 +++ 3 files changed, 159 insertions(+), 8 deletions(-) create mode 100644 config/alfresco/web-client-security-config.xml diff --git a/config/alfresco/web-client-security-config.xml b/config/alfresco/web-client-security-config.xml new file mode 100644 index 0000000000..bb620d3668 --- /dev/null +++ b/config/alfresco/web-client-security-config.xml @@ -0,0 +1,118 @@ + + + + + + + true + + + + + + alf-csrftoken + + + + + + + + + + + {token} +
{token}
+ {token} +
+ + + + + + + + GET + /service/enterprise/admin/.* + + + {token} + {token} + + + + + + + POST +
multipart/.+
+
+ + {token} + {token} + + + {referer} + + + {origin} + +
+ + + + + POST|PUT|DELETE + + + {token} + {token} + + + {referer} + + + {origin} + + +
+ +
+ +
\ No newline at end of file diff --git a/source/web/WEB-INF/web-application-context.xml b/source/web/WEB-INF/web-application-context.xml index b5d44df9bc..4928a19dee 100644 --- a/source/web/WEB-INF/web-application-context.xml +++ b/source/web/WEB-INF/web-application-context.xml @@ -2,12 +2,29 @@ - - - - - + + + + + + + + + + + classpath:alfresco/web-scripts-config.xml + classpath:alfresco/web-client-security-config.xml + classpath:alfresco/extension/web-scripts-config-custom.xml + + + + + + + + + \ No newline at end of file diff --git a/source/web/WEB-INF/web.xml b/source/web/WEB-INF/web.xml index 6b84d1f14e..3c89e4fa47 100644 --- a/source/web/WEB-INF/web.xml +++ b/source/web/WEB-INF/web.xml @@ -98,6 +98,12 @@ --> + + CSRF Token filter. Checks for a session based CSRF token in request headers (or form parameters) based on config. + CSRF Token Filter + org.springframework.extensions.webscripts.servlet.CSRFFilter + + @@ -232,6 +238,16 @@ /wcs/api/solr/* + + CSRF Token Filter + /service/enterprise/admin/* + + + + CSRF Token Filter + /s/enterprise/admin/* + +