Ottenere l'accesso remoto tramite path traversal per le applicazioni web Java

2

Ho trovato path traversal per un'applicazione web e posso ottenere il contenuto di tutti i file a cui l'utente del webserver ha accesso in lettura. Voglio sfruttarlo ulteriormente.

Con i siti Web PHP a volte riesco a ottenere l'accesso remoto nel seguente modo:

  • Ricevo pagine HTML di risposta con parti di esso che sono il contenuto del file richiesto
  • Gestisco le mie richieste in modo che il codice PHP eseguibile venga scritto nei file di log del server web.
  • Provo a OTTENERE i contenuti dei file di log, quindi eseguo il mio codice PHP.

Questo è possibile solo se il contenuto del file remoto viene mostrato tramite include o require o stupidamente eval 'd. Nella maggior parte dei casi è qualcosa come file_get_contents e echo , che non esegue il codice. Ma ci sono stati casi in cui sono riuscito a farlo, e mi sono procurato una piccola shell che utilizza system per eseguire qualsiasi cosa passata come parametro GET con i privilegi dell'utente del webserver.

La mia domanda è, esiste una vulnerabilità simile per le applicazioni web scritte in Java? È comune? Come posso sfruttarlo?

    
posta Rápli András 01.03.2017 - 19:11
fonte

1 risposta

1

È impossibile eseguire gli eseguibili con java se il codice non contiene una riga come:

Runtime.getRuntime().exec(variableProvidedByUser);

Ora lo sfruttamento indiretto di una vulnerabilità di caricamento (dato che la verifica del tipo di file fallisce) è ancora possibile se si sa che il file viene eseguito da un processo diverso da java.

Tenere presente che esistono applicazioni che contengono solo file BLOB nei database, in modo che l'esecuzione del file non sia possibile se l'applicazione non esegue esplicitamente tale operazione o che java semplicemente legge utilizzando un byteStreamReader che rappresenterà una matrice di byte.

Un'altra cosa da tenere a mente è che java viene eseguito in una macchina virtuale (JVM) e che java è un linguaggio compilato e che non è possibile accedere allo spazio utente in modo arbitrario, né semplicemente caricare gli script ed eseguirli.

    
risposta data 25.10.2017 - 21:05
fonte

Leggi altre domande sui tag