• STATISTIQUES
  • Il y a eu un total de 0 membres et 6567 visiteurs sur le site dans les dernières 24h pour un total de 6 567 personnes!
    Membres: 2 452
    Discussions: 3 572
    Messages: 32 822
    Tutoriels: 77
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] Framework Metasploit
    Le Framework Metasploit est un logiciel gratuit, open source de tests de pénétration développ&ea...
    Vulnérabilités
    [EN] Big-Daddy
    Big-Daddy est site internet communautaire avec un effectif diversifié, y compris des artistes, des programmeur...
    Hacking
    [FR] dcode
    dcode.fr est le site indispensable pour décoder des messages, tricher aux jeux de lettres, résoudre des énigmes...
    Outils / Add-on
    [FR] Le top web
    Nous offrons une sélection la plus large possible de resources webmaster gratuites, hébergement gratuit...
    Webmaster
    [FR] Kalkulators
    Ce projet a plusieurs buts, le premier étant l’étude de toutes formes cryptographiques, le cot&ea...
    Cryptographie
    [FR] Secuser
    Actualité de la sécurité informatique, fiches virus et hoax, alertes par email, antivirus gratui...
    Hacking
    [EN] xda-developers
    Très bon site pour les gros bidouilleurs de smartphone de windows à androïd et de Apple jusqu'...
    Phreaking

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
bypass addslashes()
18-01-2014, 16h59 (Modification du message : 19-01-2014, 12h19 par MLT.)
Message : #1
MLT Hors ligne
MauriceLeTendu
*



Messages : 40
Sujets : 10
Points: 26
Inscription : Dec 2012
bypass addslashes()
Présentation de la fonction

addslashes() permet d'échapper certains caractères comme les guillemets simples ('), guillemets doubles ("), antislash(\) et le caractère NULL.

Imaginons le cas d'une tentative d'injection SQL où les variables de la page admin sont seulement protégées par addslashes

Code PHP :
$requete "SELECT *FROM utilisateur WHERE login = '".addslashes($_POST["login"])."' AND password = '".addslashes($_POST["password"])."'"



On veut alors injecter 'or 1=1 -- dans la case password.

Dans le cas présent l'injection 'or 1=1 -- devient \'or 1=1 -- et la requête SQL n'est plus valide.


La faille de la fonction addslashes


Cette fonction présente "une faille", elle est conçue pour traiter des chaînes de caractères encodées sur 8 bits. Ainsi, certains charsets spéciaux codés sur 7 ou 13 bits ne seront pas compris en tant que tels et la fonction pourra alors louper des caractères spéciaux comme des quotes qui seront bels et bien interprétés si transmis tels quels au serveur SQL.

Nous allons maintenant nous intéresser au jeu de caractère GBK (jeu de caractères chinois) http://fr.wikipedia.org/wiki/GBK_%28jeu_...3%A8res%29

Ces caractères ont la propriété de commencer par 0xBF puis forment différents caractères avec les bytes qui suivent.

Le caractère qui va nous intéresser est 0xBF5C (caractère GBK valide) dont 0x5c correspond à l'antislash.

L'exploitation

Pour contourner la fonction addslashes(), il est donc possible d'injecter par exemple %bf%27 , ce qui deviendra %bf%5c%27, mysql considérera que %bf%5c est un caractère valide alors votre requête sera exécutée.

L'injection 'or 1=1 -- pourra devenir alors %bf%27%6f%72%20%31%3d%31%20%2d%2d


En revanche il faut que mysql soit configuré pour recevoir les caractères GBK. La question est maintenant à savoir si en France mysql est configuré pour recevoir ce jeu de caractères.... En tout cas sur wamp, cette méthode ne fonctionne pas.

Et t'il alors possible en france de bypass la requête suivante ? :
Code PHP :
$requete "SELECT * FROM utilisateur WHERE login = '".addslashes($_POST["login"])."' AND password = '".addslashes($_POST["password"])."'"

Piste de travail :
http://www.erich-kachel.de/?tag=addslashes

Bibliographie
http://bases-hacking.org/injections-sql-avancees.html
http://shiflett.org/blog/2006/jan/addsla...ape-string
http://securityreliks.securegossip.com/2...ddslashes/

+1 (6) -1 (0) Répondre


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  FRP bypass Peanut_the_0ne 1 2,280 13-01-2023, 19h38
Dernier message: Di0Sasm
  bypass is_numeric() MLT 9 5,415 18-01-2014, 15h03
Dernier message: gruik
  [pentest] bypass file integrity system playzzzz 10 5,742 23-07-2013, 16h00
Dernier message: InstinctHack

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut