Cara Menutup Bug Bypass Admin

Bypass Admin Login adalah melakukan input dengan memasukkan data dengan karakter dan perintah SQL tertentu dalam nama pengguna dan kata sandi. Kemudian, tanpa mengetahui nama pengguna dan kata sandi, kita masih bisa login menggunakan teknik ini.



Sebagai contoh, kita dapat melewati login administrator pada kode sebelumnya dengan memasukkan: aaa 'atau 1 = 1-- atau '=''or' dalam formulir login. Untuk melihat contohnya, coba masukkan pada form username untuk password bisa diisikan dengan sembarang atau sama dengan username.

Untuk kumpulan websitenya anda bisa cek pada artikel Website Vuln - Admin Login Bypass
Bagaimana cara untuk memperbaiki bug ini?

Cek Pada Script dibawah ini :
$message = “”;
if(isset($_POST[‘submit’])){
$username= ($_POST[username]);
$password = md5($_POST[‘password’]);
$query = “SELECT * FROM admin WHERE username = ‘$username’ and password = ‘$password’ and usertype = ‘1’”;
$query_result = mysqli_query($con, $query);
if(mysqli_num_rows($query_result)){
$row = mysqli_fetch_assoc($query_result);
$_SESSION[‘admin_id’] = $row[‘id’];
$_SESSION[‘username’] = $row[‘username’];
header(“location: index.php”);
}else{
$message = “Username and password is not matched.”;
}
}
?>
Pada bagian $username= ($_POST[username]); 

Dalam script  di atas tidak ada pemfilteran karakter yang akan menghasilkan bug, sehingga defacer dapat mengeksploitasi dengan memasukkan permintaan inject sehingga mereka dapat masuk sebagai admin. Solusinya : ubah script diatas menjadi $username= addslashes($_POST[username]);

Sekarang situs web Anda memiliki pemfilteran karakter yang tepat sehingga defacer tidak akan dapat menginject kueri disitus web Anda. Semoga bermanfaat
DONASI VIA PAYPAL Terima Kasih Telah Berkunjung Jika artikel ini bermanfaat. Bantu Berikan Donasi untuk memperpanjang domain www.magelang1337.com. Thanks..

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel