How to patch bypas admin

Hello guys kembali lagi sama gw faisyal btw ini waifu ku jangan di latchur mas kali ini gw akan share sedikit tutorial cara patch bupas admin ya menurut gw sih lumayan susah gampang kok oke langsung saja



Sebelum ke tutorial gua akan menjelaskan sedikit tentang Bypass admin  bug ini tidak jauh beda dengan SQL injection jadi bug ini memungkinkan para attacker dapat menyerang situs dengan cara memasukkan user name dan password tertentu tanpa perlu meng-exploit Web tersebut


Beberapa variasi injeksi login


'=''or'
‘ or 1=1 or ”=’
‘ or 1=1-
‘ or 1=1#

Udah segitu aja soal banyak cape gw :v

Lalu, bagaimana menutup bug tersebut? Saya menutup/menambal bug bypass admin login dengan menggunakan fungsi PHP addslashes(). Fungsi addslashes() sendiri ditambahkan pada php versi ke 4+. Efek yang ditimbulkan saat kita menggunakan fungsi addslashes() pada suatu string adalah menambahkan simbol backslash (\). Fungsinya untuk mencegah attacker memasukan script yang mengandung kutip pada website kita

Langkah patch bug nya 

1.kita liat bagian login.php

<?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:.”);
}

?>

2.kita cek euy mana bagian yang ada bug nya 

$user=$_POST[‘user’] // user post;

$pass=md5($_POST[‘pass’]) // passpost;


Bug nya adalah bagian code yang belum terfilter,jadi kita cuma menambahkan code pemfilter password agar tidak bisa terinjeksi

3 . kita tambahkan filter pada code di atas 

function antiinjektion($data){$filter=mysql_real_escape_string(htmlspecialchars(stripslashes(strip_tags($data, ENT_QUOTES))));
return $filter;
}

4. Kita gabungkan dengan kode yang di atas menjadi 


<?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”;
}
?>


Lalu kita save dengan nama ya pasti login.php cok  masa wibu.php 


Follow iG 

faisyal_randovolsky 

Faisyal Randovlsky 

3 Comments