Pourquoi les pipes sont-elles considérées comme dangereuses à utiliser sous Windows / unix / linux?

StackOverflow https://stackoverflow.com/questions/192021

Question

Pourquoi l'utilisation de tuyaux est-elle considérée comme dangereuse? Que peut-on faire pour éviter ces problèmes de sécurité?

Windows m'intéresse surtout, mais si vous avez d'autres informations sur le système d'exploitation, fournissez-les.

Était-ce utile?

La solution

(en supposant que vous parliez des pipes nommées sous Unix de la mention 'c' et 'IPC'. Les pipes nommées par Windows fonctionnent un peu différemment)

Toute personne disposant d'autorisations peut écrire sur un canal nommé. Vous devez donc être prudent avec les autorisations et le verrouillage (voir flock () ). Si une application approuve l’entrée qu’elle obtient à partir du canal nommé (ce qui sera généralement le cas, sauf si vous y construisez explicitement une validation d’entrée), un utilisateur malveillant peut écrire toutes les données souhaitées dans le canal nommé s’il dispose d’une autorisation.

De même, tout utilisateur disposant d'autorisations peut lire à partir du canal et intercepter les données qui en sortent si vous ne l'avez pas exclusivement verrouillé. Les données sont alors manquantes dans le flux d'entrée attendu par le lecteur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top