Patch Bug Bypass Admin
Gezcorp - Hai Para Pelajar yang Sibuk :v Kali Saya akan memberi sedikit tutorial untuk Bug SQL Injenction yang terdapat di form login.
yang pertama bagaimana cara kita mengetahui sebuah website kita mengandung Bug SQL Injection yang satu ini, yang pertama masuk kedalam page user login atau admin login, biasanya kalo kita pengen mem bypass admin bisa kita lakuin pake username / password 👉 ‘=’ ‘or’. bayangin cuma pake query tersebut kita bisa jadi admin sebuah website :v abis di input username/password 👉 ‘=’ ‘or’ kalo kita berhasil masuk ke halaman admin maka berarti web tersebut vuln dengan bug ini, merupakan perintah comment pada sql, jadi maksud dari proses tersebut ialah setelah mengecek user, trus kalo terdapat user yang kita input kan pada database kita, maka proses query selanjutnya tidak akan di jalanin, tapi langsung ke proses selanjutnya yaitu redirect ke halaman index.
Proses ke dua.. gimana cara kita mengatasinya.
Silahkan akang lihat script cek_login.php yang emang saya bikin sederhana buat bisa di praktek ini.
<?php
mysql_connect(“localhost”,”root”,””) // koneksi ke database;
mysql_select_db(“contoh”) // pilih database;
$user=$_POST[‘user’] // user post;
$pass=md5($_POST[‘pass’]) // passpost;
$cek=mysql_query(“select * from admin where user=’$user’ AND pass=’$pass'”) // cek ke query;
$ketemu=mysql_num_rows($cek) //menghitung jumlah query yang di cek;
$r=mysql_fetch_array($cek) ;
if($ketemu>0){
session_start();
$_SESSION[‘admin’]=$r[‘user’];
header(“Location:.”);
}
else{
header(“Location:.”);
}
?>
seteleh melihat code php di atas, masalahnya ialah di👇
$user=$_POST[‘user’] // user post;
$pass=md5($_POST[‘pass’]) // passpost;
kita belum memfilter proses pengambilan data yang di inputkan dari form login, guna memfilter ini agar karakter yang aneh atau yang tidak inginkan tidak ikut di proses, bagaimana cara memfilter karakter ?
1. Buat sebuah fungsi, di sini ane bikin fungsi pake nama anti injektin👇
script 👇
function antiinjektion($data){$filter=mysql_real_escape_string(htmlspecialchars(stripslashes(strip_tags($data, ENT_QUOTES))));
return $filter;
}
jadi script cek_loginnya👇
<?php
mysql_connect(“localhost”,”root”,””);
mysql_select_db(“contoh”);
function antiinjektion($data){$filter=mysql_real_escape_string(htmlspecialchars(stripslashes(strip_tags($data, ENT_QUOTES))));
return $filter;
}
$user=antiinjektion($_POST[‘user’]);
$pass=antiinjektion(md5($_POST[‘pass’]));
$cek=mysql_query(“select * from admin where user=’$user’ AND pass=’$pass'”);
$ketemu=mysql_num_rows($cek);$r=mysql_fetch_array($cek) ;
if($ketemu>0){
session_start();.
$_SESSION[‘admin’]=$r[‘user’];
header(“Location:.”);
}
else{
echo “Error”;
}
?>
Trus save, maka kita telah berhasil patching bug yang sepele namun mematikan :v
-Gezcorp
Post Top Ad
Your Ad Spot
Search This Blog
Wednesday, April 24, 2019
Home
Unlabelled
Tutorial Patch Bypass Admin
Tutorial Patch Bypass Admin
Subscribe to:
Post Comments (Atom)
Post Top Ad
Your Ad Spot
Author Details
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat.


No comments:
Post a Comment