Cara Patch Bug Bypass Admin Login Website Agar Tidak Diretas

Assalamu'alaikum warahmatullahi  wabarakatuh 
  Halo perkenalkan nama saya pajarpriandana ok kali ini saya akan kasih tau ke admin website/ahli it untuk patch bug bypass sql injection
   



Terdapat celah kecil pada suatu Website akan sangat berbahaya salah satunya Website yang Vuln Bypass Admin Login.


Seorang Defacer, memanfaatkan celah Website yang Vuln Bypass admin dengan memasukan Bypass Code pada form login. Beberapa Bypass code yang sering dipakai oleh Defacer antara lain:

‘ or ”=’
a’ OR 1=1 LIMIT #
or 1=1
or 1=1–
or 1=1#
or 1=1/*
admin’ —
admin’ #
admin’/*
admin’ or ‘1’=’1
admin’ or ‘1’=’1′–
admin’ or ‘1’=’1’#
admin’ or ‘1’=’1’/*
admin’or 1=1 or ”=’
admin’ or 1=1
admin’ or 1=1–
admin’ or 1=1#
admin’ or 1=1/*
admin’) or (‘1’=’1
admin’) or (‘1’=’1’–
admin’) or (‘1’=’1’#
admin’) or (‘1’=’1’/*
admin’) or ‘1’=’1
admin’) or ‘1’=’1′–
admin’) or ‘1’=’1’#
admin’) or ‘1’=’1’/*
Dengan memasukan Bypass Code diatas si Defacer dapat mengacak-acak isi Website dengan cara menanam Shell Backdoor, biasanya Shell Backdoor dapat dengan mudah di Upload lewat Admin Dashboard.

Jika Shell tidak bisa terupload maka si Defacer akan mencoba untuk Bypass extensi Shell mereka. Mulai dari extensi .php.fla, .pjpeg, .phtml, .xxx.jpg dan extensi lainnya sampai Shell benar benar terupload dan bisa dijalankan.

Sangat merugikan Developer bukan? lalu bagaimana cara menghindarinya? oke kali ini saya(pajarpriandana) akan membahas Tutorial Patch Bug Bypass Admin pada Website.
1. Perhatikan Script dibawah ini:
<?php
$message = “”;
if(isse ($_POST[‘submi ’])){
$username= ($_POST[username]);
$password = md5($_POST[‘password’]);
$query = “SELECT * FROM admin WHERE username = ‘$username’ and password = ‘$password’ and user ype = ‘1’”;
$query_resul = mysqli_query($con, $query);
if(mysqli_num_rows($query_resul )){
$row = mysqli_fe ch_assoc($query_resul );
$_SESSION[‘admin_id’] = $row[‘id’];
$_SESSION[‘username’] = $row[‘username’];
header(“loca ion: index.php”);
}else{
$message = “Username and password is no ma ched.”;
}
}
?>

2. Dilihat dari Script diatas, masalahnya berada pada:
$username= ($_POST['username']);
$password = md5($_POST['password']);

Nahh, pada $username = ($_POST['username]); Tidak terdapat Filterisasi karakter yang mengakibatkan adanya bug, dimana seorang Defacer dapat memasukkan query inject dan dapat dengan mudah masuk ke Admin Dashboard.

3. Maka dari itu tambahkan filterisasi yaitu dengan:
$username=addslashes( rim($_POST[username]));

Jika sudah ditambahkan, maka si Attacker tidak dapat lagi memanfaatkan bug Bypass admin untuk menerobos masuk kedalam Dashboard Admin.

4. Secara keseluruhan Scriptnya akan menjadi seperti ini:
<?php
$message = "";
if(isse ($_POST['submi '])){
$username = addslashes( rim($_POST['username']));
$password = md5($_POST['password']);
$query = "SELECT * FROM admin WHERE username = '$username' and password = '$password' and user ype = '1'";
$query_resul = mysqli_query($con, $query);
if(mysqli_num_rows($query_resul )){
$row = mysqli_fe ch_assoc($query_resul );
$_SESSION['admin_id'] = $row['id'];
$_SESSION['username'] = $row['username'];
header("loca ion: index.php");
}else{
$message = "Username and password is no ma ched.";
}
}
?>

Ok sekian dari materi saya ,  jangan lupa share ya kawan dan follow Instagram saya pajarpriandana_123

Komentar

Postingan Populer