Tag Archives: xss

CSRF – Cross-Site Request Forgery (one-click attack or session riding)

E un tip de atac web prin care comenzi neautorizate sunt executate in numele unui utilizator (fara ca acesta sa-si dea seama, ca daca si-ar da seama .. cine il opreste sa le faca chiar el? 🙂 ).

Ca sa se poata executa este nevoie ca atacatorul sa cunoasca sistemul pe care victima este autentificata.

Exemplu de atac: eu, ca si victima, sunt autentificat pe acest blog si atacatorul Ion stie asta si stie si ca vizitez blogul lui Gheorghe. Ion a gasit o bresa de securitate in blogul lui Gheorghe, sa zicem un XSS stored pe care il introduce ca si comentariu in ultimul articol (stie ca eu il voi citi) si atunci cand eu intru pe site, acel stored XSS se va executa. Payload-ul poate sa fie pur si simplu un request GET catre o pagina care face un anumit lucru.

Ce solutii se recomanda in protejarea asupra acestui tip de atac:

CSRF tokens .. fiecare actiune se face printr-un POST, unul dintre campuri e un token generat la generarea paginii. In cod se verifica daca tokenul generat e acelasi cu cel stocat/generat. Cum se face bypass .. simplu, ca si orice scraper de ASP (care are ca si CSRF token un camp numit viewState), facem un GET, luam tokenul, apoi facem requestul nostru POST cu acel token.
Exemplu: https://digi.ninja/blog/xss_steal_csrf_token.php

To be continued …