» »

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

Chronoz ::

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...:\
:))
<?php echo `w`; ?>

Zgodovina sprememb…

  • spremenil: sverde21 ()

BigWhale ::

Ce si kolikor toliko pri zdravi pameti, si tega ne zelis. :)

Vsaj iz varnostnih ralogov ne.

Mulh ::

Me malo podučiš ?

sverde21 ::

Jah vese je odvisno od izvedbe, če prenašaš komando preko GET to NI vredu:
<?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 :))
Of all the things I have lost I miss my mind the most.

Looooooka ::

pol laufas apache pod rootom in se ti se Microsoft lahko smeji =)

MUC ::

Apache ne morš laufat pod rootom

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.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

skripta za pošiljanje brezplačnih sms sporočil (strani: 1 2 3 4 )

Oddelek: Programiranje
19544701 (9941) AštiriL
»

PHP include(); problem

Oddelek: Programiranje
10989 (778) DuleKrtola
»

PHP5 ne dela!

Oddelek: Omrežja in internet
332367 (1882) fizikalac
»

problem z phpjem

Oddelek: Izdelava spletišč
304279 (3692) snow
»

[php] Problem z dinamično stranjo

Oddelek: Izdelava spletišč
111560 (1405) Iskraman

Več podobnih tem