You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Yasser Zamani (JIRA)" <ji...@apache.org> on 2015/09/11 10:29:45 UTC

[jira] [Resolved] (WW-4539) Handling array of tokens in token session interceptor to prevent CSRF attack in an async-request app

     [ https://issues.apache.org/jira/browse/WW-4539?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Yasser Zamani resolved WW-4539.
-------------------------------
    Resolution: Not A Problem

@aleksandr-m is genius. Using token tag with different names in same JSP page handles this need perfectly.

> 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
>              Labels: security
>             Fix For: 2.5
>
>
> 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)