PDA

Bekijk Volledige Versie : let op!



timmie
27/03/03, 16:38
Mensen die een whois script hebben in php OPLETTEN!!

domein.php?domein=;ps aux

Zie bovenstaand voorbeeld !

Sommige providers hebben op hun site een whois script dat als jij een domein post het commando `whois domeinnaam.nl` uitvoert in linux.

Daar zit dus een bug in !! door een ; op de plek te zetten van het domein en erachter een willekeurig linux commando dan voert de server dat ook uit onder de user www-run/wwwdata ( de user waar apache meestal onder draait).


zo heb ik ook het root wachtwoord van een server te pakken gekregen.
;cat /home/admin/phpMyadmin/config.inc.php

en daar stond het root wachtwoord!

DUS OPLETTEN JONGENS! tis maar een waarschuwing :D

Domenico
27/03/03, 17:55
Bedankt voor de tip! :)

Is dit op elk php whois script van toepassing dat je weet? lijkt me sterk maar toch.

thomas
27/03/03, 18:00
Origineel geplaatst door timmie
zo heb ik ook het root wachtwoord van een server te pakken gekregen.
;cat /home/admin/phpMyadmin/config.inc.php
[/B]

lol in die config staat mijn rootpas niet hoor :) Als je je phpMyAdmin goed instelt dan gebeuren zo dingen niet :) + je mysql passwd nooit = rootpas :)

timmie
27/03/03, 18:39
:D

Hans
08/04/03, 16:13
Als je een beetje verstand van php en security hebt heb je minstens zoiets in je whois.php staan:

if (!ereg ('^[a-zA-Z0-9.\\-]*$', $domein))
{
echo ("Ongeldige domeinnaam\n");
} else
{
// Voer whois uit
}

Deimos
08/04/03, 16:24
Origineel geplaatst door Hans
Als je een beetje verstand van php en security hebt heb je minstens zoiets in je whois.php staan:

if (!ereg ('^[a-zA-Z0-9.\\-]*$', $domein))
{
echo ("Ongeldige domeinnaam\n");
} else
{
// Voer whois uit
}
Verstand van PHP is wel weer iets heel anders dan verstand van REGEXEN he ;).

Hans
08/04/03, 16:36
Origineel geplaatst door Deimos

Verstand van PHP is wel weer iets heel anders dan verstand van REGEXEN he ;).

Maar als je wat van PHP weet, dan weet je zo'n simpele regex als dit wel ergens op te duiken :)

cridea
08/04/03, 23:59
Geldt dit ook wanneer een van je klanten zoiets erop zet?

M.a.w. kan je klant root pass achterhalen door zo'n script met bug te installeren?

Of stel ik nu een domme vraag?

Deimos
09/04/03, 00:09
kan als je geen php in safe mode draait.

Mr.Str@nge!
09/04/03, 15:31
Is de toegang tot de linux-commando's zonder SAFE_MODE niet verspert?

Heeft iemand een script die gebruik maakt van deze WHOIS-manier, want tegenwoordig werken (bijna) alle gangbare WHOIS-scripts op internet niet meer met deze linux-methode.

Dennis
09/04/03, 15:44
Origineel geplaatst door Mr.Str@nge!
Is de toegang tot de linux-commando's zonder SAFE_MODE niet verspert?

Heeft iemand een script die gebruik maakt van deze WHOIS-manier, want tegenwoordig werken (bijna) alle gangbare WHOIS-scripts op internet niet meer met deze linux-methode. Dan zouden ze het toch niet zeggen, want zoals ik het begrijp werken deze scripts ook niet op een server met Safemode enabled.

eXite
09/04/03, 15:49
Dit is een hele oude bug die inderdaad werkt met de meeste whois scripts i.c.m. PHP3. In PHP 4xx werkt dat niet meer, wees dus gerust. :)

Mr.Str@nge!
09/04/03, 16:05
Net nog ff nagevraagd: de toegang tot linux-commando's kan in de config van je server worden aangepast.

cridea
09/04/03, 18:32
Er is toch geen hond meer die php3 gebruikt dus vanwaar dan deze waarschuwing?

timmie
25/05/03, 20:39
Ik had deze bug bij raptornet ontdekt, die draaiden overigens ook php 4.3.1 en iemand was ook zo aardig om mij te mailen en te vertellen dat ik die bug had :D

cedric
25/05/03, 23:00
PHP heeft genoeg mogelijkheden om de whois rechtstreeks te doen op de betreffende whois-server dmv sockets. Ik zie niet in waarom iedereen blijft gebruik maken van die whois-scripts die de whois-binary uitvoert op de server :)

Een whois uitvoeren is gewoon verbinden met de whoisserver op de juiste poort, even de domeinnaam ernaartoe schrijven en het resultaat wordt weergegeven. Alleen moet je wel een lijst hebben met de servers voor de verschillende TLD's en zelf uitmaken naar welke je moet verbinden.

Die bug komt gewoon voor omdat er blijkbaar geen inputvalidation plaatsvindt en simpelweg exec("whois $domein") gedaan wordt.
Het maakt overigens niet uit of je php3 of 4 gebruikt :)

Ahead-IT
26/05/03, 00:16
Origineel geplaatst door thomas


lol in die config staat mijn rootpas niet hoor :) Als je je phpMyAdmin goed instelt dan gebeuren zo dingen niet :) + je mysql passwd nooit = rootpas :)

wij stellen voor PHPMYADMIN geen wachtwoord in, maar we gebruiken de HTTP authenticatie functie