Forum » Izdelava spletišč » Kako pognati bash komando...
Kako pognati bash komando...
Mulh ::
Zanima me, s katero funkcijo, oz. kako bi lahko s pomočjo php podpore, pognal bash komando, oz pognal nek program, ki se recimo nahaja v: /home/moje/program ... program pa se požene tako: ./program start oz. /home/moje/program start
hvala za odgovore
hvala za odgovore
sverde21 ::
več načinov je :
exec('komanda');
system('komanda');
echo `komanda`; (za narekovaje --> alt gr + 7) ta način je uporaben če želiš shraniti rezultat komande v spremenljivko, pri system in exec rabiš cacheat...
exec('komanda');
system('komanda');
echo `komanda`; (za narekovaje --> alt gr + 7) ta način je uporaben če želiš shraniti rezultat komande v spremenljivko, pri system in exec rabiš cacheat...
<?php echo `w`; ?>
Zgodovina sprememb…
- spremenil: sverde21 ()
BigWhale ::
Ce si kolikor toliko pri zdravi pameti, si tega ne zelis. :)
Vsaj iz varnostnih ralogov ne.
Vsaj iz varnostnih ralogov ne.
sverde21 ::
Jah vese je odvisno od izvedbe, če prenašaš komando preko GET to NI vredu:
v zgornjem primeru je rešitev npr.:
Ubistvo je najbolje da se takšnega vnašanja izogibaš. Men se zdi najvarnejša rešitev tole:
<?php exec($_GET['cmd']); ?>če imaš nekaj temle podobnega lahko zlobna oseba napiše ime_php_datoteke.php?cmd=evil_cmd...
v zgornjem primeru je rešitev npr.:
<?php $cmd = explode(" ", $_GET['cmd']); if(in_array($cmd[0], array("ls", "cat"))) { exec($cmd); } else { echo "Get lost hax0r!"; } ?>ubistvu si mu sedaj dopovedu da spusti samo ukaz ls in cat. BTW tole še ni 100% varna varjanta, saj ti lahko kdorkoli brska po celem (oz. delu do katerega ima uporabnik ki poganja PHP dostop)
Ubistvo je najbolje da se takšnega vnašanja izogibaš. Men se zdi najvarnejša rešitev tole:
<?php $cmd = $_GET['cmd']; if($_GET['cmd'] == 'datoteka1') { exec('cat /pot/datoteka'); } elseif($_GET['cmd'] == 'mapa') { exec('ls mapa/'); } ?>Ubistvu moraš dopustiti čim manj možnosti... vse pa je odvisno za kaj rabiš vse skup.
<?php echo `w`; ?>
hash ::
sverde21: kaj pa ce $_GET['cmd'] vsebuje niz: mojadatoteka ; cat /etc/passwd
think about it
think about it
Of all the things I have lost I miss my mind the most.
sverde21 ::
lahko ampak bog ti naj pomaga če si tak pametn da ga laufaš pod rootom
<?php echo `w`; ?>
Looooooka ::
itak da ga lahka laufas.
ce ga pa ne laufas je pa verjet s CGI verzijo phpja mozno zagnat su komando in pol laufat tvojo komando.
long shot ampak vseen.
ce ga pa ne laufas je pa verjet s CGI verzijo phpja mozno zagnat su komando in pol laufat tvojo komando.
long shot ampak vseen.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | skripta za pošiljanje brezplačnih sms sporočil (strani: 1 2 3 4 )Oddelek: Programiranje | 44701 (9941) | AštiriL |
» | PHP include(); problemOddelek: Programiranje | 989 (778) | DuleKrtola |
» | PHP5 ne dela!Oddelek: Omrežja in internet | 2367 (1882) | fizikalac |
» | problem z phpjemOddelek: Izdelava spletišč | 4279 (3692) | snow |
» | [php] Problem z dinamično stranjoOddelek: Izdelava spletišč | 1560 (1405) | Iskraman |