Halo sobat hacker. Ketemu lagi di konten yang tidak kalah asyik buat yang suka sama bug hunter. Yaitu tutorial ngefix bug deface admin panel (patch vuln). Kali ini saya Rickthor7 akan memberikan sedikit trik untuk menemukan celah dan membenahi bug.
Okay langsung saja kita masuk ke pembahasannya ...
Bypass admin login adalah metode membuka halaman login dengan memasukkan perintah tertentu ke dalamnya dengan memanfatkan Bug SQL Injection. Yaitu bug atau kelemahan sistem perangkat keras atau database. Jadi hacker/defacer dapat memanfaatkan kesalahan kode sehingga bisa dieksploitasi. Hal ini sering terjadi karena pembuat atau pengembang website dibayar dengan pendapatan rendah dan karenanya tidak memperhatikan kode yang dimasukkannya. Wkwk
Nah... mari kita coba lihat kode dibawah
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:.”);
}
?>Okey, apa yang salah dari kode diatas?
Coba lihat sekali lagi kode ini👇..
$user=$_POST[‘user’] // user post;
$pass=md5($_POST[‘pass’]) // passpost;Kesalahannya adalah tidak adanya sebuah filter yang berfungsi menyaring kode yang aneh atau yang tidak dinginkan ikut di proses, bagaimana cara memfilter kode tsb ?
Caranya yaitu dengan menambah code function untuk membypass
function antiinjektion($data)
{$filter=mysql_real_escape_string(htmlspecialchars(stripslashes(strip_tags($data, ENT_QUOTES))));
return $filter:
}Sehingga menjadi...
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”;
}
?>Nah beres.😆 Coba kalian simpan codenya dan bypass lagi. Semoga berhasil & semoga harimu senin terus😂.
Okee sekian tutorial yang diberikan admin. Semoga bermanfaat. Byee..