Base64_Encode adalah salah satu fungsi enkripsi data yang tersedia pada PHP yang biasa dipakai oleh para programmer untuk meningkatkan pengamanan berbagai source code yang dibuatnya apalagi jika akan didistribusikan secara bebas.
Nah, pada kesempatan ini saya bukan bermaksud mengajari para master, namun berbagi informasi saja terutama buat teman-teman yang mungkin dibikin bingung tujuh keliling gara-gara Base64_Encode yang bermunculan pada joomla.
Pada beberapa komponen akan ditemukan
eval(stripslashes(base64_decode(VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==)))
Biasanya enskripsinya tersebut juga menyisipkan hal-hal yang kurang sip bagi pemakainya.
Untuk menyelesaikannya coba kita lihat contoh ini:
<?php
$str=”This is an encoded string”;
echo base64_encode($str);
//hasil : VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==
echo “
“;
//string dalam tanda petik adalah chipertext dari sting “VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==”
$str = ‘VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==’;
echo base64_decode(”$str”);
//hasil : This is an encoded string
?>
Coba gunakan cara berikut ini untuk memecahkan source code yang di enskripsi tersebut:
<?php
// Membuka filerahasia.txt
$fp1 = fopen (”filerahasia.txt”, “r”);
// Membaca isi content filerahasia.txt
$contents = fread ($fp1, filesize (”filerahasia.txt”));
// Menutup filerahasia.txt
fclose($fp1);
//Pada saat menemukan kalimat eval dan gzinflate di awal maka format
while (preg_match(”/eval\(gzinflate/”,$contents)) {
//Proses decode content di mulai
$contents=preg_replace(”/<\?|\?>/”, “”, $contents);
eval(preg_replace(”/eval/”, “\$contents=”, $contents));
}
// Membuka file hasil.txt
$fp2 = fopen(”hasil.txt”,”w”);
// Menulis content hasil decoding ke hasil.txt
fwrite($fp2, trim($contents));
// Tutup buku
fclose($fp2);
?>
Selamat mencoba, semoga sesuai harapan.
source : yayakmpf.wordpress.com