Leggevo la pagina di OWASP su CSRF e nel loro esempio che usano una richiesta in cui i parametri sensibili sono memorizzati nella stringa di query:
http://bank.com/transfer.do?acct=MARIA&amount=100000
Sul mio sito faccio una richiesta in cui nulla è sensibile nella stringa di query:
http://mysite.com/accounts/delete
Ma se guardi la richiesta non elaborata puoi vedere le informazioni sensibili:
POST /ajax/deletion/account HTTP/1.1
Host: www.mysite.com
Connection: keep-alive
Content-Length: 15
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
Content-Type: application/json; charset=UTF-8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Cookie: X-Mapping-fjhppofk=B8BFE26CD0B3A37348ECC6FFE3948274; connect.sid=s%3A4t4wfMTR6kCPRfwe5OEmYbse.Y%2FOfSmt%2Bo5JWDWglvUHIufOOFvfebr86CLiUcgdW6j8;
{"account_id":35653}
Quello che mi chiedo è se sono al sicuro dagli attacchi CSRF poiché non includo alcun parametro nella mia stringa di query? Se non sono al sicuro da CSRF, in che modo un utente malintenzionato invia una richiesta falsificata?