The HMAC is used solely to ensure that form state stored on the client side 
(t:formdata) hasn't been
tempered with. As such its current implementation is sufficient.

It is no protection against DOS (no cryptographic mechanism is) and no 
protection against CSRF. For
CSRF protection there is a module by one of our former GSoC students, Markus 
Jung, at [1].

Cheers,

Uli

[1] http://code.google.com/p/gsoc2011-csrf-protection/

On 2013-11-06 09:44, Peter Hvass wrote:
> Hello all, 
> 
> 
> The HMAC passphrase as is, is identical no matter the form, the time, the 
> session. 
> It seems to only be generated based on the passphrase defined in your 
> AppModule. 
> 
> 
> I don't see how this protects against DoS attacks except the most blind 
> assault. Nor 
> does it protect against CSRF (it could easily). 
> 
> 
> Example scenario; 
> 1. Malicious user visits the page with our log in form. 
> 2. Malicious user copies the hidden input data 
> 3. Malicious user can now submit that form in a verified fashion (or any 
> other form for that matter) 
> 
> 
> If your site allows user registrations lets say, an attacker could create an 
> account, copy a bunch 
> of forms (including hidden field) and send out malicious links containing 
> that form. This might 
> enable them to modify a variety of data, perhaps even hijack accounts, if the 
> developer isn't stringent 
> in adding his own security mechanisms to each and every form. 
> 
> 
> So since we have the basis for HMAC verification in place; why not salt it 
> with a session id or a timestamp? 
> 
> 
> This could potentially ward off a bunch of different attacks; namely CSRF. 
> 
> 
> And is anyone aware of which service or code handles the generation of the 
> hidden input value on forms? Is 
> this something I could override or decorate for the time being so as to have 
> peace of mind against CSRF attacks? :) 
> 
> 
> Thanks! 
> Peter 
> 
> 
> 
> 
> 
> 
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to