Read Me
Ilmu pengetahuan pada hari ini akan menjadi teknologi pada hari esok. Your Link Here

Jumat, 09 April 2010

Cara Lain Lindungi Halaman Admin, Maybe?


Ketika kita melakukan serangan SQL injection dah pasti langsung cari kolom dan table yang berhubungan sama username dan password administrator.

Nah setelah itu pasti kita langsung mencari admin page-nya. Beberapa dari kita lancar, mungkin dengan sedikit keberuntungan? Tebak – tebakan atau menggunakan tools. Nah sisanya bakalan kebingungan dan nyerah gitu aja (mungkin ini masalah yang sering dialami, saya juga gitu), karena dah nyerah cuman posting di forum hasil injectnya doang. Entah ingin sharing? Berharap orang lain menemukan admin pagenya? Atau cuman sekedar pamer? Who knows?

Itulah salah satu proteksi yang dilakukan oleh sang Administrator yaitu membuat nama yang unik bagi halaman adminnya. Mungkin beberapa tools yang bekerja secara Brute Force atau menyimpan list nama – nama halaman admin yang biasa digunakan bakalan gak berguna cuman bagi tools seperti Acunetix yang bekerja secara crawler?

Mungkin tips trik disini gak terlalu berguna cuman menarik aja, sapa tau ada ide – ide yang lebih bagus. Intinya walaupun admin pagenya telah di dapat tetapi kita menambah beberapa proteksi lagi dan siapa tau membuat sang attacker putus asa?

Langsung aja…

1. Mengamakan Admin Page Dengan Proteksi IP Tertentu.

Disini kita menggunakan file .htaccess.

Code:

order deny,allow
deny from all
allow from 192.168.1.5

Jadi letakkan file .htaccess tersebut di direktori tempat admin pagenya berada. Hanya IP 192.168.1.5 yang bisa masuk.

Untuk melihat alamat IP kalian bisa langsung cek disini atau lebih jelasnya tentang .htaccess bisa dilihat disini.

2. Double Password.

WTF? Kok double? Kan si Attacker dah liat isi database kita?

Gini, sebenernya ini juga saya asal – asal mikir aja dan mungkin bisa kita terapkan. Beberapa pikiran – pikiran saya cuman ini doang yang bisa saya praktekkan (maklum hasrat kuat skill kurang). Intinya satu password disimpan di database yang satu lagi enggak.

Berikut contoh simplenya.

Pertama kita buat
database latihan1 dengan table useradmin yang isinya id_user (int(5), auto_increment, primary_key), username (varchar(25)) dan password (varchar(25)).

Image has been scaled down 11% (907x212). Click this bar to view original image (1008x235). Click image to open in new window.


Setelah itu kita buat dulu halaman login adminnya (
index.php) yang berisi kode berikut…

Code:



















Username
Password
Pass2




Ketiga buat file
cek_user.php

Code:
alert('Username Masih Kosong');
javascript:history.go(-1);";
exit;
}
else if(strlen($password)<1)>alert('Password Masih Kosong!');
javascript:history.go(-1);";
exit;
}
else if(strlen($password2)<1)>alert('Password2 Masih Kosong!');
javascript:history.go(-1);";
exit;
}
else {
$cari_dulu = "select username, password from useradmin where username = '$username' and password = '$password'";
$jalanin_sql = mysql_query($cari_dulu);
$cek_ada_gak = mysql_num_rows($jalanin_sql);
if ($cek_ada_gak == 1 and $password2 == 'cadangan')
{
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
header("location: berhasil.php");
}
else
header("location: index.php");
}
?>

Jangan lupa untuk membuat
koneksi.php

Code:

berhasil.php apabila kita berhasil melakukan login.

Code:
Log Out";
?>

cek.session.php untuk mencek apakah session ada. Apabila tidak ada akan menampilkan pesan error.

Code:
PERHATIAN ..!!!
";
echo "KAMU HARUS LOGIN DULU :p
";
exit;
}
?>

Dan
logout.php untuk menghapus session.

Code:

Pada
cek_user.php password keduanya adalah "cadangan".



Jujur ini cuman sekedar iseng doang, gak ada yang aman 100 persen apalagi buat kalian yang dah pada jago – jago neh.
|

Tidak ada komentar:

Posting Komentar

Sponsors : Best Themes | New WP Themes | Best Blogger Themes
Copyright © 2013. Android Jelly Bean - All Rights Reserved
Template Design | Published New Blog Themes
Powered by Blogger
Blogger Widgets