Sto cercando di creare uno scanner XSS usando Python per un sito web. Il sito Web ha funzionalità di creazione di widget. Il codice sorgente del sito Web contiene modelli per ciascun tipo di widget. Il sito Web restituisce una risposta API per ogni chiamata POST per creare widget, che viene poi recuperata da javascript per popolare il modello del widget con i dati.
Utilizzo di scanner XSS generici: Normalmente gli scanner XSS rilevano XSS inviando caratteri speciali e parole chiave javascript come >, <, script, ", ecc. Nel payload / URL e quindi monitorando la risposta html per verificare se i caratteri sono codificati o filtrati. non codificato / filtrato, quindi viene inviato l'intero vettore XSS. Se si riflette esattamente nella risposta HTML, allora abbiamo una vulnerabilità XSS sulla pagina.
Dichiarazione del problema: Il problema con il sito Web su cui sto lavorando è che ottengo una risposta API invece di html. La risposta dell'API contiene il carico utile immesso ma ha tutti i caratteri speciali nel formato codificato, ma si presenta nell'origine della pagina dell'interfaccia utente senza codifica, che attiva XSS. Se provo a recuperare l'html della pagina Web utilizzando una chiamata GET, ottengo l'html della pagina Web ma contiene modelli vuoti e nessun dato.
C'è un modo per superare il problema? Posso occuparmi della parte di codifica, ma non sono in grado di capire come procedere con questo problema. Un'idea generale su come procedere aiuterà.