Ignora questo filtro XSS univoco?

-1

Ho trovato un sito web che riflette gli input dell'utente. Ma il problema è quando iniettare questo carico utile <svg/onload=alert(1)> ottengo un errore.

Ma quando uso questo payload <%20svg/onload=alert(1)> , il mio input si riflette sullo schermo ma non riesco a far apparire l'avviso. E questo documento dice che non dovrebbe esserci spazio bianco tra < e il tag nome.

Quindi non posso utilizzare alcun payload che inizi con < e il nome del tag per ex. <script , <svg , <img

Quindi, c'è qualche trucco?

Payload provati:

<%20svg/onload=alert(1)>
<%00svg/onload=alert(1)>
<%09svg/onload=alert(1)>

Ma il risultato è lo stesso, il mio input si riflette senza alcun problema, ma non viene visualizzato alcun avviso.

Quindi, il risultato è "Non può bypassare"? Cosa mi manca qui?

    
posta Utkarsh Agrawal 03.07.2018 - 08:34
fonte

1 risposta

3

Supponendo che la situazione sia:

A webpage directly insert part of the URI inside its HTML content

e la restrizione è:

Webpage returns a static error if that URI part contains <[a-zA-Z0-9]

Quindi potresti avere XSS exploit in questi casi:

  • Il codice viene inserito all'interno di un tag <script> nella pagina, all'interno di un tag <style> , all'interno di alcuni attributi HTML come href o onclick o tra < e > di qualsiasi tag HTML : in tutti questi casi, non è necessario utilizzare il codice <XYZ -like per iniettare materiale critico
  • Il codice viene inserito in un textNode di qualsiasi altro elemento HTML: puoi inserire% tag</xyz>, che interrompe la pagina e potrebbe consentire alcune altre iniezioni, lo stesso vale per <!-- tag di commento; oppure puoi iniettare _ di nodi iniziali (potrebbe avere un impatto in un modo un altro); oppure puoi iniettare una stringa che inizia con qualsiasi lettera e che contiene il tag più tardi ( foo<bar>naz</bar> )
  • E perché non codificare il primo carattere del tag? O caso di commutazione? O entrambi? Hai provato <Script>... o <%53cript ?

Tuttavia, un'assistenza accurata sarebbe molto più semplice con una mappatura di "Questo è l'URI che ho usato, e questo è il risultato HTML che ottengo" (ma non sono sicuro che avremmo ottenuto molto più di questo, dato che l'obiettivo di questo sito Web non è quello di fornire exploit per gli attacchi AFAIR).

    
risposta data 03.07.2018 - 14:23
fonte

Leggi altre domande sui tag