Ce voi învăța?
- Vă veți învăța cum să aplicați patch-uri de by-pass admin.
- Vă veți învăța cum să folosiți filtrul PHP pe SQL.
- Vă veți învăța cum lucrează hackerii pentru a ocoli pagina de autentificare a administratorului.
- Vă veți învăța sintaxa malițioasă în SQL.
Requizite
- Trebuie să cunoașteți utilizarea limbajului PHP.
- Trebuie să cunoașteți SQL.
Dificultate
- Intermediocru
Conținut tutorial
Bună ziua oameni buni, acum vreau să vă învăț cum să aplicați patch-uri SQLI pe site-ul dumneavoastră. Aici pun accentul doar pe bug-ul bypass admin. dar mai întâi trebuie să știți ce este SQLI? SQLI (SQL injection) este o tehnică de hacking prin care un atacator poate insera comenzi SQL prin intermediul url-ului sau al formularului în site-ul web pentru a rula comenzi de bază de date. ok, acum vreau să vă arăt cum lucrează hackerii pentru a ocoli pagina dvs. de autentificare admin.
dacă ați văzut mai sus trebuie să fiți atenți pentru a face un site web, acum o să vă spun câteva sintaxe care sunt considerate periculoase și trebuie eliminate din site-ul dvs. prin filtrare.
'=' 'or'or 1=1or 1=1--or 1=1#or 1=1/*admin' --admin' #admin'/*admin' or '1'='1admin' or '1'='1'--admin' or '1'='1'#admin' or '1'='1'/*admin'or 1=1 or ''='admin' or 1=1admin' or 1=1--admin' or 1=1#admin' or 1=1/*admin') or ('1'='1admin') or ('1'='1'--admin') or ('1'='1'#admin') or ('1'='1'/*admin') or '1'='1admin') or '1'='1'--admin') or '1'='1'#admin') or '1'='1'/*
Cum se poate remedia acest bug?
Aici am un cod sursă care este vulnerabil la acest bug
<?phpinclude'connection.php';if (isset($_POST)){ $name=$_POST; $password=$_POST; $query="SELECT * FROM admin where admin_name='$name' AND admin_password='$password'"; $rq=mysqli_query($conn,$query); if (mysqli_num_rows($rq) > 0) { $id=0; @session_start(); $_SESSION=$name; $_SESSION=$id; echo "<script>alert('Logged in');window.location.href='index.php';</script>"; } else { echo "<script>alert('Email or Password is inavlid');window.location.href='login.php';</script>" } }?>
poateți vedea pe acea sursă fără filtru PHP, filtrul PHP care trebuie folosit este funcția addslashes (). Funcția addslashes () este o funcție de șir de caractere pentru a da o bară oblică sau slash dacă există anumite caractere în șir. Aceste caractere sunt: Single Quote (‘); Double Quote („); backslash (). Puteți vedea din nou la mai sus unde sintaxa care este considerată periculoasă folosind Single Quote (‘); Double Quote („); backslash (), deci această funcție foarte importantă pentru site-ul dvs., nu-i așa?. Putem pune addslashes la acea sursă în partea
$name=$_POST; $password=$_POST;
și puteți adăuga funcția addslashes() astfel
$name=addslashes($_POST); $password=addslashes($_POST);
dacă ați pus deja să puneți funcția addslashes() Așa că vă promit că site-ul dvs. acum nu mai are acel bug din nou 🙂
vedeți imaginea de mai jos Am corectat bug-ul BYPASS ADMIN pe site-ul meu
bine până aici vă învăț cum să remediați SQLI pe site-ul dumneavoastră: Bypass Admin. Cheerio!