[PHP]Net send laten uitvoeren door PHP

Pagina: 1
Acties:
  • 163 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een thuisserver draaien en kwam laatst op een leuk idee:
Een pagina maken met een textbox waar mensen die ik ken een berichtje kunnen intypen (die pagina staat dus online).
Dat berichtje word vervolgens lokaal verstuurd doormiddel van net send...
Is het mogelijk om php zoiets te laten doen? Ik dacht misschien aan een batchbestand ofzo....
Het word eigenlijk een soort Instant messenger maar dan alleen voor als iemand mij snel moet bereiken ookal heb ik MSN uitstaan.

wat ik nu heb:
PHP:
1
2
3
4
$name=$_POST['name'];
$message=$_POST['message'];

echo exec('c:\windows\system32\cmd.exe /C net send * $name says: $message');


Dit geeft de volgende error:
code:
1
2
3
Warning: exec() [function.exec]: 
Unable to fork [c:\windows\system32\cmd.exe /C net send * $name says: $message] 
in c:\Inetpub\wwwroot\ihaprocess.php on line 5


Hoe kan ik zorgen dat hij deze command wel goed uitvoert?

Ik ben al de hele tijd aan het zoeken maar ik kan niets vinden over iemand die iets soortgelijks heeft geprobeerd, ik had gisteren ook al een topic maar was vergeten te vermelden wat ik al geprobeerd/gezocht had....

Alvast bedankt,

[ Voor 7% gewijzigd door Verwijderd op 06-09-2004 21:43 . Reden: layout... ]


Acties:
  • 0 Henk 'm!

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 26-05 17:08

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Weet je zeker dat je via cmd.exe moet werken?

Kijk anders eens naar escapeshellcmd() en escapeshellarg(), misschien lossen die wat op?

