AIDEZ-MOI S'IL VOUS PLAÎT ! Comment corriger les failles SQL et XSS dans mon cas ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : AIDEZ-MOI S'IL VOUS PLAÎT ! Comment corriger les failles SQL et XSS dans mon cas ?

Re: AIDEZ-MOI S'IL VOUS PLAÎT ! Comment corriger les failles SQL et XSS dans mon cas ?

par two3d » 25 janv. 2021, 02:16

C'est pas pour dire mais ça grouille de tuto sur le web...
par exemple: https://duckduckgo.com/?q=tuto+corriger ... fab&ia=web

AIDEZ-MOI S'IL VOUS PLAÎT ! Comment corriger les failles SQL et XSS dans mon cas ?

par chegmarco » 24 janv. 2021, 21:49

BONJOUR.

I - Je travaille sur la refonte d'un site fait en mySQLi et j'ai d'abord, décidé de tester les failles de sécurité en injectant du javaScript <script>alert("Test XSS")</script. comme ceci:

Code : Tout sélectionner

http://localhost/app/index.php?page=home<script>alert("Test XSS")</script>
Ça me retourne VRAIMENT un alert avec un Test XSS et un bouton Ok sur mon Navigateur Web Chrome. Ce qui prouve qu'elle est bel et bien vulnérable au XSS.

Alors que mon Fichier index.php contient le bout de Code qui appelle en get le Paramètre page:

Code : Tout sélectionner

<?php $page = isset($_GET['page']) ? $_GET['page'] : 'home'; if(!file_exists($page.".php")){ include '404.html'; }else{ include $page.'.php'; } ?>
COMMENT DONC CORRIGER LA FAILLE DE SECURITE XSS DANS MON CODE PHP DE SORTE A CORRIGER CETTE FAILLE ???


II- TOUJOURS EN PHASE DE TEST DE LA MÊME APPLICATION PHP, j'ai injecté un apostrophe (') à la fin du lien http://localhost/stamp/index.php?page=edit_staff&id=2' c'est à dire juste après le id=2, j'ai ajouté un petit signe ' histoire de voire si ça pourrait me retourné une erreur SQL:

ET VOICI L'ERREUR QUE ÇA ME RETOURNE:

Code : Tout sélectionner

Fatal error: Uncaught Error: Call to a member function fetch_array() on boolean in C:\laragon\www\stamp\edit_staff.php:3 Stack trace: #0 C:\laragon\www\stamp\index.php(54): include() #1 {main} thrown in C:\laragon\www\stamp\edit_staff.php on line 3
ALORS QUE TOUTE LA REQUÊTE MySQLi qui traite le lien est le suivant:

Code : Tout sélectionner

<?php include 'db_connect.php'; $qry = $conn->query("SELECT * FROM users where id = ".$_GET['id'])->fetch_array(); foreach($qry as $k => $v){ $$k = $v; } include 'new_user.php'; ?>
COMMENT CORRIGER EGALEMENT CETTE FAILLE SQL DE SORTE A CE QU'ELLE N'APPARAISSENT PLUS ???


AIDEZ-MOI S'IL VOUS PLAÎT.