Portál AbcLinuxu, 4. května 2024 16:39
Jestli se nepletu, tak pri spusteni skriptu se detekuje, ze to neni binary file, tak se shell mrkne na prvni radek, jestli obsahuje #!.... a kdyz jo, tak se spusti ten prikaz za #! a jemu se preda jmeno toho spustenyho souboru jako parametr, kdyz tam neni #!, tak se tusim pokusi spustit /bin/sh (nebo tak).
Syntaxe podle man bash bash [options] [file] a pro perl perl [programfile], stejne tak pro TCL tcl fileName ...
kangaroo:~ > cat >test #!/bin/sh echo "OK" kangaroo:~ > chmod 100 test kangaroo:~ > ls -l test ---x------ 1 hynek instrat 20 čec 24 15:34 test kangaroo:~ > ./test OK kangaroo:~ >Mateřská školka, obor SVID, nebo POSIX compatible OS
/* example, -r-s--x--x root example.sh */ #!/bin/bash echo -n "napis text, kterej mam vypsat" read $TEST echo $TEST /* EOF */zkus zadat "`id`" nebo "zdarec; id" nebo "$PROMENNA" (treba $HESLO nebo $KLIC pro desif apod) etc... (zkus si treba misto id bash, a kdyby to dalo doopravdy SUID tak mas bash s EUID 0, staci c prog setuid(geteuid()) + system("/bin/sh"); a ses kompletni r00t se vsim vsudy (coz takhle zmenit heslo r00ta nebo mu tam hodit r00tkit apod...) cili vykasli se na SUID skripty
Tiskni Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.