jQuery $ .get codice HTML e XSS

0

codice JS

var id = $(this).data("id");
$.get("/api.php",{id:encodeURIComponent(id)}).done(function(data){
    $('<div>'+data+'</div>').appendTo('.parent');
});

api.php:

echo json_encode('<h1>Hi username!<h1><p>text</p>',JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP);

Il contenuto HTML restituito è non da un utente. è già scritto in api.php

La query XSS è vulnerabile? Ho sentito che html() è il male. Che dire di appendTo() ?

    
posta Swing 05.04.2018 - 12:03
fonte

1 risposta

1

Se non è controllato dall'utente, non è vulnerabile a XSS.

Qualcuno da qualche parte deve essere in grado di iniettare script in data per renderlo vulnerabile.

appendTo non è un sink in sé, ma se si aggiunge testo libero al DOM in questo caso, allora potrebbe rendere la pagina vulnerabile se data contiene input dell'utente (leggi utente inserire qualsiasi cosa al di fuori del dominio di sicurezza dell'app stessa).

    
risposta data 05.04.2018 - 12:22
fonte

Leggi altre domande sui tag