PHP:
1
exec('c:\windows\system32\net.exe send * '.escapeshellarg($name.' says: '.$message);

[ Voor 20% gewijzigd door NMe op 06-09-2004 22:11 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Waarom start je "net" met de command line (cmd.exe) volgens mij is dat namelijk een losstaande applicatie.
Maar wellicht heb je geen rechten om die command line te starten (wat me erg logisch lijkt).

als je wilt dat die variabele mee genomen worden als argumenten dien je ze wel buiten je string te zetten en aan elkaar te "plakken" met de . (punt) ;)

Acties:
  • 0 Henk 'm!

Verwijderd

De error geeft aan welk commando wordt geprobeerd om uit te voeren.
Unable to fork [c:\windows\system32\cmd.exe /C net send * $name says: $message]
Zie je die $name en $message? Die variabelen zijn niet vervangen door hun waarden, en dat komt omdat je enkele quotes gebruikt in plaats van dubbele. Je mag natuurlijk ook de variabelen en de string concateneren tot een nieuwe string die je aan de exec functie kunt voeren.

Werkelijk simpel debug-werk, en dat gedoe over enkele/dubbele quotes en string concatenation kun je keurig in de manual lezen, deel III, hoofdstuk 10, Strings.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op 06 september 2004 @ 22:02:
De error geeft aan welk commando wordt geprobeerd om uit te voeren.

Zie je die $name en $message? Die variabelen zijn niet vervangen door hun waarden, en dat komt omdat je enkele quotes gebruikt in plaats van dubbele. Je mag natuurlijk ook de variabelen en de string concateneren tot een nieuwe string die je aan de exec functie kunt voeren.

Werkelijk simpel debug-werk, en dat gedoe over enkele/dubbele quotes en string concatenation kun je keurig in de manual lezen, deel III, hoofdstuk 10, Strings.
Lijkt me niet dat dat een unable to fork melding geeft, tenzij hij hangt op het dollarteken ofzo...wat me sterk lijkt. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • WPN
  • Registratie: Augustus 2003
  • Laatst online: 24-07 21:14

WPN

heb je wel execute rechten via je webserver op net.exe ?

Als ik denk zoals ik dacht, dan doe ik zoals ik deed, als ik doe zoals ik deed, dan denk ik zoals ik dacht! Cogito Ergo Sum


Acties:
  • 0 Henk 'm!

  • Frash
  • Registratie: Mei 2002
  • Laatst online: 13:28
Is er geen netcode voor net send dan?
Het zou iig wel grappig zijn als je het helemaal zonder Windows/execute rechten kon doen.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
PHP:
1
exec("c:\windows\system32\cmd.exe /C net send * $name says: $message");


Geeft dezelfde error maar dan met de variabelen geparsed

PHP:
1
2
3
<?
exec("c:\windows\system32\net.exe send * ".escapeshellarg($name." says: ".$message);
?> 


Geeft een parse error

[ Voor 35% gewijzigd door Verwijderd op 06-09-2004 22:12 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Frash schreef op 06 september 2004 @ 22:06:
Is er geen netcode voor net send dan?
Het zou iig wel grappig zijn als je het helemaal zonder Windows/execute rechten kon doen.
Hoezo grappig? Het is een shellcommando, dat je zelf geschreven hebt. En waarom zonder Windows? Het loopt nog steeds via een shell van Windows hoor. :)
Fout gelezen, excuus. :)

De verbeterde regel die ik hierboven geef werkt bij mij iig. :P

Ik zal hem nog eens lezen want volgens mij keek de TS eroverheen? :?

PHP:
1
exec('c:\windows\system32\net.exe send * '.escapeshellarg($name.' says: '.$message);

[ Voor 22% gewijzigd door NMe op 06-09-2004 22:14 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Frash schreef op 06 september 2004 @ 22:06:
Is er geen netcode voor net send dan?
Het zou iig wel grappig zijn als je het helemaal zonder Windows/execute rechten kon doen.
gewoon een kwestie van de juiste API calls doen ;)
geen idee of php dat kan (en geen zin om dat op te zoeken :P)

Acties:
  • 0 Henk 'm!

  • Frash
  • Registratie: Mei 2002
  • Laatst online: 13:28
Ik bedoel met sockets, fopen enz :)

Acties:
  • 0 Henk 'm!

Verwijderd

Euh, volgens mij is je code ook niet echt veilig, mensen kunnen gewoon dingen invoeren op je Shell als ik het zo bekijk. Correct me if I'm wrong..

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
PHP:
1
2
3
<?
exec('c:\windows\system32\net.exe send * '.escapeshellarg($name.' says: '.$message);
?> 


geeft

code:
1
2
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING,
expecting ',' or ';' in c:\Inetpub\wwwroot\ihaprocess.php on line 5

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Frash schreef op 06 september 2004 @ 22:12:
Ik bedoel met sockets, fopen enz :)
ah, je wilt een deel van het SMB protocol implementeren :P
Verwijderd schreef op 06 september 2004 @ 22:14:
PHP:
1
2
3
<?
exec('c:\windows\system32\net.exe send * '.escapeshellarg($name.' says: '.$message);
?> 


geeft

code:
1
2
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING,
expecting ',' or ';' in c:\Inetpub\wwwroot\ihaprocess.php on line 5
ooit gehoord van debuggen? Er staat letterlijk wat er fout is :X
hint: wellicht ontbreekt er ergens een haakje, maar ik geef je groot gelijk, het is ook moeilijk om evenveel haakjes te sluiten als dat je hebt geopent ;)

[ Voor 61% gewijzigd door Erkens op 06-09-2004 22:16 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op 06 september 2004 @ 22:14:
PHP:
1
2
3
<?
exec('c:\windows\system32\net.exe send * '.escapeshellarg($name.' says: '.$message);
?> 


geeft

code:
1
2
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING,
expecting ',' or ';' in c:\Inetpub\wwwroot\ihaprocess.php on line 5
Haakje vergeten dus. :)
Erkens schreef op 06 september 2004 @ 22:14:
ooit gehoord van debuggen? Er staat letterlijk wat er fout is :X
hint: wellicht ontbreekt er ergens een haakje, maar ik geef je groot gelijk, het is ook moeilijk om evenveel haakjes te sluiten als dat je hebt geopent ;)
Niet op hem zeuren, maar op mij. Mijn code. :P

[ Voor 54% gewijzigd door NMe op 06-09-2004 22:17 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
de totale code is nu:
PHP:
1
2
3
4
5
6
<?
$name=$_POST['name'];
$message=$_POST['message'];

echo exec('c:\windows\system32\net.exe send * '.escapeshellarg($name.' says: '.$message);
?>



maar nogsteeds die parse error met de puntkomma :/

[edit]
Hmm, zie net dat er een ) mist... maar waar?

[ Voor 34% gewijzigd door Verwijderd op 06-09-2004 22:21 ]


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

NMe84 schreef op 06 september 2004 @ 22:16:
Niet op hem zeuren, maar op mij. Mijn code. :P
mwa, als iemand wilt programmeren moet je op zijn minst kunnen debuggen vind ik, helemaal als je klakkeloos andermans code overneemt zonder het te checken.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op 06 september 2004 @ 22:18:
[edit]
Hmm, zie net dat er een ) mist... maar waar?
Achteraan op regel 5. :X
Erkens schreef op 06 september 2004 @ 22:18:
mwa, als iemand wilt programmeren moet je op zijn minst kunnen debuggen vind ik, helemaal als je klakkeloos andermans code overneemt zonder het te checken.
* NMe eensch is. :)

