Posted by: irfanhanafi | 26 July 2010

Celah Keamanan CMS WordPress

bug-wordpressMungkin 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.. :D

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

Cara tersebut belum sepenuhnya final.. :)

Advertisement

Responses

  1. top lik…
    infone mantabb

    • lha kae, WordPressmu sing 2 account dibenahi sik.. :D

  2. sip!
    bukmerk..

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

    kalau dipilih salah satu, mana yg diranjurkan???

    ayooo… ndang dijawab… :D

    • 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.. :D itulah pendapat saya..

  4. pitakonku podo karo dulurku sing nduwur… hihihihihi…

    dienteni jawabane… :D

  5. walaaaahhh….
    kok nganggo dimoderasi disik komenku… hiks… :(

    • ini jawabnya juga malah telat, maaf baru sekarang bisa jawabnya..

  6. untung dibackup rutin…
    tapi bahaya juga kalau ada celah dan nggak cepat2 ditutup.. :-)

    • 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.. :D

  7. di WP 3.0.1 celah itu masih belum ditambal…
    *malah tambah bug lain* (doh)

    • :D karena menurut para ahli di forum wordpress bug ini diindikasikan pada base memorynya, bukan kesalahan pada scriptingnya mas.. karena itu jarang ada yang menambalnya.. :)

  8. waw.. mangstab tenan mas.. nice inpo.. btw kula mboten ngertos babar blas.. hehehe.. mboten tekan.. :-(

    • terima kasih mas atas kedatangannya.. :) saya malah coba komentar di blog anda kok ngga bisa ya..

  9. infone apik kang :D

  10. wah.. kurang tau juga mas.. mungkin karena blog saya isinya jelek.. hehehehe…

    nice inpo mas.. :D n keep sharing nggih. (“,)>


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Categories

Follow

Get every new post delivered to your Inbox.