The Past, Present, and Future of Cross-Site/Cross-Origin Request Forgery by Dr Philippe De Ryck

Explore the evolution of cross-site and cross-origin request forgery, from CSRF to Csurg, and learn how modern technologies like GraphQL and token-based systems provide protection against these attacks.

Key takeaways
  • Cross-site request forgery (CSERF) is not to be confused with cross-origin request forgery.
  • CSERF involves requests with same-origin policy but exploits lax Same-Origin policy of CORS and uses a same-site request, not cross-site request, to exploit vulnerability.
  • Browsers send the CSRF-X token to the server but will never include the same in headers that include cookies in Chrome browser.
  • To protect from cross-origin request forgery (same-site), enable same-site cookies; browsers will not include cookie for requests that originated from outside this origin.
  • Using form-encoded form and sending as a “form content” is not vulnerable.
  • Cookie security can be addressed through application, BFF library; the issue is that applications were trying to handle CSRF/X with lax same-origin policy.
  • Server will set CORS headers by default on every request with non-cookie request headers if configured by CORS policy on origin for Chrome browser. Same behavior as with “JSON-CORS” request without actual json body.
  • With modern technology like GraphQL or newer (using POST or any) should avoid C- Serve related attacks. C-seref and Csurg cannot happen.
  • New technique from modern browser developers are based on a token based systems are now the basis.
  • Browsers check this default origin policy that server uses cookies. To attack these C- server problems CSRF can be the server’s way of providing anti - Csurg with HTTP’s OPTIONS request as used on many web site is always send HTTP.
  • And all other options such are CSRF. There exist of Csurg a protection based on same- the HTTP origin and C-side token with CSRF attack has more the origin - cookies by origin to provide server on and a default on side side token - on default CORS server on each page all options of Cookies default that default server token from by CORS side the page has, by all these can with token default HTTP C a.