I feel like I'm too obsessed with cleaning and refactoring code.But when I look at the code a couple of months later I know it was worth it.
Ett fel i Joomla-versioner lägre än 1.5.6 gör det möjligt för en hackare att ändra lösenordet på användaren med lägst id (vanligtvis admin). Enda sättet att säkra sin webbplats är att uppgradera till den senaste Joomla-versionen.
Säkerhetsbristen är väldigt enkel att utnyttja, även för nybörjar-hackare, vilket gjort att många webbplatser drabbats på senaste tiden. Alla de webbplatser som hackats vittnar även om att någon form av "bot"* utfört attackerna.
Logga alla hackförsök
Efter att du uppdaterat din webbplats öppnar du upp filen nedan i valfritt editeringsprogram:
components/com_user/models/reset.php
På rad 116 hittar du följande kodsnutt:
$this->setError(JText::_('INVALID_TOKEN'));
Efter denna rad, och precis innan "return false;", lägger du till följande rad och sparar:
error_log("Possible hackattempt from: ".$_SERVER['REMOTE_ADDR']." \n\r At: ".$_SERVER['HTTP_HOST'], 1, "
This e-mail address is being protected from spambots. You need JavaScript enabled to view it
");
Denna kodsnutt gör att du får ett e-postmeddelande varje gång någon hackare försöker utnyttja säkerhetshålet. I e-postmeddelandet står IP-nummer, datum, tid och vilken webbplats det gäller.
Vill du istället för e-postmeddelande logga hackförsök till din loggfil, använder du följande kod istället:
error_log("Possible hackattempt from: ".$_SERVER['REMOTE_ADDR']." \n\r At: ".$_SERVER['HTTP_HOST'], 0);
Anmäl alltid alla hackförsök
Med hjälp av informationen du får av mailet eller loggfilen, har du all information du behöver för att göra en anmälan mot hackaren. Du skall alltid anmäla alla hackare, eftersom det är olagligt i de flesta länder.
Kontakta din internetleverantör för information om hur man går tillväga.
Här kan du läsa mer om Joomlas säkerhetshål
* bot - Förkortning för robot. Vanligtvis ett program som skapats med syfte att söka efter webbplatser på Internet och sedan automatiskt hacka dessa.