Bekijk Volledige Versie : let op!
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
Bedankt voor de tip! :)
Is dit op elk php whois script van toepassing dat je weet? lijkt me sterk maar toch.
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 :)
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
}
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 ;).
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 :)
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?
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.
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.
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.
Er is toch geen hond meer die php3 gebruikt dus vanwaar dan deze waarschuwing?
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
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 :)
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