Minanu dot com for iPhone, Blackberry and Smart Phone

Apakah anda punya iPhone, iPod Touch, Blackberry, Google Android/Nexus One, Smart Phone atau sekedar Mobile Phone dengan Opera Mini? Jika anda punya salah satu dari gadget di atas, maka anda bisa membuka blog minanu dot com dari handphone anda langsung. Menyenangkan sekali bukan, bisa mengisi waktu senggang sambil baca-baca di blog ini, promosi dikit :mrgreen:

Mulai saat ini minanu dot com lebih user friendly untuk mobile phone, selain dari sisi kecepatan loading yang lebih baik, juga dari sisi tampilan untuk menyesuaikan keterbatasan screen mobile phone yang kecil dan beresolusi rendah. Anda akan lebih mudah membaca dan menavigasi blog minanu dot com.

Selamat berbloging ria dan menikmarti waktu senggang anda dengan mobile phone kesayangan anda. Kepuasan anda adalah kebahagiaan saya, halah… kayak iklan apa aja :mrgreen:

Ah… Akhirnya, Menutup Celah Keamanan Wordpress 2.8

Jadi setelah ada acara hacking hackingan reset password ampe dua kali dari orang gak dikenal seperti yang saya bilang di twitter tadi, maka saya akan mempublikasikan bagaimana menanggulangi masalah ini *halah… kayak press release di mana gitu… he5x…. :P *

Begini ceritanya :)

Pertama : Cara paling gampang, update saja ke 2.8.4 ha5x…. *Gedubrak simpel banget yah :P *

Kedua : Mari kita lihat How the Machine Works, halah….

  1. pertama dia akan meminta reset password dengan memasukkan username admin atau emailmu, di area /wp-login.php?action=lostpassword
  2. kedua kemudian email si admin akan terkirimi email yang isinya bla… bla… gitu deh, pokoknya follow this link untuk reset password website anda atau semacamnya. Tapi inilah celahnya, anda tidak dikirimi notifikasi peresetan passwor dan tentunya anda juga tidak mengklik link yang dikasih.
  3. Coding PHP, lihat di wp-login.php
    coba di cek yang ini :

    line 186:

    function reset_password($key) {
    global $wpdb;

    $key = preg_replace('/[^a-z0-9]/i', '', $key);

    if ( empty( $key ) )
    return new WP_Error('invalid_key', __('Invalid key'));

    $user = $wpdb->get_row($wpdb->prepare("SELECT * FROM $wpdb->users WHERE
    user_activation_key = %s", $key));
    if ( empty( $user ) )
    return new WP_Error('invalid_key', __('Invalid key'));
    ...[ganti baris yah ]....
    line 276:
    $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : 'login';
    $errors = new WP_Error();

    if ( isset($_GET['key']) )
    $action = 'resetpass';

    // validate action so as to default to the login screen
    if ( !in_array($action, array('logout', 'lostpassword', 'retrievepassword',
    'resetpass', 'rp', 'register', 'login')) && false ===
    has_filter('login_form_' . $action) )
    $action = 'login';

    ...[ganti baris lagi]....

    line 370:

    break;

    case 'resetpass' :
    case 'rp' :
    $errors = reset_password($_GET['key']);

    if ( ! is_wp_error($errors) ) {
    wp_redirect('wp-login.php?checkemail=newpass');
    exit();
    }

    wp_redirect('wp-login.php?action=lostpassword&error=invalidkey');
    exit();

    break;

  4. Jadi intinya dia akan memasukkan array atau “tanda sama dengan” ke variabel $key  * Ini bener apa gak sih? kalo gak yo disepuro waelah, namanya juga usaha menulis yang baik dan benar :P . * Pokoknya dia akan memasukkan alamat ini ke websitemu : http://websitemu.com/wp-login.php?action=rp&key[]=
  5. Gotcha ! Website worpress anda telah di reset passwornya
  6. Pencegahannya. Buka dan edit file wp-login.php (bisa pakai text wrangler seperti saya atau text editor kesayangan anda) lihat code baris 190 pada code berikut :
    if (empty($key))
  7. Ganti dengan kode ini :
    if(empty($key) || is_array($key))
  8. Beres…..

Peringatan : Sebenarnya saya gak paham kode2 di atas, cuman hasil lihat2 aja di web security he5x… namanya juga usaha, kalo gak berusaha mana bisa pinter, tul gak :P