Stavo spiegando l'attacco a un API JSON REST l'altro giorno (nella vita reale, al lavoro, non qui), e ho capito che non capisco parte del vettore di attacco.
Scusa se questa è una domanda di base, non sono eccezionale con JavaScript.
Un modo comune in cui questo attacco si verifica è che hai un'API, ad esempio http://myfavouritebank.com/api/account/
che restituisce quanto segue su una richiesta GET:
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: ...
{ "customer name": "Bob",
"account number": 123,
"balance" : 123.56
}
Questo verrà restituito quando l'utente ha effettuato l'accesso (ad esempio, utilizzando un'autenticazione basata su cookie). Quando l'utente non ha effettuato l'accesso, restituisce semplicemente 403.
Quindi, una pagina di rouge contiene:
<script src="http://myfavouritebank.com/api/account/"/>
Elapaginacanagliacaricheràl'oggettoJSON(datochel'utenteèattualmenteloggatonelsitowebdellabanca).
Maladomandaè
Inchemodolapaginacanagliautilizzaeffettivamentequell'oggetto?Èsolounoggettoorfanoall'internodell'ambientediscript,comepuòessereassegnatoadunavariabile,adesempio?
Inaltreparole,hocapitochenonhomaicapitocomesisvolgaquestoattaccodaqui.
Cisonomolteottimerispostesu