[gull] daemon

Marc SCHAEFER schaefer at alphanet.ch
Sat Mar 13 18:11:01 CET 2004


On Sat, Mar 13, 2004 at 05:23:32PM +0100, Leopoldo Ghielmetti wrote:
> Juste, il faut seulement créer le fichier avec les bonnes permissions.

C'est plus compliqué que ça  et il faut aussi l'effacer ensuite.

Exemple:

   schaefer at defian:/tmp% date > file_1
   schaefer at defian:/tmp% ln -s file_1 blabla.truc.42
   schaefer at defian:/tmp% cat blabla.truc.42 
   Sat Mar 13 17:42:23 MET 2004
   schaefer at defian:/tmp% echo > blabla.truc.42 'test'
   schaefer at defian:/tmp% cat file_1 
   test

Ce genre d'attaque est connu. Pour s'en prémunir, créer un répertoire:

   TMP_DIRECTORY=/tmp/`basename $0`.$$

   umask 077
   mkdir $TMP_DIRECTORY || fail "someone tampering"

   TMP_FILE=$TMP_DIRECTORY/bla

   rm -rf $TMP_DIRECTORY # ou auto via `trap'.

De nombreux scripts d'installation ou d'autres sont soumis à ces
attaques. Certains pensent que le concept même de /tmp global est dangereux.
Personnellement dans mes scripts j'aime bien utiliser ~user/tmp.




More information about the gull mailing list