Sql server - dos du serveur

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 474 fois - Téléchargée 34 fois

Cette source est considérée comme dangereuse, elle a néamoins été gardée dans un but pédagogique :
Cette source est considérée comme dangereuse, elle a néamoins été gardée dans un but pédagogique.

Contenu du snippet

Attention. Ce code n'est pas vraiment une astuce. Il utlilise toutes les ressources du server SQL, le ralentit jusqu'au plantage (si le serveur est peut puissant). IL NE FAUT DONC PAS LANCER CE CODE (sauf pour le tester si ça vous plait)
Il est la à but informatif. Pourquoi ? tout simplement pour les audits. Si vous trouvez ce genre de code dans les log(victime d'SQL injection)
vous saurez qu'il faut vite patcher ça.

Sinon, juste pour l'idée de l'insert Select en boucle, je trouvais ça rigolo.

Aucune utilité (sauf l'audit et la connaissance)

Source / Exemple :


create table #myTmpTable
    (champ1 varchar) 
exec('insert into #myTmpTable select ''X''')
while 1=1 exec('insert into #myTmpTable select * from #myTmpTable')

A voir également

Ajouter un commentaire

Commentaires

FENETRES
Messages postés
205
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
14 avril 2009
-
Sans aucun intérêt !
white_mage
Messages postés
49
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
25 février 2010
-
Si vous pensez que cette source peut nuire, n'heistez surtout pas à l'enlever.
En effet, j'ai longement réfléchi avant de mettre ce bout de source. Pour finir, j'ai décider de la mettre mais je ne sais toujours pas si c'est très utile.
J'espèrais surtout générer une prisede conscience de la part des developpeurs.
white_mage
Messages postés
49
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
25 février 2010
-
La meilleures methode pour ne pas risquer quelque chose est de ne pas avoir de faille de SQL injection. Si on prend le temps de verifier tous son code on peut éviter cela.

Une autre technique, est d'utiliser un utilisateur qui n'a pas le droit de création d'une table (ou qui n'a pas le droit d'insert). Cette methode est vraiment discutable car en effet, la requête ci-dessus ne fonctionnera pas, mais si un utilisateur peut injecter du code SQL, il peut de toute façon corrompre le serveur.

Les faille de SQL injection sont très très très grâve sur un site ou une application.

Un audit intensif des logs + du code + la création d'un utilisateur avec les droits minimums permettent déjà d'empêcher un massacre.

Alors à vos sources ;-)
cs_fabrice69
Messages postés
1766
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
4 -
En même temps que de fournir la facon de planter le serveur , il serait bon de donner au moins un lien expliquant la méthode pour sécuriser et éviter ce DOS.

Ta source pour le moment peut être considérer comme dangereuse sans cet ajout, et dans ce cas peut être ammené à être désactivée.

Romelard Fabrice.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.