Yasser Zamani created WW-4539:
---------------------------------
Summary: Handling array of tokens in token session interceptor to
prevent CSRF attack in an async-request app
Key: WW-4539
URL: https://issues.apache.org/jira/browse/WW-4539
Project: Struts 2
Issue Type: Improvement
Components: Core Interceptors
Affects Versions: Future
Reporter: Yasser Zamani
Priority: Trivial
Fix For: 2.3.x
We have an application based on Struts2 which may call multiple async actions
via JQuery AJAX post or form post. To prevent this application from CSRF
attacks I'm going to write my own interceptor which is very similar to Struts2
token session interceptor. But this one holds an array of valid tokens instead
of one token to enable user to have async multiple requests with different
valid token for each one. i.e. my own token TAG will generate different tokens
in each inclusion even in one JSP and thread. So, different part of JSP can
have their own async requests with valid tokens. Each token will be removed
from array when corresponded request has finished.
I decided to share my work to you for two reasons:
1. Maybe you are interested too to have this feature in Struts core.
2. To get your feedback if this solution works to prevent CSRF attacks. I just
copy from token session interceptor and current token tag in Struts core but
still I'm wory about thread safety of my work or any other issue.
Thanks in advance!
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)