Patch Bug Bypass-Admin

WELCOME ANONYMOUS CYBER TEAM !!!


Hello Welcome Back Dengan saya Zero_S


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.


Baca Juga

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.";
}
}
?>
-    

Sekian Tutorial Dari Saya
Maaf jika kurang di mengerti

follow : Instagram
like FP : Facebook 

1 Comments

  1. Hi there just wanted to give you a quick heads up. The words in your article seem to be running off the screen in Internet explorer. I'm not sure if this is a format issue or something to do with browser compatibility but I thought I'd post to let you know. The design look great though ! Hope you get the issue fixed soon. Try to Visit My Web Site : TULUS88

    ReplyDelete
Previous Post Next Post