[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux_var] Bash e Taint Check



On Mon, 9 Dec 2013 17:40:29 +0100
Giovanni Orlandi <orlangio@gmail.com> wrote:

> Ciao a tutti,
> 
> devo lanciare un semplice script da apache con sudo.
> Pero' non vorrei che passando i parametri in maniera malevola mi
> fragassero il server.
> Volevo sapere se lo script e' sicuro o se si deve/puo' fare un taint check.
> 
> Questo e' lo script, ovviamente apache avra' il diritto di eseguirlo con sudo:
> 
> #!/bin/bash
> 
> iptables -I FORWARD -d "$1" -j ACCEPT
> 
> Quello che mi aspetto e' che la macchina indicata nel parametro $1
> venga abilitata al forward. Quello che non vorrei è che attraverso
> apici dritti/rovesciati mi eseguano comandi arbitrari.
> 

Per non saper ne leggere ne scrivere, farei un programmino in C, che equivale a questo script, che prima verifica il nome dell'host per verificare che sia sintatticamente corretto e poi lancia iptables con i suoi parametri.

Altrimenti se vuoi "ripulire" l'input da dentro lo script puoi fare cosi':

host=$( echo "$1" | tr -c '0-9A-Za-z.' ' '  )

se non ho scritto cavolate, il comando tr dovrebbe sostituire tutti i caratteri che non sono lettere, numeri o punti in uno spazio. 

Non e' detto che sia sicuro al 100%. Dipende molto anche da come viene invocato lo script.

-- 
Diego Roversi <diegor@tiscali.it>
_______________________________________________
Talking mailing list
Talking@ml.linuxvar.it
http://ml.linuxvar.it/cgi-bin/mailman/listinfo/talking