Hello bertemu lagi Dengan saya AdelwinNL
Kali ini saya akan memberikan tutorial cara mempatch bug bypass admin , Sebagian dari kalian mungkin sudah tidak asing atau mengetahui apa itu bypass admin . tapi sebelum membahas cara patch bug bypass admin alangkah baiknya untuk membaca artikel sebelumnya ya hehe.
Bypass admin login adalah teknik menginjeksi halaman login web target dengan perintah tertentu sehingga bisa terbuka.
Bagaimana cara kerja / cara meng Injection suatu web yang vuln Bypass-Admin , sudah di jelaskan cara meng injection suatu web yang vuln terhadap Bypass-Admin di artikel sebelumnya .
Contoh script yang vuln akan Bypass-Admin :
<?php $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 source code diatas Terdapat Masalah yang bisa di Bypass-Admin
$username= ($_POST['username']); $password = md5($_POST['password']);
kita bisa tau, bahwa Pada Source code ini Tidak ada Filterisasi karakter yang mengakibatkan adanya bug, dimana seseorang dapat memasukkan query inject dan dapat masuk ke dashboard admin.
$username = ($_POST['username]);
kita tambahin source code filter seseorang tidak dapat memasuki dashboard admin atau melakukan Bypass pada website.
$username=addslashes(trim($_POST[username]));
Dengan adanya Filter tersebut seseorang tidak akan bisa menginjeksi login admin dan tidak akan berefek apa-apa.
Dan ini ketika source code setalah di kasih filter agar website atau login admin tidak bisa di Bypass-Admin.
<?php $message = ""; if(isset($_POST['submit'])){ $username = addslashes(trim($_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."; } } ?>
-
Oke sekian dari saya🙏
Jika ada kesalahan bisa komentar ajah
Di bawah!!!
Ingat kami bukan orang hebat/pro
Kami juga sering gagal
Kegagalan itulah yg membuat kami berhasil
follow : Instagram
YoutYou : YouTube
0 Komentar