Hi Christian,

Do you have some example code of you Form extension?

Thanks,

Martijn

On Mon, 2008-07-28 at 15:18 -0400, Christian Edward Gruber wrote:
> A good way would be to alter the Form object to contain (via a hidden  
> variable) a field that's generated per the whitepaper linked from that  
> wikipedia article.  The form would then consume the post, and if that  
> field is not in the expected state, generate an error state, which  
> could then be redirected to a security page or some such.  We solved  
> it this way, though without changing the T5 form object - we used a  
> custom form object.
> 
> A friend of mine wrote the linked whitepaper, so if someone's trying  
> to put the fix into the Tapestry framework infrastructure, then let me  
> know and I'll connect you by e-mail.  It's a good read anyway, as it's  
> a bit of a subtle problem.
> 
> Christian.
> 
> On 28-Jul-08, at 14:50 , Martijn Brinkers (List) wrote:
> 
> > Cross-site request forgeries (CSRF) is a web application vulnerability
> > that is often neglected by web developers. If your application is
> > vulnerable to CSRF and an attacker can entice you to request some URL
> > (this can be done for example with an image with the src set to some
> > Tapestry action) the attacker can execute random Tapestry actions and
> > post forms (like adding a adminitrator etc.) without the users  
> > consent.
> > For more info on CSRF see for example:
> > http://en.wikipedia.org/wiki/Cross-site_request_forgery.
> > One way to protect against CSRF is to add a non-guessable code  
> > (saved in
> > the user session) to the URLs that need to be protected against CSRF  
> > or
> > add a hidden field to a Form with this unique code. When Tapestry
> > recieved a request (for a page or action) and that page/action need
> > protection a check is done to see if the code from the URL matches the
> > code stored in the user session. If not you know that the request did
> > not generated by tapestry.
> >
> > My question is what is the best way to implement this? Should I add  
> > the
> > code as a context parameter and for forms as a hidden field? And use a
> > dispatcher to check whether the page should have been protected?
> >
> > Thanks,
> >
> > Martijn Brinkers
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to