Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

plaintext password php script icm bash

Pagina: 1
Acties:

Onderwerpen


  • MarcHeijerman
  • Registratie: December 2007
  • Laatst online: 03-08 21:10
Hi all,

Ik heb een snelle vraag, ik gebruik wat scripts in php en met apache, maar nu heb ik daarvoor plaintext passwords nodig in het script. Dit is uiteraard niet de bedoeling. Wanneer ik de file permissions verander naar w-r voor alleen root, kan php de scripts niet runnen.

example:
code:
1
    $amount=shell_exec("vmrun <options> <user> <password> > <file> | wc -l");


er wordt dus ook een beroep gedaan op bash, ik kan dus niet 123 een md5 in php definieren aangezien de md5 variabla dan niet door bash gebruikt kan worden.

Any suggestions ?

  • SaphuA
  • Registratie: September 2005
  • Laatst online: 02-11 19:58
.

[ Voor 100% gewijzigd door SaphuA op 31-01-2022 15:30 ]


  • MarcHeijerman
  • Registratie: December 2007
  • Laatst online: 03-08 21:10
het is een eigenwachtwoord dat nodig is om de query uit te voeren.

  • SaphuA
  • Registratie: September 2005
  • Laatst online: 02-11 19:58
.

[ Voor 98% gewijzigd door SaphuA op 31-01-2022 15:30 ]


  • MarcHeijerman
  • Registratie: December 2007
  • Laatst online: 03-08 21:10
ja dat is inderdaad een oplossing. Was er zelf even niet opgekomen, thanks

  • MarcHeijerman
  • Registratie: December 2007
  • Laatst online: 03-08 21:10
Dan hier mijn volgende vraag:

Hoe laat ik de -p optie weten welk password te gebruiken
code:
1
vmrun -h <host> -u <user> -p `cat /<folder>/<passwordfile>`  list

Dit hierboven werkt helaas niet, hoe kan ik dus de output van cat /<folder>/<passwordfile> aan de -p optie meegeven ?

Ok, permissions issue, veranderd naar 644, nu werkt het, maar dan blijft alsnog het bestand readable voor iedereen.

iemand die het php script bekijkt, ziet welk bestand wordt gebruikt en kan zo nog het ww achterhalen. Is er nog een andere optie ?

laatse EDIT:

owner verander naar apache, permisson 600, nu kan alleen apache erbij en root uiteraard.

[ Voor 39% gewijzigd door MarcHeijerman op 26-03-2012 13:15 ]


  • MueR
  • Registratie: Januari 2004
  • Laatst online: 22:55

MueR

Admin Devschuur® & Discord

is niet lief

Als je het toch in je PHP aanspreekt kan je dat wachtwoord toch met php in je shell_exec aanroep zetten?
PHP:
1
2
require_once '/path/to/config.php';
$amount=shell_exec("vmrun <options> <user> -p {$myPass} > <file> | wc -l");

Anyone who gets in between me and my morning coffee should be insecure.


  • MarcHeijerman
  • Registratie: December 2007
  • Laatst online: 03-08 21:10
MueR schreef op maandag 26 maart 2012 @ 13:15:
Als je het toch in je PHP aanspreekt kan je dat wachtwoord toch met php in je shell_exec aanroep zetten?
PHP:
1
2
require_once '/path/to/config.php';
$amount=shell_exec("vmrun <options> <user> -p {$myPass} > <file> | wc -l");
Dit gaan we ook even uitproberen, thanks

Hoe zouden de permissions voor de config file moeten staan, ook 600 neem ik aan met als user apache ?

[ Voor 12% gewijzigd door MarcHeijerman op 26-03-2012 13:17 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Je zou met 400 al ver moeten komen, al kan 600 of 644 vast ook geen kwaad. Let alleen op dat ook dit niet zaligmakend is. Maak een tikfoutje, en je configfile is ook bij een include ineens world readable. Niet dat het risico daarop erg groot is, maar waan je ook niet veiliger dan je bent. :)

[ Voor 66% gewijzigd door NMe op 26-03-2012 13:56 ]

