"Or 1=1/* injection sql dans mon bulletin de la base de données
J'ai trouvé ce qui suit dans le "e-mail" champ de ma base de données d'abonnés: ' or 1=1/*
Je sais que c'est une injection SQL, mais c'est tout. J'ai googlé un peu, mais je suis toujours savoir exactement ce qu'il essaie d'atteindre. Cela a eu lieu au début de Novembre, et à ma connaissance nous n'avions pas de pannes. Pouvez-vous tout de bonnes âmes me dire ce que ce gars était probablement d'essayer et de faire? Est-il un moyen de savoir si il a accompli ce qu'il essayait de faire?
Je sais pratiquement rien à ce sujet et je suis inquiet. 🙁
Que quelqu'un était sondage vos formes pour une éventuelle vulnérabilité d'injection sql.
Donc, à la recherche de faiblesses?
Donc, à la recherche de faiblesses?
OriginalL'auteur NotMuchOfAProgrammer | 2012-12-13
Vous devez vous connecter pour publier un commentaire.
'OR 1=1
est une tentative de faire une requête réussir n'importe quelLe
/*
est une tentative de démarrage d'un commentaire de plusieurs lignes de sorte que le reste de la requête est ignorée.Un exemple serait
Comme vous pouvez le voir si vous étiez à remplir le champ nom d'utilisateur, sans échapper à la
'
peu importe ce que les informations d'identification de l'utilisateur transmet la requête retourne tous les identifiants dans le système de l'octroi de l'accès à l'attaquant (éventuellement accès admin si admin est votre premier utilisateur). Vous remarquerez aussi que le reste de la requête devrait être commenté en raison de la/*
y compris le réel'
.Le fait que vous pouvez voir la valeur dans votre base de données signifie qu'il a été échappé, et que l'attaque n'a pas réussi. Toutefois, vous devriez étudier si d'autres tentatives ont été faites.
Jetez un oeil à l'exemple ci-dessus dans mon montage.
peut-être un meilleur exemple que le
ORDER BY
serait d'avoir quelques autres conditions commeAND verifiedUser = true
de montrer comment le commentaire de désactiver tout subséquent les clauses where.cher @Joe ne
1=1--
également servir le même but, je mets en évidence le--
partie qui est remplaçable avec le/*
?Oui,
--
ne servent le même but. Il fonctionne sur une seule ligne de la requête au lieu de multi-ligne.OriginalL'auteur Joe
Probablement visant à sélectionner toutes les informations de votre tableau. Si vous utilisez ce type de requête (par exemple en PHP) :
L'e-mail ' or 1=1/* va donner ce genre de requête :
De sorte qu'il sélectionne toutes les lignes (parce que 1=1 est toujours vrai et le reste de la requête est "a commenté'). Mais il n'a pas réussi
Oui, je pense que vous devriez essayer de vous-même dans vos formulaires ou de regarder (ou demander à un développeur de chercher) à votre code, recherche pour éventuellement vulnérables requêtes/pages.
Ne vous inquiétez pas si vous essayez par vous-même, cela n'affectera pas votre base de données.
OriginalL'auteur berty
La valeur spécifique dans votre base de données n'est pas ce que vous devriez être en se concentrant sur. C'est probablement le résultat d'un attaquant fuzzing votre système pour voir s'il est vulnérable à un série d'attaques, au lieu d'une attaque ciblée de l'exploitation d'une vulnérabilité connue.
Vous devriez plutôt mettre l'accent sur veillant à ce que votre application est sécurisée contre ces types d'attaques; L'OWASP est une bonne ressource pour cette.
Si vous utilisez des requêtes paramétrées pour accéder à la base de données, alors vous êtes sûr contre les injections Sql, sauf si vous utilisez Sql dynamique dans le backend.
Si vous ne faites pas ceci, vous êtes vulnérable et vous devez résoudre immédiatement.
Aussi, vous devriez envisager d'effectuer une sorte de validation des adresses e-mail.
OriginalL'auteur Michael Fredrickson
Son meilleur si vous utilisez un code de validation pour les utilisateurs d'entrée pour la fabrication limité à l'utilisation des symboles et de la partie de code dans votre formulaire de saisie. Si vous embeed php dans le code html de votre code php devenir sur le haut pour s'assurer qu'il n'est pas ignoré comme commentaire si un hacker modifier la page et ajouter /* dans votre code html
OriginalL'auteur Eyosias Sahlu