Hello sobat heker semua , kali ini gw mau bagi sedikit Tutorial tentang SQL Injection lagi. Tepatnya cara mempatch atau mengamankan website kalian dari Bug Bypass Sql Login/Bypass Admin yg terdapat di Form Login sebuah website.
Apa itu Bypass Sql Login?
Bypass Sql Login adalah suatu metode yg sering digunakan para hemsker agar bisa masuk kedalam sebuah website sebagai Admin/Author dengan menggunakan Bug tsb , caranya dengan Menginjeksi Username dan Password menggunakan code berikut
User : ' or 1=1 limit 1 -- -+
Pass : ' or 1=1 limit 1 -- -+
atau
User : '="or'
Pass : '="or'
Sekarang kita akan memperbaiki Bug tsb dengan menggunakan source code yg sudah gw siapkan disini
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 = “Ngopi dulu bang biar jago.”;
} } ?>
Di sini sudah terlihat bahwa tidak ada filter pada User dan Pass , hal tersebut lah yg menjadi celah bagi para hemker-hemker diluar sana leluasa masuk ke dalam website
Yaps ini letaknya celah tsb:v
~> $username= ($_POST[username]);
~> $password = md5($_POST[‘password’]);
Bagaimana cara menambahkan filter pada User dan Pass?
Di bawah ini gw sudah siapkan code filternya:
~> mysqli_escape_string($con,
Dan kita akan mengganti source code yg belum di filter dengan menambahkan code di atas seperti ini:
<?php $message = “”;
if(isset($_POST[‘submit’])){
$username = mysqli_escape_string($con,$_POST[username]);
$password = mysqli_escape_string($con,$_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 = “Ngopi dulu bang biar jago.”;
} } ?>
Nah sekarang kita sudah selesai mempatch/mengamankan website dari Bug tsb . Dan para hengker pun tidak bisa lagi membypass atau menginjeksi di form login lagi:v
Oke ker , sampai disini dulu Tutorial Patch Bug Bypass Sql Login . Seeyou
Greetz : 1337Syndicate