Penso che tu abbia perso il punto di questa domanda. Data la formulazione della domanda, la persona che ha impostato l'esame potrebbe non essere stata molto chiara sul modello di minaccia, a meno che non ci sia un ulteriore materiale introduttivo per questa domanda che non hai citato e che fornisca più contesto.
Ciò che hai postato è un programma che accetta un argomento, una stringa ed esegue questa stringa come programma di shell ( /bin/sh
).
Il punto chiave è nel contesto in cui viene chiamato questo programma. Esistono molti programmi che eseguono il loro argomento come un programma di shell o come un comando esterno, iniziando con sh
stesso.
Se il programma viene chiamato nello stesso limite di sicurezza dell'entità che decide l'argomento, non vi sono implicazioni di sicurezza poiché non viene attraversata alcuna barriera di sicurezza.
Se l'argomento viene scelto da un'entità esterna al limite di sicurezza che esegue il programma (ad esempio, se il programma viene eseguito con privilegi aggiuntivi tramite sudo
, o se l'argomento viene letto da un utente esterno sulla rete) , quindi questa è un'iniezione banale. Non c'è bisogno di essere creativi: puoi inserire assolutamente qualsiasi codice che ti piace (devi solo esprimerlo nella sintassi della shell). Puoi accedere a tutti i file dell'utente che sta eseguendo il programma, modificarli e aggiungerne di nuovi, eseguire i programmi desiderati, utilizzare qualsiasi connessione di rete disponibile, ecc.
Ogni volta che puoi eseguire codice arbitrario in un contesto privilegiato, hai vinto. rm -rf /
non funzionerà, a meno che il programma non sia in esecuzione come root su un sistema che non ha una prevenzione ad hoc rm -rf /
. Qualcosa come rm -rf ~
(rimuovi tutti i file nella casa dell'utente) sarebbe più utile se vuoi causare danni. Ma di solito gli aggressori cercano cose più produttive, come leggere i file archiviati su questo account oi database a cui ha accesso, piantare una backdoor per poter recuperare l'accesso in seguito, inviare spam o generare bitcoin e così via.