[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [linux_var] Bash e Taint Check
- To: linux_var - LUG di Varese e Provincia Mailing List <talking@ml.linuxvar.it>
- Subject: Re: [linux_var] Bash e Taint Check
- From: Giovanni Orlandi <orlangio@gmail.com>
- Date: Thu, 12 Dec 2013 17:57:48 +0100
- Authentication-results: linuxvar.it; dkim=pass (2048-bit key; insecure key) header.i=@gmail.com; dkim-adsp=pass
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ml.linuxvar.it; s=mail; t=1386867500; bh=jVNXGGMHYDkl772J9ERW0poZH7Sbe7YbROFd0ShmgtI=; h=MIME-Version:In-Reply-To:References:Date:From:To:Subject:Reply-To: List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help: List-Subscribe:Content-Type:Content-Transfer-Encoding:Sender; z=Received:=20from=20mail-we0-f170.google.com=20(mail-we0-f170.goog le.com=0D=0A=09[74.125.82.170])=20by=20linuxvar.it=20(Postfix)=20w ith=20ESMTPS=20id=205B2803C32E8=0D=0A=09for=20<talking@ml.linuxvar .it>=3B=20Thu,=2012=20Dec=202013=2017:57:49=20+0100=20(CET)|Authen tication-Results:=20linuxvar.it=3B=20dkim=3Dpass=20(2048-bit=20key =3B=20insecure=20key)=0D=0A=09header.i=3D@gmail.com=3B=20dkim-adsp =3Dpass|Received:=20by=20mail-we0-f170.google.com=20with=20SMTP=20 id=20w61so727500wes.15=0D=0A=09for=20<talking@ml.linuxvar.it>=3B=2 0Thu,=2012=20Dec=202013=2008:57:48=20-0800=20(PST)|DKIM-Signature: =20v=3D1=3B=20a=3Drsa-sha256=3B=20c=3Drelaxed/relaxed=3B=20d=3Dgma il.com=3B=20s=3D20120113=3B=0D=0A=09h=3Dmime-version:in-reply-to:r eferences:date:message-id:subject:from:to=0D=0A=09:content-type:co ntent-transfer-encoding=3B=0D=0A=09bh=3DS+ek4HOvDH30u+kOrqpnMJDJGq xlxNkU7k8cjz9ZTRc=3D=3B=0D=0A=09b=3DHbVBdj2uZRHvNMPi4CSr0+k3x7MzR/ GaClKpRZhdegWs3fO9+gOsTnlcc8rFD3nMok=0D=0A=097Q2M0iSoNyniHDpDa+awQ FeV6h45jbUai8NMfE3k4IIuyTNhT3sldUwZSBstc3MmZQcI=0D=0A=09/3Jhr7YQO3 7lxnTPIX5BvoZlM6b+kecgncAvjovoL2lbfJqns2ZSzB7NB80KBd811Pbo=0D=0A=0 9F5YNfy6khV5eWgZ+vLNBJuWoY9672fCvYw5ApFLDrgyPSoL3iEt/Ki/8/f3r87JeG tOC=0D=0A=094CpPNltTYO3WL/OCEHrMY0AChaX9j33eSaV/evopfhfCY6KtPfd6js So5V5mW95h70eD=0D=0A=095AiQ=3D=3D|MIME-Version:=201.0|X-Received:= 20by=2010.180.94.7=20with=20SMTP=20id=20cy7mr29980999wib.21.138686 7468414=3B=0D=0A=09Thu,=2012=20Dec=202013=2008:57:48=20-0800=20(PS T)|Received:=20by=2010.194.83.232=20with=20HTTP=3B=20Thu,=2012=20D ec=202013=2008:57:48=20-0800=20(PST)|In-Reply-To:=20<2013120919453 0.258a4082c5bc09055fd7e0aa@tiscali.it>|References:=20<CAGod1SBWEX7 YU85sC=3Deq0gS5MJb0fD1UA-Ze0=3DH4Do40i87poA@mail.gmail.com>=0D=0A= 09<20131209194530.258a4082c5bc09055fd7e0aa@tiscali.it>|Date:=20Thu ,=2012=20Dec=202013=2017:57:48=20+0100|From:=20Giovanni=20Orlandi= 20<orlangio@gmail.com>|To:=20linux_var=20-=20LUG=20di=20Varese=20e =20Provincia=20Mailing=20List=20<talking@ml.linuxvar.it>|Subject:= 20Re:=20[linux_var]=20Bash=20e=20Taint=20Check|X-BeenThere:=20talk ing@ml.linuxvar.it|X-Mailman-Version:=202.1.13|Precedence:=20list| Reply-To:=20linux_var=20-=20LUG=20di=20Varese=20e=20Provincia=20Ma iling=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.i t/cgi-bin/mailman/options/talking>,=0D=0A=09<mailto:talking-reques t@ml.linuxvar.it?subject=3Dunsubscribe>|List-Archive:=20<http://ml .linuxvar.it/pipermail/talking>|List-Post:=20<mailto:talking@ml.li nuxvar.it>|List-Help:=20<mailto:talking-request@ml.linuxvar.it?sub ject=3Dhelp>|List-Subscribe:=20<http://ml.linuxvar.it/cgi-bin/mail man/listinfo/talking>,=0D=0A=09<mailto:talking-request@ml.linuxvar .it?subject=3Dsubscribe>|Content-Type:=20text/plain=3B=20charset=3 D"iso-8859-1"|Content-Transfer-Encoding:=20quoted-printable|Sender :=20talking-bounces@ml.linuxvar.it|Errors-To:=20talking-bounces@ml .linuxvar.it; b=SVS+PJStQAEKBaQqfJuSnHLoCkDDclo6wvQ53vVagvkwojb5j+E9k0l1MCgyamg/i Hm16R/vJZrsvp7EJPpIdIltk2DRsRj7RKIX4FstmyTZgzjQIl/l11RGAlUAXe3P6Wr 9gbd8dop6Y+1tQD7P6tnClVbz+evgTbmkWtzZCNo=
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; bh=S+ek4HOvDH30u+kOrqpnMJDJGqxlxNkU7k8cjz9ZTRc=; b=HbVBdj2uZRHvNMPi4CSr0+k3x7MzR/GaClKpRZhdegWs3fO9+gOsTnlcc8rFD3nMok 7Q2M0iSoNyniHDpDa+awQFeV6h45jbUai8NMfE3k4IIuyTNhT3sldUwZSBstc3MmZQcI /3Jhr7YQO37lxnTPIX5BvoZlM6b+kecgncAvjovoL2lbfJqns2ZSzB7NB80KBd811Pbo F5YNfy6khV5eWgZ+vLNBJuWoY9672fCvYw5ApFLDrgyPSoL3iEt/Ki/8/f3r87JeGtOC 4CpPNltTYO3WL/OCEHrMY0AChaX9j33eSaV/evopfhfCY6KtPfd6jsSo5V5mW95h70eD 5AiQ==
- In-reply-to: <20131209194530.258a4082c5bc09055fd7e0aa@tiscali.it>
- 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> <20131209194530.258a4082c5bc09055fd7e0aa@tiscali.it>
- Reply-to: linux_var - LUG di Varese e Provincia Mailing List <talking@ml.linuxvar.it>
- Sender: talking-bounces@ml.linuxvar.it
#include <stdio.h>
#include <stdlib.h>
int main( int argc, char ** argv ) {
// printf( "argc: %d\n", argc ) ;
if( argc > 1 ) {
int ea1, ea2, ea3, ea4, ea5, ea6, ea7, ea8 ;
sscanf( argv[1], "%x:%x:%x:%x:%x:%x", &ea1, &ea2, &ea3, &ea4, &ea5, &ea6 ) ;
// printf( "GOT: %x %x %x %x %x %x\n", ea1, ea2, ea3, ea4, ea5, ea6 ) ;
char cmd[255] ;
snprintf( cmd, sizeof(cmd), "/sbin/iptables -t nat -D PREROUTING
-i eth0.11 -m mac --mac-source %02x:%02x:%02x:%02x:%02x:%02x -j
ACCEPT", ea1, ea2, ea3, ea4, ea5, ea6 ) ;
// printf( "cmd: %s\n", cmd ) ;
system( cmd ) ;
snprintf( cmd, sizeof(cmd), "/sbin/iptables -t nat -I PREROUTING
-i eth0.11 -m mac --mac-source %02x:%02x:%02x:%02x:%02x:%02x -j
ACCEPT", ea1, ea2, ea3, ea4, ea5, ea6 ) ;
// printf( "cmd: %s\n", cmd ) ;
system( cmd ) ;
} else {
printf( "usage: %s xx:xx:xx:xx:xx:xx (insert in iptable -t nat
allowed mac address)\n\n", argv[0] ) ;
}
return(0);
}
Il 09 dicembre 2013 19:45, Diego Roversi <diegor@tiscali.it> ha scritto:
> 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
--
-----------------------------------------------------------------------------------------
Luca 18,5 : "Poiché questa vedova è così molesta le farò giustizia,
perché non venga continuamente a importunarmi".
Neemia 8,10 : "...questo giorno è consacrato al nostro Signore; non
siate tristi; perché la gioia del Signore è la vostra forza".
GSM 345.6050488 / 327.0547392 / 392.0698126 - Fax 06.62204735
_______________________________________________
Talking mailing list
Talking@ml.linuxvar.it
http://ml.linuxvar.it/cgi-bin/mailman/listinfo/talking