2012-10-31 4 views
5

To jest moja filer config w web.xmlUzyskiwanie błąd 403 przy użyciu filtra CSRF z 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> 

jestem brakuje czegoś? Są jakieś zmiany kodu niezbędne, aby umożliwić ochronę CSRF w Tomcat

Odpowiedz

5

pamiętać, że jest odpowiedzią CSRFPreventionFilter jeśli nonce nie jest przewidziane i filtr spodziewa jeden.

Nie znam obecnego stanu CSRFPreventionFilter, ale według this thread trzeba podać każdą punkt_wejścia zasobu indywidualnie (bez symboli wieloznacznych) - lub mieć filtr zastosować do ścieżki, która nie zawiera /zaloguj

Więc:

<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> 

czyli

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

Aktualizacja grudzień 2012:

Tomcat 7.0.32 naprawia lukę w zabezpieczeniach CSRFPreventionFilter

+0

Dzięki za WYJAŚNIENIE. Więc moje pytanie brzmi: czy muszę zmienić cokolwiek w moich jsps, aby wysłać nonce, lub zajmie się tym tomcat. Ponieważ, jak rozumiem, metoda getRedirectUrl została nadpisana przez ten plik, więc wszelkie linki w moim kodzie będą automatycznie przetwarzane. Ale co z formularzami na moich stronach? – sps

+0

Tak naprawdę nie próbowałem go - ale oczekiwałbym, że akcja formularza będzie wymagała encodeUrl(). – pd40

+1

Dzięki .. Myślę, że będę musiał również wysłać ukryty parametr w przypadku postów formularza – sps