2012-10-31 6 views
5

Questo è il mio config filer in web.xmlOttenere 403 errore quando si utilizza il filtro CSRF con Tomcat 6.0.32

<filter> 
    <filter-name>CSRFPreventionFilter</filter-name> 
    <filter-class>org.apache.catalina.filters.CsrfPreventionFilter</filter-class> 
    <init-param> 
     <param-name>entryPoints</param-name> 
     <param-value>/login<param-value> 
    </init-param> 
</filter> 

<filter-mapping> 
    <filter-name>CSRFPreventionFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 
<filter> 

mi sto perdendo qualcosa? Sono delle code-modifiche necessarie per attivare la protezione CSRF in Tomcat

risposta

5

Nota che un è la risposta CSRFPreventionFilter se un nonce non è previsto e il filtro si aspetta uno.

non so lo stato attuale delle CSRFPreventionFilter, ma secondo this thread è necessario specificare ogni risorsa EntryPoint singolarmente (no caratteri jolly) - o hanno il filtro si applica a un percorso che non include /login

Quindi:

<filter> 
<filter-name>CSRFPreventionFilter</filter-name> 
<filter-class>org.apache.catalina.filters.CsrfPreventionFilter</filter-class> 
<init-param> 
    <param-name>entryPoints</param-name> 
    <param-value>/login/login.html,/login/image.png,/login/style.css</param-value> 
</init-param> 
</filter> 

Oppure:

<filter-mapping> 
<filter-name>CSRFPreventionFilter</filter-name> 
<url-pattern>/csrf/*</url-pattern> 
</filter-mapping> 

Aggiornamento dicembre 2012:

Tomcat 7.0.32 corregge una vulnerabilità di sicurezza in CSRFPreventionFilter

+0

Grazie per l'explantion. Quindi la mia domanda ora è che ho bisogno di cambiare qualcosa nel mio jsps per inviare il nonce, o Tomcat si prenderà cura di questo. Perché, come ho capito, il metodo getRedirectUrl è sovrascritto da questo filer, quindi ogni link nel mio codice verrà gestito automaticamente. Ma per quanto riguarda i moduli nelle mie pagine? – sps

+0

Non l'ho ancora provato, ma mi aspetto che l'azione del form abbia bisogno di encodeUrl(). – pd40

+1

Grazie .. Credo che dovrò anche inviare parametri nascosti in caso di messaggi di modulo – sps

Problemi correlati