[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [linux_var] Bash e Taint Check
- To: talking@ml.linuxvar.it
- Subject: Re: [linux_var] Bash e Taint Check
- From: Diego Roversi <diegor@tiscali.it>
- Date: Mon, 9 Dec 2013 19:45:30 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ml.linuxvar.it; s=mail; t=1386614719; bh=EWbZt9uUk1BnFJx082Dm/6ZNjdmAkZPqlb4hAliLLGo=; h=Date:From:To:In-Reply-To:References:Mime-Version:Subject:Reply-To: List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help: List-Subscribe:Content-Type:Content-Transfer-Encoding:Sender; z=Received:=20from=20smtp1.ngi.it=20(smtp1.ngi.it=20[88.149.128.112 ])=0D=0A=09by=20linuxvar.it=20(Postfix)=20with=20ESMTP=20id=20E405 F3C004B=0D=0A=09for=20<talking@ml.linuxvar.it>=3B=20Mon,=20=209=20 Dec=202013=2019:44:46=20+0100=20(CET)|Received:=20from=20inside.ho me.trueelena.org=20(88-149-169-60.v4.ngi.it=0D=0A=09[88.149.169.60 ])=0D=0A=09(using=20TLSv1.2=20with=20cipher=20DHE-RSA-AES128-SHA=2 0(128/128=20bits))=0D=0A=09(No=20client=20certificate=20requested) =0D=0A=09by=20smtp1.ngi.it=20(Postfix)=20with=20ESMTPS=20id=206077 420FBA=0D=0A=09for=20<talking@ml.linuxvar.it>=3B=20Mon,=20=209=20D ec=202013=2019:44:43=20+0100=20(CET)|Received:=20from=20[192.168.1 .4]=20(helo=3Dratman.private.null)=0D=0A=09by=20inside.home.trueel ena.org=20with=20smtp=20(Exim=204.80)=0D=0A=09(envelope-from=20<di egor@tiscali.it>)=20id=201Vq5ow-0005kZ-FM=0D=0A=09for=20talking@ml .linuxvar.it=3B=20Mon,=2009=20Dec=202013=2019:44:42=20+0100|Date:= 20Mon,=209=20Dec=202013=2019:45:30=20+0100|From:=20Diego=20Roversi =20<diegor@tiscali.it>|To:=20talking@ml.linuxvar.it|In-Reply-To:=2 0<CAGod1SBWEX7YU85sC=3Deq0gS5MJb0fD1UA-Ze0=3DH4Do40i87poA@mail.gma il.com>|References:=20<CAGod1SBWEX7YU85sC=3Deq0gS5MJb0fD1UA-Ze0=3D H4Do40i87poA@mail.gmail.com>|X-Mailer:=20Sylpheed=203.3.0=20(GTK+= 202.24.10=3B=20x86_64-pc-linux-gnu)|Mime-Version:=201.0|Subject:=2 0Re:=20[linux_var]=20Bash=20e=20Taint=20Check|X-BeenThere:=20talki ng@ml.linuxvar.it|X-Mailman-Version:=202.1.13|Precedence:=20list|R eply-To:=20linux_var=20-=20LUG=20di=20Varese=20e=20Provincia=20Mai ling=20List=0D=0A=09<talking@ml.linuxvar.it>|List-Id:=20linux_var= 20-=20LUG=20di=20Varese=20e=20Provincia=20Mailing=20List=0D=0A=09< talking.ml.linuxvar.it>|List-Unsubscribe:=20<http://ml.linuxvar.it /cgi-bin/mailman/options/talking>,=0D=0A=09<mailto:talking-request @ml.linuxvar.it?subject=3Dunsubscribe>|List-Archive:=20<http://ml. linuxvar.it/pipermail/talking>|List-Post:=20<mailto:talking@ml.lin uxvar.it>|List-Help:=20<mailto:talking-request@ml.linuxvar.it?subj ect=3Dhelp>|List-Subscribe:=20<http://ml.linuxvar.it/cgi-bin/mailm an/listinfo/talking>,=0D=0A=09<mailto:talking-request@ml.linuxvar. it?subject=3Dsubscribe>|Content-Type:=20text/plain=3B=20charset=3D "iso-8859-1"|Content-Transfer-Encoding:=20quoted-printable|Sender: =20talking-bounces@ml.linuxvar.it|Errors-To:=20talking-bounces@ml. linuxvar.it; b=cEysoTdDcMYXGv/vQcAODFS7oC2VY+8hbEovk6pPpxgrAfIM9f6N858GkDqq0HEZb daNACiTCCJP2s5IWjXqdiU32plVeXOg7+A6Rp0WgR9MTA0f9OfP911Wcx7CUudntRw Yscu1FEeZoX42QMAzZ3Tqayqb+uP0EBqyx3y3yz0=
- In-reply-to: <CAGod1SBWEX7YU85sC=eq0gS5MJb0fD1UA-Ze0=H4Do40i87poA@mail.gmail.com>
- List-archive: <http://ml.linuxvar.it/pipermail/talking>
- List-help: <mailto:talking-request@ml.linuxvar.it?subject=help>
- List-id: linux_var - LUG di Varese e Provincia Mailing List <talking.ml.linuxvar.it>
- List-post: <mailto:talking@ml.linuxvar.it>
- List-subscribe: <http://ml.linuxvar.it/cgi-bin/mailman/listinfo/talking>, <mailto:talking-request@ml.linuxvar.it?subject=subscribe>
- List-unsubscribe: <http://ml.linuxvar.it/cgi-bin/mailman/options/talking>, <mailto:talking-request@ml.linuxvar.it?subject=unsubscribe>
- References: <CAGod1SBWEX7YU85sC=eq0gS5MJb0fD1UA-Ze0=H4Do40i87poA@mail.gmail.com>
- Reply-to: linux_var - LUG di Varese e Provincia Mailing List <talking@ml.linuxvar.it>
- Sender: talking-bounces@ml.linuxvar.it
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