Hallo,
Afgelopen nacht zijn al mijn php script door een hacker veranderd. In elk script was onderaan een javascript toegevoegd met daarin een iframe.
Ik heb de helpdesk gebeld met de vraag hoe dat kon.
Volgens de helpdesk zou ik mijn scripts moeten beveiligen.
Oke, maar hoe??
Hoe is het mogelijk dat een of andere Rus of diens computer mijn php bestanden kan overschrijven?
Inmiddels al mijn wachtwoorden veranderd, ftp en sql, maar is dat afdoende?
Volgens de hoster is er geen gebruik gemaakt van ftp.
mijn vraag: hoe kan ik dit in de toekomst voorkomen?
je scripts beveiligen.
als je al aangeeft dat je niet weet hoe je script weet hoe je ze moet beveiligen.
zou ik me daar maar heel hard in gaan verdiepen!
Oke, waaruit maak je op dat ik niet weet hoe ik script?
een script van mij die bijvoorbeeld alleen bestaat uit het volgende, zou ik niet weten hoe ik het moet beveiligen en toch was deze herschreven...
<?php
if (empty($webkleur)){
echo ' <center> U bent vergeten een kleur te selecteren<br>Daarom maken we voor u een standaard website in de saaie kleur wit...<br> u kunt nog terug door binnen 5 seconden op terug te klikken!<br><br><form>
<input type="button" value="Ga terug" onclick="history.back()" />
</form>
';
$webkleur = 'wit';
}
if (empty($naambezoeker)){
echo ' <br><br><br><center> U bent vergeten uw naam in te vullen<br><br>
Klik op terug anders gaat u binnen 5 seconden verder op deze site zonder naam...<br><br><br>
<form>
<input type="button" value="Ga terug" onclick="history.back()" />
</form>';
}
echo "$naambezoeker, </br>" ;
echo "we gaan nu speciaal voor u een website bouwen in de kleur $webkleur </br> </br>" ;
echo' Een klein momentje...</br>
<img src="loading.gif" >
Gewoon een onveilig script / webhosting dus, register_globals staat aan, iets wat al uit staat sinds PHP 4.2.0, ergens rond eind 2000. Sindsdien gebruiken we Predefined Variables zoals $_POST, $_GET en $_SERVER.
Jouw script is dus geen goed voorbeeld, ik kan die $naambezoeker ook vullen door je script aan te roepen met ?naambezoeker=blablabla. Daarnaast draait je Webhoster met oude software/ onveilige instellingen dus leg dit probleem ook maar bij hun neer.
En je zou hierop kunnen letten:
- Codes netjes uitlijnen, zodat je overzicht hebt.
- Variables buiten quotes.
- Controle uitvoeren op binnenkomende en uitgaande waarden.
- Geen oude rotzooi als <font> en <center> enz. gebruiken.
Dat zijn dingen die je je toch beter kan aanleren als je ooit iets wilt doen in de webdesign.
Oke, ik heb gelijk register globals uit laten zetten, moet nu inderdaad alleen ff mijn scripts aanpassen...:-(
Dus nu is het al een stuk veiliger?
of moet ik nog meer aan beveiliging gaan doen?
Ik heb nooit geen studie gevolgt, heb het mezelf aangeleerd door bestaande pagina's / script te bestuderen en aan te passen zodat het voor mezelf werkt.
Ik zal ook nooit een webdesigner worden, die intensie is er niet.
Bedankt voor je begrip Dennis, ik ben nu even een stukje script aan het herschrijven, als ik deze straks hier plaats, zou je ( jullie ) dan even kunnen kijken of dat beter is?