| PHP in BASH | ||
|---|---|---|
| sce18. dec 2009 14:24:16Pridružen od: 27. maj 2007 798 objav +140-192 | #1Pozdravljeni kolegi. Tokrat imam pa jaz problem in potrebujem vašo pomoč. Programiram majhno skriptico v PHP in hočem z njo poslati neke podatke v bash... PHP: $scriptExecStr = sprintf("test.sh '%s' '%s'", test.sh: #!/bin/bash Zadeva je po logiki simple ampak mi ne deluje. Kaj bi lahko bilo preden dobim sivo frizuro? :) Hvala za odgovore, S. všeč(0)ni všeč(0)spam(0) | |
| Roky18. dec 2009 14:28:48Pridružen od: 9. apr 2008 1879 objav +1475-17783 | #2Tole meni deluje. //PHPvšeč(0)ni všeč(0)spam(0) | |
| sce18. dec 2009 15:37:26Pridružen od: 27. maj 2007 798 objav +140-192 | #3Roky hvala. Tudi svojo sem preštudiral samo odklopit se je bilo treba za 20min :) Manjkalo je ./ za zagon skripte :) všeč(0)ni všeč(0)spam(0) | |
| Roky18. dec 2009 15:40:14Pridružen od: 9. apr 2008 1879 objav +1475-17783 | #4Ni problema, tut meni se dostikrat dogaja da glavo razbijam za eno malenkost:) všeč(0)ni všeč(0)spam(0) | |
| fatg18. dec 2009 16:43:45Pridružen od: 28. jan 2008 94 objav +72-20 | #5pa ne pozabi poklicati escapeshellarg() na podanih parametrih ($param1 in $param2), preden jih sestaviš v ukaz za exec(). všeč(0)ni všeč(0)spam(0) | |
| bl4ckb1rd18. dec 2009 17:43:10Pridružen od: 18. avg 2008 992 objav +509-765 | #6na splošno je varnostno vprašljivo da ti ta komanda v phpju sploh deluje... exec in vse te funkcije morajo biti v basediru, ali čisto generalno izključene... drugače je tu velika varnostna luknja. Ne glede na to da si svojo aplikacijo, ki kliče tole funkcijo v phpju čisto zavaroval, da ne pride do čudnih vnosov kot je ";cat /etc/passwd" za $param1 recimo... Generalno so ogoržene vse skripte na celotnem strežniku zaradi obstoja take funkcije, vendar kakorkoli... že veš kaj delaš. všeč(0)ni všeč(0)spam(0) | |
| Roky18. dec 2009 18:03:59Pridružen od: 9. apr 2008 1879 objav +1475-17783 | #7bl4ckb1rd, če uporabljaš suPHP, torej da lahko le v svojem delovnem okolju zadeve kličeš le pod userjem accounta, potem je malce manj nevarno. všeč(0)ni všeč(0)spam(0) | |
| sce18. dec 2009 18:06:24Pridružen od: 27. maj 2007 798 objav +140-192 | #8bl4ckb1rd: definitivno cenim tvoj post, drugače je pa zadeva zaprtega tipa (intranet) za 20 uslužbencev in ni na voljo na netu :) Ampak imaš prav. :) všeč(0)ni všeč(0)spam(0) | |
| bl4ckb1rd18. dec 2009 18:11:48Pridružen od: 18. avg 2008 992 objav +509-765 | #9 Roky: To je seveda jasno, pa še vseeno. Tudi če imaš suphp, je zelo neodgovorno iz strani ponudnika gostovanja, da dopusti, da nekdo recimo nalovda neko .php skripto, ki se potem sprehaja po celotnem strežniku oz. naloži še kak kernel exploit in poizkuša pridobiti celo root pravice... kaj pa je problem. exec passthru, system itd... to je smrt za webhostinge... tako ali drugače. Če je pa zaprtega tipa pa ni problema SCE, v tem primeru je lažje, če na strežniku ni gostovano nič drugega kot ta aplikacija. Potem je stvar v veliko bolj varna. Če seveda ni pametnjakoviča od "znotraj"... tu pa gradiš na zaupanju do uslužbencev. všeč(0)ni všeč(0)spam(0) | |
| bl4ckb1rd18. dec 2009 18:17:23Pridružen od: 18. avg 2008 992 objav +509-765 | #10No pa še nekaj, suPHP je svinjsko požrešen. Zato se veliko hostingov tudi ne odloči zanj, ker neprimerno manj strani lahko gostujejo na strežniku, ker kuri preveč resursov oz. omejujejo uporabnike potem. Boljši način je recimo kot ima debian nek paket, ko celoten httpd laufa pod določenim userjem in spawna childe pod tisti userjem, kjer problemov s phpjem nimaš, ker isto hitro laufa, je pa res da mora biti potem apache oz. httpd zalaufan kot root, čeprav potem laufa za vsakega userja posebaj child... vsekakor pa je exploitov za httpd neprimerno manj kot je lukenj v php aplikacijah... ...imam večletne izkušnje s temi problemi :) hehe. nazadnje urejal bl4ckb1rd 18. dec 2009 18:18:09 všeč(0)ni všeč(0)spam(0) | |