Perché le pipe sono considerate pericolose da usare in Windows / unix / linux?
-
08-07-2019 - |
Domanda
Perché i tubi sono considerati pericolosi da usare? Cosa si può fare per evitare questi problemi di sicurezza?
Sono principalmente interessato a Windows, ma se si dispone di altre informazioni sul sistema operativo, si prega di fornire.
Soluzione
(supponendo che tu stia parlando di pipe con nome Unix dalla menzione di 'c' e 'IPC'. Le pipe con nome Windows funzionano in modo leggermente diverso)
Chiunque abbia i permessi può scrivere su una named pipe, quindi devi stare attento con i permessi e il blocco (vedi flock () ). Se un'applicazione si fida dell'input che sta ricevendo dalla pipe denominata (che di solito è il caso a meno che non si inserisca esplicitamente la convalida dell'input in essa), un utente malintenzionato può scrivere tutti i dati desiderati nella pipa denominata se dispone dell'autorizzazione.
Inoltre, qualsiasi utente con autorizzazioni può leggere dalla pipe e intercettare i dati che ne escono se non l'hai bloccato esclusivamente. I dati mancano quindi dal flusso di input previsto dal lettore.