Javascript / Ajax Hijacking

1

Mi chiedevo se le richieste GET riportate di seguito da un file HTML e da un file javascript sono vulnerabili a AJAX Hijacking / JavaScript Hijacking?

AJAX Hijacking: link JavaScript Hijacking: link

1)

                    var req = new XMLHttpRequest();
                    req.open("GET", queryUrl, false);
                    req.setRequestHeader("Accept", "application/json");
                    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                    req.onreadystatechange = function () {
                        if (this.readyState == 4) {
                            if (this.status == 200) {
                                //do something }
                                                  }
                                             }
                   req.send();

2)

                var req = new XMLHttpRequest();
    req.open("GET", encodeURI(ODataPath() + type + "Var1"+ Value1+"), true);
    req.setRequestHeader("Accept", "application/json");
    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    req.onreadystatechange = function () {
        if (this.readyState == 4 /* complete */) {
            req.onreadystatechange = null;
             // Do Something
    };
    req.send();
};
    
posta p_upadhyay 22.09.2015 - 18:06
fonte

2 risposte

1

Questo è solo un problema nei browser estremamente vecchi - ad es. Firefox 3 . Se il tuo codice lato client non rimuove alcun "cruft non analizzabile", il lato server è probabilmente vulnerabile. L'altro requisito per una vulnerabilità è che il JSON è recuperabile tramite GET. Dalla tua domanda possiamo già vedere che si tratta di richieste GET, quindi dovresti aggiungere un cruft non analizzabile o fare qualche controllo per assicurarti che siano su un browser moderno.

L'altra opzione è di non fare nulla: questo potrebbe non essere un rischio per te se tale uso del browser è raro.

    
risposta data 22.09.2015 - 20:56
fonte
1

Le chiamate vanno bene fintanto che non inviano matrici JSON con informazioni sensibili come indicato nelle fonti. Forse potresti utilizzare invece le normali richieste HTTPS per tali informazioni.

    
risposta data 22.09.2015 - 19:01
fonte

Leggi altre domande sui tag