[ Voor 45% gewijzigd door NMe op 06-09-2004 22:26 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 06 september 2004 @ 22:18:
de totale code is nu:
PHP:
1
2
3
4
5
6
<?
$name=$_POST['name'];
$message=$_POST['message'];

echo exec('c:\windows\system32\net.exe send * '.escapeshellarg($name.' says: '.$message);
?>



maar nogsteeds die parse error met de puntkomma :/

[edit]
Hmm, zie net dat er een ) mist... maar waar?
Je kunt volgens mij nog steeds geen haakjes tellen :p.

code:
1
echo exec('c:\windows\system32\net.exe send * '.escapeshellarg($name.' says: '.$message);


truukje: begin met 0 te tellen, tel bij ieder ( er een bij op en trek er bij iedere ) een van af. Je zou op 0 moeten eindigen.

zet voor de grap es een haakje op het einde

+ wat al eerder is gezegd hier: de code is redelijk onveilig. Iemand zou zo een bericht kunnen maken waarmee het huidige command (net send) wordt afgesloten, en daarna nog een commando meegeven. Beide commando's worden dan uitgevoerd.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op 06 september 2004 @ 22:26:
+ wat al eerder is gezegd hier: de code is redelijk onveilig. Iemand zou zo een bericht kunnen maken waarmee het huidige command (net send) wordt afgesloten, en daarna nog een commando meegeven. Beide commando's worden dan uitgevoerd.
Nee hoor, zoals het nu is is het perfectly safe. Zoek maar op wat escapeshellarg() doet. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Heb er een haakje aant eind bij maar krijg nu weer die fork :Y) error

code:
1
2
Warning: exec() [function.exec]: Unable to fork [c:\windows\system32
\net.exe send * "re says: d"] in c:\Inetpub\wwwroot\ihaprocess.php on line 5


ik heb wel het volgende gedaan in de hoop die fork te verhelpen:
code:
1
2
3
4
C:\Documents and Settings\Administrator.DANIELSERV2>cacls
c:\windows\system32\net.exe /E /G Administrator:F

processed file: c:\windows\system32\net.exe

P.s. dat het onveilig is is niet een probleem... ik ga het met een password beveiligen en dan alleen bekenden toegang geven.

[ Voor 30% gewijzigd door Verwijderd op 06-09-2004 22:35 ]


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op 06 september 2004 @ 22:02:
De error geeft aan welk commando wordt geprobeerd om uit te voeren.

[...]


Zie je die $name en $message? Die variabelen zijn niet vervangen door hun waarden, en dat komt omdat je enkele quotes gebruikt in plaats van dubbele. Je mag natuurlijk ook de variabelen en de string concateneren tot een nieuwe string die je aan de exec functie kunt voeren.

Werkelijk simpel debug-werk, en dat gedoe over enkele/dubbele quotes en string concatenation kun je keurig in de manual lezen, deel III, hoofdstuk 10, Strings.
Je hebt hier wel gelijk maar dat is niet de reden dat het niet werkt. Hij wil namelijk gewoon cmd.exe instantieren. Dat de parameters die hij daaraan mee wil geven niet helemaal kloppen is niet de reden dat de fork ineens mislukt.

Pvt. Tux: Blijkbaar lukt het runnen van die apps niet vanuit PHP. Gebruik je soms de ISAPI versie? En kan de isapi user die gebruikt wordt wel applicaties opstarten?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
.oisyn schreef op 06 september 2004 @ 22:42:
En kan de isapi user die gebruikt wordt wel applicaties opstarten?
Ik run alles als administrator dus dat zou goed moeten zitten

Acties:
  • 0 Henk 'm!

  • DizzyWeb
  • Registratie: Februari 2001
  • Laatst online: 05-09 14:30

DizzyWeb

Ondertiteld

Verwijderd schreef op 06 september 2004 @ 22:18:
de totale code is nu:
PHP:
1
2
3
4
5
6
<?
$name=$_POST['name'];
$message=$_POST['message'];

echo exec('c:\windows\system32\net.exe send * '.escapeshellarg($name.' says: '.$message));
?>



maar nogsteeds die parse error met de puntkomma :/

[edit]
Hmm, zie net dat er een ) mist... maar waar?
Probeer 'm zo eens?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
code:
1
2
Warning: exec() [function.exec]: Unable to fork [c:\windows\system32\net.exe
 send * "re says: d"] in c:\Inetpub\wwwroot\ihaprocess.php on line 5


