exploiting Vulnerabilità di reindirizzamento aperto in java

3

Apri il reindirizzamento come sfruttare?

document.location.pathname e passato alla funzione 'open ()' di un oggetto XMLHttpRequest tramite le seguenti dichiarazioni:

url=document.location.pathname;
url=url.substr(0,trimPosition);
xhr.open(method.toUpperCase(),url,this.options.async,this.options.user,this.options.password); 

GET /cdsfsd/foo.js HTTP/1.1
Host: fo.exemple.com
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close

Forse è una falsa vulnerabilità?

    
posta doglife 20.01.2017 - 19:00
fonte

3 risposte

1

Open Redirect si verifica quando l'applicazione utilizza URL o percorsi forniti dall'utente come valore di parametro e reindirizza a questi senza avvisare l'utente.

Scenario:

Passaggio 1: la seguente richiesta di ottenere accetta un URL come valore del parametro.

GET /thengakola.asp?&returl=http://pappadam.com
Host: mangatholi.com

Passaggio 2: Quindi, inviando il seguente link a chiunque, posso ingannare un utente che si fida di mangatholi.com per atterrare sul sito maligno pappadam.com

link

Scopri se puoi mettere in atto uno scenario per reindirizzare un utente ignaro a sbarcare su un altro sito web dal link. L'applicazione è quindi vulnerabile al reindirizzamento aperto.

    
risposta data 20.01.2017 - 19:50
fonte
1

Quello che hai non sembra un reindirizzamento aperto per me.

In primo luogo, questo codice sta facendo un XMLHttpRequest o ciò che normalmente chiamiamo una richiesta Ajax. XMLHttpRequest sono limitati dallo stesso criterio di origine e quindi non sarai mai in grado di passare un dominio dannoso in esso perché il metodo semplicemente si bloccherà se non è lo stesso dominio.

In secondo luogo, stai utilizzando location.pathname . Quale location.pathname ti restituisce è un url relativo all'host corrente. Ciò significa che l'url completo sarà sempre {current_host} / url nel tuo codice. Pertanto, non accederai mai a un host malintenzionato per errore.

In terzo luogo, non hai l'input dell'utente. Di solito, la vulnerabilità di reindirizzamento aperto si trova nella pagina di accesso che spesso contiene un returnUrl come parametro nell'URL per reindirizzare l'utente sulla pagina giusta dopo aver effettuato l'accesso. Se non protetto, questo returnUrl può essere utilizzato per reindirizzare l'utente a un malintenzionato posto. Quindi, per avere la vulnerabilità, è necessario avere un input da qualche parte. Dov'è l'input dell'utente?

In conclusione, non penso che questa parte del codice sia vulnerabile al reindirizzamento aperto, ma potrebbe esserlo anche un'altra parte.

Nota

Il punto di forza della vulnerabilità di reindirizzamento aperto è che utilizzano la tua fiducia in un sito web che conosci bene per ottenere la tua fiducia per il loro sito Web dannoso. Ad esempio, se esegui l'accesso con google e successivamente ti reindirizzano a malicious_site.com, è più probabile che ti fidi di malicious_site.com poiché ritieni che sia correlato a google anche se non sono completamente correlati.

    
risposta data 20.01.2017 - 20:36
fonte
0

questo è il modulo di risposta Apri reindirizzamento

I dati vengono letti da document.location.pathname e passati alla funzione 'open ()' di un oggetto XMLHttpRequest tramite le seguenti istruzioni:

  • url = document.location.pathname;
  • url = url.substr (0, trimPosition);
    • xhr.open (method.toUpperCase (), URL, this.options.async, this.options.user, this.options.password);

richiesta 1

POST /foo/ HTTP/1.1
Host: www.foo.com
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Referer: https://foo/
Content-Type: application/x-www-form-urlencoded
Content-Length: 25
Cookie: uid=LmWCLFiCJHMRTQbdBIvHAg==; _ga=GA1.2.1981574184.1484924024; _gat_owox=1; __exponea_etc__=c2bffa03-f562-47ec-ada4-46370f18530f; __exponea_time2__=-2.8187875747680664

form_name=service-partner

richiesta 2

GET /fooo/foo.js HTTP/1.1
Host: www.foo.com
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Cookie: uid=LmWCLFiCJHMRTQbdBIvHAg==; _ga=GA1.2.1981574184.1484924024; _gat_owox=1; __exponea_etc__=c2bffa03-f562-47ec-ada4-46370f18530f; __exponea_time2__=-2.8187875747680664
    
risposta data 21.01.2017 - 13:03
fonte

Leggi altre domande sui tag