Que vais-je apprendre ?
- Vous apprendrez comment patcher le bypass admin.
- Vous apprendrez comment utiliser le filtre PHP sur votre SQL.
- Vous apprendrez comment les pirates travaillent pour contourner votre page de connexion admin.
- Vous apprendrez la syntaxe malveillante en SQL.
Requisitions
- Vous devez connaître l’utilisation du langage PHP.
- Vous devez connaître SQL.
Difficulté
- Intermédiaire
Contenu du tutoriel
Bonjour les gens, maintenant je veux vous apprendre comment patcher SQLI sur votre site web. Ici, je mets juste l’accent sur le bug de l’administrateur bypass. mais d’abord vous devez savoir ce qu’est SQLI ? SQLI (injection SQL) est une technique de piratage par laquelle un attaquant peut insérer des commandes SQL via url ou formulaire dans le site Web pour exécuter des commandes de base de données. ok maintenant je veux vous montrer comment les pirates travaillent pour contourner votre page de connexion admin.
si vous avez vu ci-dessus vous devez être prudent pour faire un site web, maintenant je vais vous dire certaines syntaxes qui sont considérées comme dangereuses et doivent être supprimées de votre site web en le filtrant.
'=' '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'/*
Comment patcher ce bug?
ici j’ai un code source qui est vulnérable à ce 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>" } }?>
vous pouvez voir sur cette source sans filtre PHP, le filtre PHP qui doit être utilisé est la fonction addslashes (). La fonction addslashes () est une fonction de chaîne de caractères qui permet de donner un slash ou une barre oblique s’il y a certains caractères dans la chaîne. Les caractères sont : Citation simple (‘) ; Citation double (« ) ; Barre oblique inverse (). Vous pouvez voir encore une fois ci-dessus où la syntaxe qui est considérée comme dangereuse en utilisant Single Quote (‘) ; Double Quote (« ) ; backslash (), donc cette fonction très importante pour votre site web n’est-ce pas ? Nous pouvons mettre addslashes à cette source dans la partie
$name=$_POST; $password=$_POST;
et vous pouvez ajouter addslashes() fonction comme ceci
$name=addslashes($_POST); $password=addslashes($_POST);
si vous avez déjà à mettre addslashes() fonction Comme cela je promets votre site Web maintenant n’ont pas ce bug à nouveau 🙂
voir l’image ci-dessous j’ai patché BYPASS ADMIN bug sur mon site Web
okay jusqu’à ce que ici je vous enseigne comment patcher SQLI sur votre site web : Bypass Admin. Cheerio!