Celah Keamanan CMS WordPress

Mungkin sudah agak lama bug ini ada, namun sampai saat ini masih banyak pengelola situs yang menggunakan WordPress belum mengetahuinya.

Sebenarnya bug inipun tidak terlampau parah layaknya pada kelemahan WordPress terdahulu yang bisa digunakan untuk mendapatkan account Admin. Namun, apabila bug ini didapatkan oleh orang yang berpengalaman dengan dunia web dan security, dia akan bisa membaca struktur directory admin kita.

Bug tersebut berada di www.situswordpress.xxx/wp-includes/wp-db.php
, maka akan terlihat error seperti ini:
Fatal error: Call to undefined function is_multisite() in /home/direktory_penyimpanan/situswordpress.xxx/wp-includes/wp-db.php on line 505 bisa pada line505 (terjadi pada WordPress 3.0) atau line1039 pada versi WordPress yang dibawahnya.
Solusi:

Cara pertama:
Gunakan FTP dan buka direktory root WordPress, dan edit wp-db.php pada line pertama setelah < ?php tambahkan string berikut:
error_reporting(0);

Cara kedua:
Hampir sama dengan cara pertama, hanya berbeda pada kodenya:
if (strstr($_SERVER['PHP_SELF'], "wp-db.php")) die("g03nd03l w4s h3r3...");

Cara ketiga:
Adalah dengan meredirect halaman error tersebut ke halaman utama kita.. Peletakan kodenya sama saja, pada line pertama setelah < ?php tambahkan string berikut:
if (strstr($_SERVER['PHP_SELF'], "wp-db.php")) header("Location: ../",TRUE);

Bisa juga menggunakan dengan membuat file .htaccess hanya saja kadang malah error.. ๐Ÿ˜€

* Cara ini hanya berfungsi untuk WordPress yang diinstall pada hosting sendiri.

Cara tersebut belum sepenuhnya final.. ๐Ÿ™‚

24 thoughts on “Celah Keamanan CMS WordPress”

  1. kuwi cara pertama, kedua dan ketiga dilakukan secara berurutan opo dipilih salah satu???

    kalau dipilih salah satu, mana yg diranjurkan???

    ayooo… ndang dijawab… ๐Ÿ˜€

    1. paling bagus, menurut saya pribadi adalah cara ketiga, yaitu di redirect ke halaman utama.. karena cara pertama maupun kedua hanya berfungsi untuk menutup error saja, sedangkan cara ketiga memaksa pengunjung nakal untuk tidak bisa mengaksesnya sama sekali.. ๐Ÿ˜€ itulah pendapat saya..

    1. backup rutinpun juga tak mampu menjawab sebenarnya mas.. kan fungsi backup hanya untuk mengembalikan keadaan ke sebelum diusili..
      yang jelas, menambal celahnya dulu, sebelum celah tersebut jadi grojokan.. ๐Ÿ˜€

    1. ๐Ÿ˜€ karena menurut para ahli di forum wordpress bug ini diindikasikan pada base memorynya, bukan kesalahan pada scriptingnya mas.. karena itu jarang ada yang menambalnya.. ๐Ÿ™‚

  2. kalo pake hosting sendiri,
    di matikan aja fitur view error di servernya. itu juga kalo si hoster di berikan untuk mengakses / merubah fitur itu.

    di jamin ampuh

    1. terima kasih atas solusi lainnya aamsur..
      kalau saya pribadi biasanya dengan menambahkan file .htaccess ke dalam directorynya saja.. ๐Ÿ˜‰
      walaupun kita ‘misalnya’ diizinkan untuk merubah view errornya..

  3. if (strstr($_SERVER[‘PHP_SELF’], โ€œwp-db.phpโ€)) die(โ€g03nd03l w4s h3r3โ€ฆโ€);

    kagak jalan di wp ane versi 3.0.4 oms……….. gmn tuh..

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

This site uses Akismet to reduce spam. Learn how your comment data is processed.