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….
*
Begini ceritanya
Pertama : Cara paling gampang, update saja ke 2.8.4 ha5x…. *Gedubrak simpel banget yah
*
Kedua : Mari kita lihat How the Machine Works, halah….
- pertama dia akan meminta reset password dengan memasukkan username admin atau emailmu, di area /wp-login.php?action=lostpassword
- 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.
- 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;
- 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
. * Pokoknya dia akan memasukkan alamat ini ke websitemu : http://websitemu.com/wp-login.php?action=rp&key[]= - Gotcha ! Website worpress anda telah di reset passwornya
- 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)) - Ganti dengan kode ini :
if(empty($key) || is_array($key)) - 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
Leave a Response