Protection contre les attaques "SQL injection"

Discussion dans 'Administration d'un site Web' créé par aladdin, 13 Mai 2005.

  1. aladdin
    aladdin WRInaute passionné
    Inscrit:
    29 Avril 2005
    Messages:
    1 246
    J'aime reçus:
    0
    j'ai décidé d'installer un phpBB sur un site et je me suis rappellé que ce genre de forum subit pas mal d'attaques de type SQL injection
    ce qui est pas marrant c'est de devoir toujours suivre les news de sécurité pour corriger les failles éventuelles

    je me suis donc décider de creer un script qui protège de ce genre d'attaque une fois pour toute

    il y a deux methode

    avec l'url rewriting
    Code:
    RewriteRule .*(<|>|;|UNION|ALL|SELECT|WHERE).* /trackattak.php [QSA,NC,L]
    
    et pour ceux qui ne peuvent pas utiliser l'url rewriting, ajouter ce code tout au debut de la page
    Code:
    if ( eregi("(<|>|;|UNION|ALL|SELECT|WHERE)", $QUERY_STRING))  
    {
    header("HTTP/1.1 301 Moved Permanently"); 
    header("Location: trackattak.php"); 
    exit(); 
    }
    
    ce code modifie les entete vous devez donc le placcer tout au début de votre script avant l'envoi des donnée

    ensuite dans le script trackattak.php vous pouvez par exemple enregistrer l'IP de l'attaquant, le navigateur utilisé ....etc ;)

    ---
    edit : petite erreur dans le script php corrigé ;)
     
  2. shrom
    shrom WRInaute impliqué
    Inscrit:
    5 Juillet 2004
    Messages:
    784
    J'aime reçus:
    0
    Ton script est pas mal, mais il manque le OR et le AND qui sont très souvent utilisés dans les attaques de type SQL injection sur PHPNuke ou PHPBB.
     
  3. aladdin
    aladdin WRInaute passionné
    Inscrit:
    29 Avril 2005
    Messages:
    1 246
    J'aime reçus:
    0
    oui je sais, c'etait juste pour donner un exemple

    sinon generalement c'est le UNION qui est plus utiliser pour executer une autre requete, le And et le OR permettent de voir de résultats en plus ce qui est pas vraiment génnant
     
  4. shrom
    shrom WRInaute impliqué
    Inscrit:
    5 Juillet 2004
    Messages:
    784
    J'aime reçus:
    0
    Sur Bugtrack, il y a plein d'exmples de SQL Injection sous PHPNuke qui n'utilisent que le AND ou le OR pour avoir des acces privilegiés.

    Petit exemple:
    Code:
    'SELECT * FROM products WHERE id='.$id.' AND userrights<'.$userrights
    L'injection:
    Code:
    'SELECT * FROM products WHERE id='.$id.' AND userrights<'.$userrigths.' OR 1=1'
     
  5. shrom
    shrom WRInaute impliqué
    Inscrit:
    5 Juillet 2004
    Messages:
    784
    J'aime reçus:
    0
  6. MarvinLeRouge
    MarvinLeRouge WRInaute impliqué
    Inscrit:
    1 Septembre 2004
    Messages:
    515
    J'aime reçus:
    0
    De toute façon, utiliser une requète qui provient de l'url, c'est de la folie
     
  7. aladdin
    aladdin WRInaute passionné
    Inscrit:
    29 Avril 2005
    Messages:
    1 246
    J'aime reçus:
    0
    bein quand tu utilise phpBB ou autre outils php existant t'a pas trop le choix, sinon tu peut t'amuser à repasser sur tout le code ;)
     
  8. MarvinLeRouge
    MarvinLeRouge WRInaute impliqué
    Inscrit:
    1 Septembre 2004
    Messages:
    515
    J'aime reçus:
    0
    Si phpBB fait passer ses requètes par l'url alors je n'utiliserai pas phpBB. C'est aussi simple que ça.
     
  9. shrom
    shrom WRInaute impliqué
    Inscrit:
    5 Juillet 2004
    Messages:
    784
    J'aime reçus:
    0
    Ou as-tu vu qu'il y avait des requetes dans les url ?
     
  10. aladdin
    aladdin WRInaute passionné
    Inscrit:
    29 Avril 2005
    Messages:
    1 246
    J'aime reçus:
    0
    c'est pas phpbb qui passe des requetes dans l'url mais l'utilisateurr malicieux qui fait passer la requete par l'URL et ce genre d'attaque est connue sous le nom de "SQL injection"

    la plupart des CMS ont été confrontés un jours (et seront confrontés) à cette vulnérabilité. et à chaque fois il faut des patches pour éviter la faille .
    alors que ce script empeche le passage de mots clés SQL dans l'url et donc l'attaque ;)

    understand ?
     
Chargement...
Similar Threads - Protection attaques SQL Forum Date
Loi sur la protection du consommateur (California Consumer Privacy Act) Droit du web (juridique, fiscalité...) 18 Novembre 2019
Google Adwords - Protection de marque AdWords 12 Novembre 2019
Texte utilisation cookies et protection des données : pb de duplicate ? Débuter en référencement 8 Janvier 2019
Règlement européen sur la protection des données (RGPD) Droit du web (juridique, fiscalité...) 20 Avril 2018
Suite Réception mail Google protection de données Google Analytics 12 Avril 2018
Protection de mon site, de son contenu et de mes rédactions Droit du web (juridique, fiscalité...) 13 Février 2017
mentions legales formulaire web protection donnees Droit du web (juridique, fiscalité...) 9 Octobre 2016
Protection htaccess par IP+mot passe Administration d'un site Web 8 Juin 2016
Protection de fichiers via un .htaccess URL Rewriting et .htaccess 28 Avril 2016
Protection variable php contre les injections ? Développement d'un site Web ou d'une appli mobile 5 Avril 2016
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice