Met vriendelijke groet, Yourwebhoster.eu - Managed VPS diensten met Epyc performance op 100% SSDs
Lees hier de webhostingtalk.nl forum regels en voorwaarden!
Correctie: bedoel als je de standaard gebruikt. Dit is namelijk aan te passen: http://docs.whmcs.com/Further_Security_Steps
Met vriendelijke groet, Yourwebhoster.eu - Managed VPS diensten met Epyc performance op 100% SSDs
Lees hier de webhostingtalk.nl forum regels en voorwaarden!
En die aangepaste waarde komt dan in configuration.php te staan.
Je weet wel, dat bestandje dat met de oorspronkelijke voorbeeld exploit getoond wordt...
Ooops, scherp. Er is trouwens een manier waarmee je dat kan voorkomen (standaard php include, met de hack kan je geen php variabelen uitlezen die in php geladen zijn) maar hoe ver wil je gaan om je systeem veilig te krijgen? WHMCS zou dit standaard zelf moeten doen, maar ik denk eigenlijk, zeker na dit voorbeeld, dat het niet gek is om de configuration.php leeg te laten en een standaard php include te doen waar je de settings in zet. Ik heb dit nog niet met whmcs getest, maar hiermee voorkom je in ieder geval dat je een standaard bestand hebt waar je login gegevens in staan en andere settings.
Let dan wel op dat je dit niet in de htaccess zet maar in een vhost die niet uitleesbaar is en dat je het bestandje niet een te logische naam geeft (zoals config.php).
Met vriendelijke groet, Yourwebhoster.eu - Managed VPS diensten met Epyc performance op 100% SSDs
Lees hier de webhostingtalk.nl forum regels en voorwaarden!
Wat jij omschrijft == "de mogelijkheid om als niet-beheerder verbinding te maken met de database"
Maar ik begrijp je punt: om deze hack (bemachtigen van mysql gegevens) in de eerste plaats te kunnen gebruiken, is de hacker al ver genoeg ingebroken om ook MySQL commando's the kunnen versturen.
Jij noemt het bemachtigen van MySQL gegevens deze hack.
Maar de TS heeft het over rare php code die hij bij zijn support tickets zit.
Vandaar mijn vermoeden dat de door mij beschreven methode niet lauter theoretisch is, maar juist de methode is die op dit moment in de praktijk door aanvallers gebruikt wordt.
Mijn punt is dat je op moet passen met het downplayen van beveiligingsproblemen.
Mensen die jou post (en die van Cybafish) lezen zouden ten onrechte het gevoel kunnen krijgen: "oh, mijn setup is veilig, die patch kan wel tot na het weekend wachten"
Terwijl je dan wel eens te laat zou kunnen zijn.
Met vriendelijke groet, Yourwebhoster.eu - Managed VPS diensten met Epyc performance op 100% SSDs
Lees hier de webhostingtalk.nl forum regels en voorwaarden!
Goed punt, want zo was dat uiteraard niet bedoeld. Sterker nog; het was juist bedoeld om daarmee aan te geven dat er in zo'n geval meer aandacht aan beveiliging gegeven zou moeten worden (hetgeen in het geval van bijvoorbeeld patrickekkel ook precies het geval bleek te zijn)
Overigens; dit type exploit is nagenoeg altijd gerelateerd aan upload functies. Het zou naar mijn mening dus ook geen verkeerd idee zijn om iedere mogelijke uploadfunctie te mijden in een bedrijfskritisch systeem zoals dit, en daarvoor een alternatieve oplossing te gebruiken (tenzij je echt 100% zeker bent dat de upload functie niet misbruikt kan worden, hetgeen vrij lastig te controleren is in een closed source systeem).
N.B. dit is geen advies, maar een ingeving
Met vriendelijke groet, Yourwebhoster.eu - Managed VPS diensten met Epyc performance op 100% SSDs
Lees hier de webhostingtalk.nl forum regels en voorwaarden!
Wordt meestal ook niet met de originele extensie opgeslagen.
Maar is in dit geval ook niet nodig, omdat WHMCS het opgegeven bestand altijd als smarty template uitvoert ongeacht extensie.
Wel plakte WHMCS ".tpl" achter de bestandsnaam die je in de parameter opgaf.
Uiteraard met de gedachte dat je alleen maar ".tpl" bestanden op zou kunnen geven.
Maar door het plaatsen van de "%00" (null character) achter de naam, zorgt de aanvaller er voor dat de toegevoegde ".tpl" niet gebruikt wordt.
O.a. de Suhosin PHP patch ( http://www.hardened-php.net/hphp/a_feature_list.html "Filters ASCIIZ characters from user input") kan dergelijke tekens voor je eruit filteren.
Maar is alleen maar een lapmiddel, vereist afstelwerk (anders werken ook legitieme webapps niet meer goed) en is niet beschikbaar voor de nieuwere PHP versies.
Laatst gewijzigd door maxnet; 05/12/11 om 16:23.
Ja en nee. Smarty opent configuration.php maar voert deze nog niet uit. Als je attachments directory publiekelijk te openen is en je kan je geüploade php bestand uitvoeren dan kan je dus gewoon een shell uploaden. Met alleen het uitlezen van een geüploade PHP file kom je niet ver, of bedoel je iets anders?
Met vriendelijke groet, Yourwebhoster.eu - Managed VPS diensten met Epyc performance op 100% SSDs
Lees hier de webhostingtalk.nl forum regels en voorwaarden!
Met "uitvoeren" bedoel ik "als template bestand verwerken".
Ook configuration.php wordt bij gebruik van het lek als template bestand gezien en als zodanig verwerkt.
Omdat er echter geen smarty commando's in het bestand staan (zoals "{$variable}", "{if}" of "{php}") is het resultaat van het verwerken de inhoud van het bestand.
Had er wel "{php}" (niet te verwarren met "<?php") in configuration.php gestaan dan werd ook die code uitgevoerd.
Ongeacht dat het een .php bestand is, en geen .tpl