Exploitation de la vulnérabilité CVE-2012-2661 : SQL injection dans Ruby-on-Rails

Magazine
Marque
MISC
Numéro
65
Mois de parution
janvier 2013
Spécialité(s)


Résumé

Quand on aime les injections SQL et que l'on développe des applications web avec Ruby-On-Rails, se réveiller un matin en lisant « SQL injections dans ActiveRecord » annonce une très bonne journée... Cet article va détailler comment il est possible d'exploiter cette vulnérabilité pour la base de données MySQL.


1. Introduction

1.1. ActiveRecord

Le cadriciel Ruby-On-Rails est composé de plusieurs bibliothèques afin de limiter la taille du code source. ActiveRecord est la bibliothèque dédiée à la gestion de la persistance (majoritairement le stockage dans une base de données). Elle réalise le « mapping » entre les objets et la base de données et permet aux développeurs un accès facile aux données sans utilisation du langage SQL. Par exemple, il est possible de récupérer tous les objets de la table « users » grâce au code suivant :

User.all

L'avantage de ce type de bibliothèque est de limiter énormément le risque d'injection SQL vu qu'il devient difficile (mais encore possible) pour les développeurs de faire une erreur. Cependant, si cette bibliothèque s'avère vulnérable, c'est le drame... tout le…

Cet article est réservé aux abonnés. Il vous reste 93% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous