Iniezione di comando

Iniezione di comando

Un punto e virgola in un campo modulo e il server esegue il comando.

Cos’è Iniezione di comando?

L'iniezione di comandi trasforma una richiesta web in esecuzione di codice con l'identità del server. L'applicazione incolla l'input dell'utente in una stringa di comando e lo trasmette a una shell, che legge ogni carattere speciale come sintassi. Aggiungerai un punto e virgola al campo host di uno strumento di diagnostica di rete, eseguirai un secondo comando e rileggerai il file di ambiente con la password del database al suo interno. Quindi sostituisci la stringa concatenata con execFile in modo che l'host rimanga un unico argomento e scopri perché il filtraggio dei caratteri pericolosi perde sempre.

Cosa imparerai in Iniezione di comando

Iniezione di comando — Fasi della formazione

  1. Lo strumento diagnostico

    Trelvane gestisce una piattaforma di hosting e offre uno specchio pubblico: incolla un host e i server periferici di Trelvane lo eseguono per te e restituiscono l'output non elaborato. Utile per i clienti che controllano se un server è raggiungibile. Bob lo apre per vedere come si comporta prima di toccarlo.

  2. Esegue un vero e proprio comando

    Una riga in quella pagina è l'intera ragione per cui Bob è interessato.

  3. Utilizza la funzione

    Guarda lo strumento comportarsi normalmente. Effettua il ping di un normale host in modo che il browser catturi la richiesta inviata dalla pagina.

  4. Trova la richiesta

    La richiesta è stata inviata e il browser l'ha registrata. Apri il pannello Rete e leggi dove la pagina lo ha inviato e come viaggia l'host.

  5. Iniettare un secondo comando

    Bob non tocca mai più il modulo. Modifica la richiesta catturata nel pannello Rete e riscrive il valore host : un indirizzo di loopback, un punto e virgola, quindi due comandi propri. Se il server crea il comando ping incollando il valore, il punto e virgola termina il ping e i comandi di Bob vengono eseguiti subito dopo. Concatena id per vedere con chi viene eseguito il server e un cat del file dell'ambiente del lavoratore, dove gli agenti di hosting conservano la password del database e le chiavi cloud.

  6. Le chiavi sono sparite

    Il ping viene eseguito e quindi vengono visualizzate le linee che il ping non produce mai.

  7. Verifica della conoscenza

    Hai appena visto uno strumento ping eseguire i comandi dell'aggressore e divulgare i segreti del server. Blocca il perché.

  8. L'avviso

    Possiedi il servizio Looking Glass di Trelvane. Durante la notte, il monitoraggio ha segnalato all'addetto alla diagnostica qualcosa che uno strumento ping non dovrebbe mai fare: eseguire comandi della shell e leggere il proprio file dei segreti. Security Operations ti ha inviato i dettagli via email.

  9. Apri il gestore

    L'endpoint del ping è servito da ping.js . Aprilo e guarda come esegue il comando.

  10. Individua il difetto

    Il gestore incolla il valore dell'host in una stringa di comando e passa l'intera stringa a una shell per l'esecuzione.

Copertura dei framework di sicurezza

OWASP Top 10

  • A05:2025 Injection
  • A03:2021 Injection

CWE

  • CWE-78 Improper Neutralization of Special Elements used in an OS Command

CIS Controls

  • CIS 16 Application Software Security

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security