Celah di Wordpress

Discussion in 'Masalah Teknik dan Keamanan' started by hostguin, 12 May 2010.

Thread Status:
Not open for further replies.
  1. hostguin

    hostguin Expert 1.0

    Messages:
    701
    Likes Received:
    35
    Trophy Points:
    28
    Di forum tetangga sedang ramai dibahas tentang celah di Wordpress, yang dapat dimanfaatkan hacker untuk menghack Wordpress dan cPanel. Berikut sedikit rangkumannya, semoga bermanfaat.
    Hanya dengan mengakses
    http://domain_anda.com/wp-includes/wp-db.php
    atau
    http://domain_anda.com/dir_wp_anda/wp-includes/wp-db.php
    maka akan muncul :
    Fatal error: Call to undefined function wp_die() in /home/domain_utama/public_html/add_on.com/wp-includes/wp-db.php on line 1039

    dari sini bisa terbaca struktur webnya, apakah domain utama atau add on.

    Jadi intinya, bug tersebut terletak pada file wp-db.php (worpress-database)
    Dan hampir semuanya ada pada line 1039

    Solusinya :
    <?php
    error_reporting(0); <------ tambahkan pada file wp-db.php
    /**
    * WordPress DB Class

    Dengan patch tersebut akan membuat blank ketika file tersebut di akses.
     
  2. jaapns

    jaapns Hosting Guru Web Hosting

    Messages:
    3,262
    Likes Received:
    443
    Trophy Points:
    83
    bener itu lagi rame2nya di bahas...... saya juga pengen ngangkat masalah ini ..tapi udah di duluin.... thanks bro.....sangat membantu ....
     
  3. jaapns

    jaapns Hosting Guru Web Hosting

    Messages:
    3,262
    Likes Received:
    443
    Trophy Points:
    83
    saya koreksi dikit : tidak perlu menggunakan <?php , krn di wp-db.php sudah di tetapkan itu ada.
    cukup sisipkan aja :
    error_reporting(0);
    /**
    * WordPress DB Class
     
  4. hostguin

    hostguin Expert 1.0

    Messages:
    701
    Likes Received:
    35
    Trophy Points:
    28
    Sama2 bro...
    Ternyata tidak hanya file itu yang bisa menjadi celah untuk hacker menyusup, masih banyak yg lain. Lagi nunggu si hacker buatin patch nya ... :)
     
  5. jones

    jones Poster 2.0

    Messages:
    199
    Likes Received:
    1
    Trophy Points:
    18
    sebenarnya hampir semua file php jika bukan untuk akses akan begitu... meskipun anda pakai
    PHP:
    error_reporting(0);
    itu memang bisa mengatasi, tapi sebenarnya itu bukan cara soft, meskipun banyak web programmer yang menyarankan pakai cara itu tetapi sebenarnya itu bukan solusi terbaik, rekomendasi dasar php itu biarkan error_reporting terbuka alias
    PHP:
    E_ALL
    , nah cara soft nya adalah perlu menambahkan script ke baris paling atas wp-db.php, ada bermacam2 betuk,
    misal kalau di joomla setiap file yg bukan untuk direct link biasanya sudah disisipkan
    PHP:
     defined'_JEXEC' ) or die( 'Restricted access' );
    kalau phpBB ada
    PHP:
    define('IN_PHPBB'true);
    sekarang anda tinggal lihat kebiasaan WP untuk memblok direct akses itu gimana?
    bisa juga anda masukkan script yg kalau akses lansung ke script tsb maka akan serta merta dialihkan ke link lain, atau pakai block di .htaccess jg bisa koq
     
  6. jaapns

    jaapns Hosting Guru Web Hosting

    Messages:
    3,262
    Likes Received:
    443
    Trophy Points:
    83
    ya itu memang salah satu cara, yang kalo boleh saya bilang hanya sementara, belum ada patch yg bener2 efektif untuk menutup celah itu.

    Paling tidak string itu bisa jadi tameng sementara deh.....

    saya sarankan tidak mengandalkan itu saja.... pake secure wordpress dan wordpress firewall, karena walaupun ter- execute sql nya, paling tidak tipe hack nya terhadang wordpress firewall. itu yg selama ini saya terapkan.

    Mungkin yang lain bisa menambahkan.
     
  7. pemula_web

    pemula_web Apprentice 1.0

    Messages:
    288
    Likes Received:
    3
    Trophy Points:
    18
    thanks infonya
    tp saya pny lebih dari 5 website pake wordpress masa musti satu2 di tambahin ya..
    dan keknya bnyk pengguna wordpress blum tahu hal ini
     
  8. jones

    jones Poster 2.0

    Messages:
    199
    Likes Received:
    1
    Trophy Points:
    18
    saya tidak melihat itu sesuatu yg membutuhkan path, itu hal umum dalam koding web, anda mau pakai apa saja selalu ada warning bila terjadi sesuatu yg tidak sesuai prosedur, developer WP mungkin hanya lupa untuk file tersebut, jadi kalaupun ketahuan itu ada di WP nga usah kuatir2 bangat lah, toh juga hanya segelintir orang mungkin yg ngerti gimana memamfaatkannya, jadi artinya anda berarti sudah termasuk paling sial kalau sampai ada yg mengusik WP anda dari memamfaatkan warning tsb

    OK saya dah periksa file tersebut, masukkan code dibawah ini:
    Open File http://domain_anda.com/wp-includes/wp-db.php

    FIND:
    PHP:
    <?php
    Add After:

    OR

    PHP:
    if ($_REQUEST['http://domain_anda.com/wp-includes/wp-db.php']) header("Location: ../",TRUE);
     
  9. gresshost

    gresshost Poster 2.0

    Messages:
    125
    Likes Received:
    0
    Trophy Points:
    16
    bukannya bisa di disable dari php.ini ya? biar ga tampilin error.
     
  10. jones

    jones Poster 2.0

    Messages:
    199
    Likes Received:
    1
    Trophy Points:
    18
    Salah masukin, Baris code diatas nga kerja
    ganti
    PHP:
    if ($_REQUEST['http://domain_anda.com/wp-includes/wp-db.php'])
    dengan:
    PHP:
    if (strstr($_SERVER['PHP_SELF'], "wp-db.php"))
    @ gresshost yah kalau di disable dari php.ini maka semua error untuk web akan off, ada positif dan ada negatifnya, tp by default itu aktif, by default adalah rekomendasi terbaik oleh developer,

    kalau di disable warning errornya itu ibaratkan di kamar anda ada tai, terus untuk ngatasinya anda semprot dengan spray atau parfum. ya memang bau tainya bisa ilang tapi itukan bukan rekomendasi, yg direkomendasikan adalah tai nya dibuang terus lantainya di pel :cool:
     
Loading...
Thread Status:
Not open for further replies.

Share This Page

Loading...