:'(


Wat ik zo vreemd vind is dat niemand dit ooit heeft geprobeerd terwijl het wel een mooie oplossing is om bereikbaar te zijn zonder aparte programma's te draaien

[ Voor 30% gewijzigd door Verwijderd op 06-09-2004 22:57 ]


Acties:
  • 0 Henk 'm!

  • DizzyWeb
  • Registratie: Februari 2001
  • Laatst online: 05-09 14:30

DizzyWeb

Ondertiteld

Zover ik zo snel met google heb kunnen vinden mag de user waar php onder draait cmd.exe gewoon niet uitvoeren. Leuk dat JIJ als administrator inlogt, maar wat doet Apache?

Acties:
  • 0 Henk 'm!

  • DizzyWeb
  • Registratie: Februari 2001
  • Laatst online: 05-09 14:30

DizzyWeb

Ondertiteld

Verwijderd schreef op 06 september 2004 @ 22:51:
[...]


code:
1
2
Warning: exec() [function.exec]: Unable to fork [c:\windows\system32\net.exe
 send * "re says: d"] in c:\Inetpub\wwwroot\ihaprocess.php on line 5


:'(


Wat ik zo vreemd vind is dat niemand dit ooit heeft geprobeerd terwijl het wel een mooie oplossing is om bereikbaar te zijn zonder aparte programma's te draaien
cmd.exe mogen aanspreken zou een zwaar beveiligingsgat zijn...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
DizzyWeb schreef op 06 september 2004 @ 22:59:
Zover ik zo snel met google heb kunnen vinden mag de user waar php onder draait cmd.exe gewoon niet uitvoeren. Leuk dat JIJ als administrator inlogt, maar wat doet Apache?
Het is IIS en het draait als administrator...

Ik brobeer trouwens net.exe uit te voeren en niet cmd, verder zou het niet een beveiligingsgat hoeven zijn als er maar goed mee om wordt gegaan.

En ALS het beveiligd is is er vast wel een manier om dat te bypassen...

[ Voor 8% gewijzigd door Verwijderd op 06-09-2004 23:22 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Het is IIS zeg je, welke Windows versie en welke IIS versie heb je? Het is mij nog niet echt gelukt om dos command's uit te voeren vanaf W2K3 met IIS (met dit project, mischien helpt dit).

Verder werkt het volgende commando onder WinXP + Apache 2.0 + PHP 4.x perfect.
PHP:
1
2
3
4
$pcname = 'dosje';
$user = 'kingofdos';
$message = 'hoi';
exec('net send '.$pcname.' "'.$user.' says: '.$message.'"');

die twee quotes zijn om spaties beter te accepten (soms hikt dos daar op).
Let verder wel op dat mensen geen enters kunnen gebruiken in hun naam/message, die kan je dmv een goeie post zo doorsturen naar dos. Hierdoor kan je een extra commando uitvoeren (en is dus onveilig).

offtopic:
Opzich is het geen slecht idee, zal ik eens toepassen op mn werk.

[ Voor 25% gewijzigd door Verwijderd op 07-09-2004 01:32 ]


Acties:
  • 0 Henk 'm!

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 14:27
code:
1
system('cmd /C net.exe send * "bericht"');


Doet bij mij de truuk... moet je wel de messenger service hebben draaien natuurlijk. T-MOB snapte er even niets meer van...

O ja, SYSTEM spuugt automagisch de output van je CMD op het scherm. Wil je dat het "stil" wordt uitgevoerd dan moet je shell_exec gebruiken.
PHP:
1
shell_exec('cmd /C net.exe send * "bericht"');

[ Voor 40% gewijzigd door T-MOB op 07-09-2004 01:33 ]

Regeren is vooruitschuiven


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op 07 september 2004 @ 01:28:
die twee quotes zijn om spaties beter te accepten (soms hikt dos daar op).
Let verder wel op dat mensen geen enters kunnen gebruiken in hun naam/message, die kan je dmv een goeie post zo doorsturen naar dos. Hierdoor kan je een extra commando uitvoeren (en is dus onveilig).
escapeshellarg() en escapeshellcmd() rekenen daar toch wel mee af? En anders replace je toch simpelweg van tevoren \n en \r door niets? Ik zie het probleem niet zo. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>

<body>

<?

import_request_variables('gp','frm_');

if(isset($frm_btn_Submit) && $frm_btn_Submit == "Submit"){
echo exec("net send " . $frm_tf_name ." says: " . $frm_tf_message);
}else{

?>

<form name="frm_test" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
<table width="300" border="0" cellspacing="5" cellpadding="0">
<tr>
<td><label for="tf_name">naam</label></td>
<td></td>
<td><input name="tf_name" type="text" id="tf_name" value="tik hier je naam"></td>
</tr>
<tr>
<td><label for="tf_message">message</label></td>
<td></td>
<td><input name="tf_message" type="text" id="tf_message" value="tik hier je bericht"></td>
</tr>
<tr>
<td colspan="3" align="right">
<input name="btn_Submit" type="submit" id="btn_Submit" value="Submit">
</td>
</tr>
</table>
</form>

<?php

}

?>
</body>
</html>
8)7

Acties:
  • 0 Henk 'm!

Verwijderd

net.exe is een aparte executable en hoeft als commando dus niet persé door de shell heen gehaald te worden. Als je eens probeert om net.exe direct te starten, bijvoorbeeld met 'exec' of 'system'... ?

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op 07 september 2004 @ 02:50:
net.exe is een aparte executable en hoeft als commando dus niet persé door de shell heen gehaald te worden. Als je eens probeert om net.exe direct te starten, bijvoorbeeld met 'exec' of 'system'... ?
Verwijderd schreef op 06 september 2004 @ 22:14:
PHP:
1
2
3
<?
exec('c:\windows\system32\net.exe send * '.escapeshellarg($name.' says: '.$message));
?> 
8)7

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

je hoeft bovenstaande code alleen maar in een php pagina te plakken en het werkt
:)

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op 06 september 2004 @ 23:21:
[...]