'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.


  • MarcHeijerman
  • Registratie: December 2007
  • Laatst online: 03-08 21:10
NMe schreef op maandag 26 maart 2012 @ 13:54:
Je zou met 400 al ver moeten komen, al kan 600 of 644 vast ook geen kwaad. Let alleen op dat ook dit niet zaligmakend is. Maak een tikfoutje, en je configfile is ook bij een include ineens world readable. Niet dat het risico daarop erg groot is, maar waan je ook niet veiliger dan je bent. :)
ja het zou mooier zijn als je allen zou kunnen encrypten :)

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Kan vast wel, maar je moet ook niet meer beveiligen dan strikt noodzakelijk. Voor de meeste websites en diensten is het risico bij een hack beperkt. De enige manieren om bij dat wachtwoord te komen zijn dermate ingrijpend dat een gelekt wachtwoord niet je belangrijkste probleem is.

'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.


  • MarcHeijerman
  • Registratie: December 2007
  • Laatst online: 03-08 21:10
NMe schreef op maandag 26 maart 2012 @ 14:07:
Kan vast wel, maar je moet ook niet meer beveiligen dan strikt noodzakelijk. Voor de meeste websites en diensten is het risico bij een hack beperkt. De enige manieren om bij dat wachtwoord te komen zijn dermate ingrijpend dat een gelekt wachtwoord niet je belangrijkste probleem is.
Daar heb je gelijk in, nu vrolijk verder met de rest van het script :D

  • t_captain
  • Registratie: Juli 2007
  • Laatst online: 21-11 23:04
Het feit dat je een wachtwoord nodig hebt, geeft aan dat er iets "niet helemaal lekker zit" in je config.

Je probeert vanuit de php interpreter (die afhankelijk van de gebruikte webserver of application server draait onder de een of andere user, zoals apache) een commando aan te roepen dat niet toelaatbaar is voor die user. Gevolg is dat je aanvullende credentials nofig hebt.

Mijn eerste poging zou zijn om "vmrun" kwijt te raken. Een beetje code injectie of een buffer overflow geeft mogelijk volledige controle over je VM's aan een hacker. Kijk eens naar http://communities.vmware.com/message/2009436 voor alternatieven?

  • MarcHeijerman
  • Registratie: December 2007
  • Laatst online: 03-08 21:10
t_captain schreef op maandag 26 maart 2012 @ 14:39:
Het feit dat je een wachtwoord nodig hebt, geeft aan dat er iets "niet helemaal lekker zit" in je config.

Je probeert vanuit de php interpreter (die afhankelijk van de gebruikte webserver of application server draait onder de een of andere user, zoals apache) een commando aan te roepen dat niet toelaatbaar is voor die user. Gevolg is dat je aanvullende credentials nofig hebt.

Mijn eerste poging zou zijn om "vmrun" kwijt te raken. Een beetje code injectie of een buffer overflow geeft mogelijk volledige controle over je VM's aan een hacker. Kijk eens naar http://communities.vmware.com/message/2009436 voor alternatieven?
Zelf vond ik vmrun de enige snelle en simpele oplossing om via de commanline statistieken uit te lezen :)

  • Patriot
  • Registratie: December 2004
  • Laatst online: 24-11 17:53

Patriot

Fulltime #whatpulsert

GoT zou GoT niet zijn als we niet zouden proberen om je bovenliggende structuur te veranderen in zo'n geval :+

Als het kan is het handig om wat meer te vertellen over wat je precies wilt bereiken. Je hebt het over statistieken uitlezen, maar ik neem aan dat je voorbeeldcommando niet het commando is dat je uiteindelijk wilt gebruiken.

Verder is het handig om te weten wat je precies wilt doen met die statistieken, en hoe belangrijk het is dat die statistieken realtime zijn. Als het bijvoorbeeld geen probleem is dat die statistieken een paar minuten oud zijn, dan kun je dat commando ook gewoon in een cronjob proppen en met PHP alleen de file uitlezen. Als het realtime moet zijn, dan kun je volgens mij ook gewoon het commando in een .sh zetten en PHP dat uit laten voeren. Maargoed, dat is allemaal speculatie omdat ik niet weet wat je precies wilt bereiken.

  • MarcHeijerman
  • Registratie: December 2007
  • Laatst online: 03-08 21:10
Het moet inderdaad realtime zijn, het gaat erom dat de statistieken uit gelezen kunnen worden dmv een pagina.

statistieken:
aantal esxhosts
aantal vms
aantal vms per esxhost
berekening met een run rate gebaseerd op een aantal variabelen als: vmbuilds in queue, completed etc..
wordt best een uitgebreid iets.

Ik heb al geprobeerd een script te laten draaien via php, maar php had niet veel zin om te wachten tot het script was uitgevoerd.

nu met de losse shell_exec's wacht php wel tot de commands zijn uitgevoerd. Als ik dus een manier heb door php te laten wachten op het script, dan kan ik inderdaad beter een scriptje maken.

Ik heb nu een simpele index met een select optie:
1: environment 1
2: environment 2

wanneer 1 geselecteerd wordt, worden er een aantal queries op de infrastructure servers afgevuurd, en dus het zelfde voor optie 2.

  • Styxxy
  • Registratie: Augustus 2009
  • Laatst online: 24-11 16:01
Heb je daar per se shell_exec's voor nodig? Biedt VMWare geen WebServices (localhost) aan waarmee je zulke gegevens kan benaderen?

Je kan eens naar de volgende link kijken of dat iets is: http://www.vmware.com/support/developer/vc-sdk/ (misschien heb je het niet ter beschikking, ik ben niet echt ervaren met VMWare).

[ Voor 42% gewijzigd door Styxxy op 26-03-2012 19:16 ]


  • MarcHeijerman
  • Registratie: December 2007
  • Laatst online: 03-08 21:10
voor wat ik wil heb ik helaas die shell_exec nodig, toch bedankt voor de link.

  • TweakPino
  • Registratie: September 2005
  • Laatst online: 07:41
Misschien kun je iets knutselen met ssh (naar localhost), public keys en ssh forced commands.

Je php code wordt dan iets als hieronder, constanten zoals username en password kunnen onder de nieuwe user's (vmrun_user) home directory worden opgeslagen:
code:
1
    $amount=shell_exec("ssh vmrun_user@localhost <options>");

  • igmar
  • Registratie: April 2000
  • Laatst online: 24-11 12:26

igmar

ISO20022

MarcHeijerman schreef op maandag 26 maart 2012 @ 12:08:
Hi all,

Ik heb een snelle vraag, ik gebruik wat scripts in php en met apache, maar nu heb ik daarvoor plaintext passwords nodig in het script. Dit is uiteraard niet de bedoeling. Wanneer ik de file permissions verander naar w-r voor alleen root, kan php de scripts niet runnen.

example:
code:
1
    $amount=shell_exec("vmrun <options> <user> <password> > <file> | wc -l");
Je houd er rekening mee dat iedereen die ps kan draaien op die server ook het wachtwoord kan zien ? Als je bedrijfsvoering van dat wachtwoord afhangt zou ik er nog een keer goed over nadenken.

  • MarcHeijerman
  • Registratie: December 2007
  • Laatst online: 03-08 21:10
igmar schreef op woensdag 28 maart 2012 @ 15:45:
[...]


Je houd er rekening mee dat iedereen die ps kan draaien op die server ook het wachtwoord kan zien ? Als je bedrijfsvoering van dat wachtwoord afhangt zou ik er nog een keer goed over nadenken.
Sorry voor de latere reactie, maar ik gebruik nu een password uit een file, dus niet plain text. hij cat het password uit een password file en dat schijnt ook goed te werken.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
MueR schreef op maandag 26 maart 2012 @ 13:15:
Als je het toch in je PHP aanspreekt kan je dat wachtwoord toch met php in je shell_exec aanroep zetten?
PHP:
1
2
require_once '/path/to/config.php';
$amount=shell_exec("vmrun <options> <user> -p {$myPass} > <file> | wc -l");
Misschien mis ik iets, maar mist hier niet nog een escapeshellarg oid?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1