Cara Mengamankan Halaman Admin Wordpress

Minggu, 28 Juli 20130 komentar

Mungkin udah banyak beberapa web yang menggunakan CMS Wordpress dan terkena Hack oleh seorang attacker karena kecerobohan kita sendiri... maka dari itu saya punya tips sederhana untuk mengamankan Web Page admin tersebut untuk menghindari serangan dari seorang attacker.. saya ambil dari hacker-newbie.org untuk di postingan di sini dan saling berbagi dan di pahami.. makasih buat mas tolonggalo buat artikelnya .. hehehe :D

Kita langsung aja ke tips pengamanannya.. :D

1. Buka wp-login.php yang ada di Direktori Web kita. kurang lebih seperti ini SSnya:



2. Sekarang kita masukan sedikit Coding.., kita disini akan menggunakan bantuan session() untuk mengonfirmasi user yang masuk ke halaman login, dan akan menggunakan fake login untuk yang bukan user admin tersebut, jadi maksudnya menggunakan fakelogin disini hanya untuk sedikit mengerjai sang attacker,,:D

Jadi Kesimpulan dari codingnya seperti ini :

<?phpif (session('untuk mengonfirmasi'){TAMPILAN FAKE LOGIN ADMIN} else {LOGIN ADMIN ASLI}?>
 
3. Sekarang kita akan membuat session() untuk mengonfirmasi user yang masuk :
 
<?php//buat session untuk mengonfimasi user yang masuksession_start();
if (!isset(
$_SESSION['konfirm'])
   || 
$_SESSION['konfirm'] !== true) {TAMPILAN FAKE LOGIN ADMIN} else {LOGIN ADMIN ASLI}?>
 
Penjelasan:
Coding diatas menjelaskan dimana apabila user sudah membawa session “konfirm” maka dia akan menampilkan “LOGIN ADMIN ASLI” namun apabila user masuk sebagai user yang tidak membawa session “konfirm” maka dia akan menampilan “TAMPILAN FAKE LOGIN ADMIN"
 

4. Untuk membuat session “konfirm“, maka kita akan membutuhkan sebuah file yang akan meredirect ke file login tersebut

Copy script ini, dan simpan dengan nama “terserah.php” jadi teserah mau di namain apa,, usahakan yang agak susah dikit,, supaya tidak gampang ditebak,, contoh “sayaadalahadmin.php

<?php
session_start
();
if (isset(
$_SERVER['REMOTE_ADDR'])) {
   
$_SESSION['konfirm'] = true;
      
header('Location: wp-login.php');
      exit;
   }
?>
 
5. setelah itu kita akan membuat tampilan fake login admin,

Buka halaman login admin sebagaimana biasanya,, klik kanan >>> View Page Source,, 


Kurang lebih Seperti ini tampilannya :
Copy semua script yang ada didalam,,

6. Sekarang masuk ke “wp-login.php“, Paste source code yang tadi dicopy ke dalam “wp-login.php” Letakkan pada bagian if(){source code} dan tambahkan fungsi “echo” agar source code dapat di tampilkan

Metodenya seperti ini
 
<?php//buat session untuk mengonfimasi user yang masuksession_start();
if (!isset(
$_SESSION['konfirm'])
   || 
$_SESSION['konfirm'] !== true) {
echo 
"SOURCE CODE PASTE DISINI";
} else {
LOGIN ADMIN ASLI}?> 
 
Perhatikan :
Coding diatas akan mengalami error apabila pada bagian echo “” tanda kutip pembuka dan tanda kutip penutup mempunyai karakter yang sama,

Contoh :

<?phpecho "<font face="verdana">Ini Error</font>";?>
 
Coding diatas akan mengalami error dikarenakan tanda kutip pembuka echo terganggu oleh tanda kutip yang ada pada bagian HTML “verdana”, jadi untuk menutup kemungkinan terjadinya error maka tanda kutip untuk HTML kita tutup dengan karakter \ sebelum tanda kutip pembuka HTML dan penutup HTML

Contoh :

<?phpecho "<font face=\"verdana\">Ini Tidak Error</font>";?>
 
Lihat gambar di bawah
 Oke,, saya harap kalian sudah mengerti, sekarang kita lanjut ke tahap berikutnya, yaitu membuat Fake Login Admin pada saat memasukkan Username dan Password dapat berjalan sebaimana login admin yang asli,,, tenang,, disini kita tidak akan menggunakan Database untuk membuat login,,

Pertama lihat pada bagian Input Username dan passwordnya menggunakan nama apa,, Lihat pada Source Code untuk tampilan Fake Login Admin

Contoh punya saya
 Pada contoh kasus diatas dimana nama yang digunakan untuk Login Username adalah “log” sedangkan untuk login Passwordnya adalah “pwd“,, setelah mengetahui hal itu maka selanjutnya kita akan membuat Pengonfirm untuk mengetahui apakah Username dan Passwordnya sama atau tidak

Metode coding yang saya buat seperti ini
 
<?php//buat session untuk mengonfimasi user yang masuksession_start();
if (!isset(
$_SESSION['konfirm'])
   || 
$_SESSION['konfirm'] !== true) {
$username $_POST['log']; //untuk login Username$password $_POST['pwd']; //untuk login Password$gabung1 = array($username$password); //username dan password yang diinput$gabung2 = array("admin""admin123"); //username dan password

//Periksa username dan password tersebut apakah sama atau tidak
   
if ($gabung1 != $gabung2) {
echo 
"SOURCE CODE FAKELOGIN ADMIN";
} else {
echo 
"MAAF INI HANYA HALAMAN ADMIN PALSU YANG SAYA BUAT";
}
} else {
LOGIN ADMIN ASLI}?>
 
 
Jadi kesimpulan dari keseluruhannya begini,,
Ketika pada waktu sang attacker menemukan vuln pada web kita, dan melakukan SQL Injection, maka dia akan menemukan username dan password web kita melalui database yang telah di iject,, dengan unsernamenya adalah “admin” dan password adalah “admin123“, setelah itu maka sang attacker akan mencari login admin web kita yang diketahui menggunakan cms WordPress dimana login wordpress terletak pada http://web.kita/wp-login.php,, karena kebetulan Login admin tersebut sudah kita filteri sehingga sang attacker tidak akan menyadari bahwa login admin yang dimasuki hanyalah sebuah tampilan Fake Login yang akan meredirect dia ke tampilan yang betuliskan “MAAF INI HANYA HALAMAN ADMIN PALSU YANG SAYA BUAT“,, jadi kalau sang admin asli yang mau masuk ke login admin itu, maka sang admin akan masuk melalui, http://web.kita/sayaadalahadmin.php, sehingga dia akan di redirect ke login admin http://web.kita/wp-login.php tapi dengan tampilan Login Asli, karena sang admin telah membawa session “konfirm” sebagai konfimasi bahwa dia adalah seorang admin,,, hhehehehe,
Share this article :

Posting Komentar

 
Support : Google
Copyright © 2011. ENno Blog - All Rights Reserved
Proudly powered by Blogger