Het is IIS en het draait als administrator...
Blijkbaar toch niet anders werkte het wel.
Wat gebeurt er als je een php script met het exec commando vanaf de command-line uitvoert?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op 07 september 2004 @ 03:41:
je hoeft bovenstaande code alleen maar in een php pagina te plakken en het werkt
:)
Hoi, welkom op GoT. Je kunt php code posten tussen [rml][ php]...[ /php][/rml] tags. Wat de reden is van deze laatste post is me onduidelijk, je kunt je post editten met de Afbeeldingslocatie: http://gathering.tweakers.net/global/templates/got/images/icons/edit.gif-knop

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

Verwijderd

Ja, ik zie mensen het suggereren als antwoord, maar ze leggen niet uit waarom. En omdat ik me kan voorstellen dat er nogal eens verwarring kan bestaan over het verschil tussen 'exec' en 'shell_exec' dacht ik nog maar eens een uit in het zakje te doen.

Acties:
  • 0 Henk 'm!

  • JeroenT
  • Registratie: Juli 2001
  • Laatst online: 14-09 08:48

JeroenT

hoi!

Verwijderd schreef op 07 september 2004 @ 03:41:
je hoeft bovenstaande code alleen maar in een php pagina te plakken en het werkt
:)
Dus niet :P

Dat andere stukje van KingOfDos werkte wel overigens :)

Acties:
  • 0 Henk 'm!

Verwijderd

.oisyn schreef op 07 september 2004 @ 03:44:
Blijkbaar toch niet anders werkte het wel.
Standaard draait hij als IUSR_%COMPUTERNAME% in IIS en niet als administrator (ik verklaar je voor gek als je dat doet, lekker onveilig met iis :+ ).
Ik weet nogsteeds niet welke Windows versie je draait en welke IIS versie? Opzich moet ik dit weten voordat ik kan zeggen waar het probleem zit.

Acties:
  • 0 Henk 'm!

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 14:27
I'm with ^^

Ik hebhet idee dat je probleem niet zozeer ligt in de code, maar eerder in de configuratie van je systeem. Oftewel de gebruikersrechten van je server. Er staan verschillende scriptjes in deze draad die de truuk voor mij doen (waaronder die in de startpost). Dit gaat om om Apache op win2k die draait als "user" apache, ik meen daar ooit specifieke rechten aan toegekend te hebben maar het zou kunnen dat die user alleen is omdat je geen "system" processen kunt afschieten terwijl dat wel de bedoeling was...

Anyway, misschien staat er wel iets in de PHP manual dat op jouw configuratie van toepassing is. De meeste problemen worden in de user comments wel behandeld is iig mijn ervaring...

Edit:

Overigens valt het mij bij nader inzicht op dat men overal c:\WINDOWS\system32\net.exe gebruikt. NT systemen gebruiken default toch c:\WINNT\system32\net.exe. * T-MOB denkt misschien te simpel...

[ Voor 15% gewijzigd door T-MOB op 08-09-2004 02:24 ]

Regeren is vooruitschuiven


Acties:
  • 0 Henk 'm!

  • m33p
  • Registratie: September 2002
  • Laatst online: 05-09 15:26
Ik heb een keer zo'n systeempje gemaakt, met net send, en waarbij je kon zien wie er online was en aanvinken waar het bericht allemaal heenmoest.

Toen ik nog een windows server (win200 serv) draaide werkte het gewoon met exec('net send computer message'); dus zonder de hele locatie en alles op te geven. Mischien kun je dat eens proberen.

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

T-MOB schreef op 08 september 2004 @ 02:16:
Edit:

Overigens valt het mij bij nader inzicht op dat men overal c:\WINDOWS\system32\net.exe gebruikt. NT systemen gebruiken default toch c:\WINNT\system32\net.exe. * T-MOB denkt misschien te simpel...
default settings zijn aan te passen en btw XP is default c:\windows en ja XP is ook NT ;)
Pagina: 1