Welcomes Telegram group ! Link Button

patch bug bypass admin

cara patch bug bypass admin

Kali ini saya akan membahas tentang SQL injection dan By Pass Admin di PHP, tentunya bagi anda yang baru membuat aplikasi internet dan berencana untuk mengupload aplikasi anda untuk di onlinekan maka anda perlu memperhatikan beberapa vulnerability (celah) di aplikasi yang anda buat. Jangan sampai ketika di add internet aplikasi anda mendapatkan serangan SQL Injection dan mudah sekali di through byskip admin, tentunya ini sangat merugikan anda, tentunya anda tidak ingin aplikasi anda di rusak oleh hacker script kiddies yang memang sedang gemar gemar nya uji coba ilmu yang di dapat dengan mempraktekkannya secara langsung.

Ada beberapa hal yang bisa anda lakukan untuk mencegah SQL Injection dan mencegah serangan through byskip admin ke internet site anda yaitu adalah

  1. menggunakan function mysqli_real_escape_string()
  2. membuat password hashing (MD5 / SHA1)
  3. menambahkan salt pada password
  4. membuat nomor random dengan
  5. membuat session check ketika user login

Aplikasi web biasanya yang rentan terhadap by pass admin biasanya tidak menggunakan fungsi mysqli_real_escape_string() jadi untuk mencegah bypass admin di aplikasi web yang sudah anda buat anda bisa, berikut adalah contoh script login yang menggunakan fungsi mysqli_real_escape_string().


<?php
include ("conn.php");
date_default_timezone_set('Asia/Jakarta');

session_start();

$username = $_POST['username'];
$password = sha1($_POST['password']);

$username = mysqli_real_escape_string($koneksi, $username);
$password = mysqli_real_escape_string($koneksi, $password);

if (empty($username) && empty($password)) {
header('location:index.php?error=Username dan Password Kosong!');
} else if (empty($username)) {
header('location:index.php?error=Username Kosong!');
} else if (empty($password)) {
header('location:index.php?error=Password Kosong!');
}

$q = mysqli_query($koneksi, "select * from user where username='$username' and password='$password'");
$row = mysqli_fetch_array ($q);

if (mysqli_num_rows($q) == 1) {
$_SESSION['user_id'] = $row['user_id'];
$_SESSION['username'] = $username;
$_SESSION['fullname'] = $row['fullname'];
$_SESSION['email'] = $row['email'];
$_SESSION['nama_usaha'] = $row['nama_usaha'];
$_SESSION['alamat'] = $row['alamat'];
$_SESSION['kota'] = $row['kota'];
$_SESSION['telp'] = $row['telp'];
$_SESSION['gambar'] = $row['gambar'];
$_SESSION['level'] = $row['level'];
$_SESSION['a'] = $row['a'];
$_SESSION['b'] = $row['b'];
$_SESSION['c'] = $row['c'];
$_SESSION['d'] = $row['d'];
$_SESSION['e'] = $row['e'];
$_SESSION['f'] = $row['f'];
$_SESSION['g'] = $row['g'];
$_SESSION['h'] = $row['h'];
$_SESSION['i'] = $row['i'];

if ($_SESSION['level'] == 'admin'){
header('location:admin/index.php');
} else if ($_SESSION['level'] == 'user'){
header('location:admin/index.php');
}

} else {
header('location:index.php?error=Anda Belum Terdaftar!');
}
?>

Dari script login di atas terlihat sebelum melakukan login password di enkripsi lebih dulu kemudian baru pengecheckan dengan fungsi mysqli_real_escape_string() untuk mencegah terjadinya pass admin. dengan menambahkan fungsi tersebut bisa mencegah terjadinya By Pass Admin dan mencegah terjadinya SQL injection, semoga informasi singkat ini bisa bermanfaat untuk anda yang membacanya, jika artikel ini bermanfaat jangan sungkan untuk membagikannya.

post section Don't remove this section, otherwise theme will crash.

Rate this article

Getting Info...

About Post Author

Cookies Consent

This website uses cookies to ensure you get the best experience on our website.

Cookies Policy

We employ the use of cookies. By accessing Plus UI, you agreed to use cookies in agreement with the Plus UI's Privacy Policy.

Most interactive websites use cookies to let us retrieve the user’s details for each visit. Cookies are used by our website to enable the functionality of certain areas to make it easier for people visiting our website. Some of our affiliate/advertising partners may also use cookies.