Ping La casella di input sul server Web è vulnerabile ai comandi di piping?

2

Lo scenario è questo.

Ho effettuato l'accesso a un server Web come amministratore tramite la pagina di accesso nel browser. mi ha mostrato una sorta di pagina iniziale che ha una casella di input con un pulsante accanto ad essa che dice "ping"

in pratica eseguirà il ping di qualsiasi indirizzo IP immesso. (testato con URL locali ed esterni)

So per certo che il servizio in esecuzione sul server web è in esecuzione come root.

la mia domanda è questa. posso inserire un indirizzo IP e poi inviare un comando dopo di esso per elevare i miei privilegi?

Ad esempio ... (escluso il comando ping effettivo in realtà)

ping 192.168.0.1 | usermod -a -G <groupname> username

ping 192.168.0.1 | whoami

la shell dei comandi che esegue il ping è in esecuzione su root (sicuro al 99% da questo) quindi, in teoria, dovrebbe consentirmi di elevare i privilegi degli utenti sul sistema? per favore correggimi se sbaglio.

grazie in anticipo

    
posta LewisFletch 21.10.2014 - 07:09
fonte

3 risposte

1

Se la shell dei comandi è in esecuzione come root e l'input fornito dall'utente non è validato correttamente, eseguirà qualunque comando passi alla shell. Penso che ci sarà una corretta convalida degli input passati dagli utenti. Come quando un utente inserirà l'indirizzo IPv4, sarà una combinazione di numeri interi e punti e per IPv6 sarà intero e:. Quindi, quando l'utente passerà il valore, sicuramente verrà convalidato prima di passarlo alla shell usando la variabile.

    
risposta data 21.10.2014 - 09:32
fonte
0

Quindi dopo un semplice test di

127.0.0.1 | whoami

È uscito con l'output "root"

Quindi in sostanza potrei fare qualsiasi cosa se lo collegassi dopo l'indirizzo IP.

Ad esempio, avevo un nome utente jason che è un utente normale senza privilegi speciali. sono stato in grado di aggiungerlo al file sudoers con

 echo "jason ALL=(ALL) ALL" >> /etc/sudoers

Dopo questo sono stato in grado di installare SSH nella macchina con le nuove autorizzazioni di jason e modificare la password di root con

passwd root

probabilmente la lunga strada da percorrere, ma stava sperimentando quello che potevo farla franca dato che l'output della shell sul sito web generava solo la pipe senza alcun modo di inserire parametri come "nuova password UNIX" quando cambiare una password ecc ...

    
risposta data 22.10.2014 - 02:20
fonte
-1

please correct me if i'm wrong.

OK.

I have logged into a web server as admin through the Login page in browser.

no, non hai. hai effettuato l'accesso a un'applicazione web su questo server web.

it essentially will ping any ip address that you input. (tested with local and external URL's)

IP. hai testato gli IP, non gli URL con "ping"

I know for a fact the service running on the web server is running as root.

come mai?

my question is this. can i put in an IP address and then pipe a command after it to elevate my privileges?

perché non lo provi?

    
risposta data 21.10.2014 - 07:27
fonte

Leggi altre domande sui tag