You are not logged in.
Je pense que vous connaissez tous les failles XSS (cross-site scripting ) ![]()
Il y a en ce moment et cela depuis 2005
des vers qui exploite vos navigateurs web via faille XSS ![]()
Principalement les vers JavaS
les vers Javascript qui se sont développés depuis 2005 et qui ont attaqué quelques grands sites comme MySpace, Yahoo ou encore Google.
Le JavaS est un langage de balisage Web comme le php ou le html elle permet également d'apporter des améliorations au niveaux des pages web (fenêtre popup, firefox qui bouge dans tout les sens, et j'en passe
)
Le Mieux ou le pire
c'est que les codes Javascript sont lisibles par tous les internautes. En effet, aucune confidentialité du code n'est possible et toutes les portions de code sont accessibles. ![]()
Bref voila pour la petite partit javaS
PS : Qu'est-ce que le XSS ?
Le XSS est la contraction de Cross Site Scripting. Ce terme désigne une insertion imprévue de code Javascript au sein d'une page renvoyée par le serveur web et exécutée du coté client par les navigateurs web.
Le Cross Site Scripting est donc une attaque menée dans le but d'exécuter un code Javascript directement sur le poste de la victime. Cette technique a été particulièrement utilisée par les pirates pour voler la session d'un utilisateur connecté.
Une fois le serveur web vulnérable identifié, le script est inséré au sein de l'URL et est envoyé la victime. Si cette dernière est connectée sur le site web vulnérable, elle enverra immédiatement, et à son insu, son cookie de session au pirate. L'attaquant pourra ensuite rejouer ce cookie et voler la session de la victime pour mener des actions frauduleuses.
---> Wiki <---
==========================================================
Les vers informatiques qui exploite les failles XSS, doivent impérativement s'accrocher a un Web Site ![]()
Comme le celebre vers Samy
qui a attaquer MySpace ![]()
A l'aide d'un code Javascript particulièrement travaillé, le ver envoyait silencieusement des requêtes POST et GET via Ajax pour contaminer chacun des utilisateurs et des contacts visitant le profil " Samy ". La méthode utilisée était particulièrement astucieuse puisque l'auteur a réussi à générer des requêtes http via Ajax ainsi qu'un clic de validation sans la moindre intervention de l'utilisateur.
La création d'un tel ver n'est pas évidente car les plus grands sites prennent généralement des précautions afin d'éviter l'exécution de code Javascript. L'auteur de ce ver a donc du trouver des moyens pour contourner les contrôles de MySpace.
Comme cela, Samy a infecter plus de 100.000 personne ![]()
Pour plus d'info : http://en.wikipedia.org/wiki/Samy_%28XSS%29
Et surtout les détailles du premier vers XSS : Samy Worm XSS
Cordialement,
@[N4rKo]$:
Offline
Pour se prémunir des XSS une filtrage des entrée utilisateur enlevant les balises <script> suffit il à éviter toutes attaques ?
Offline
Oh que non !! ^^ Il y a beaucoup d'autres manières de contourner ce système.
Par exemple si tu retires la chaine <script>, rien ne nous empêche d'insérer <ScRiPt>. Le navigateur comprendra tout de même la balise et il exécutera le code contenu dedans.
Idem même si tu bloques cette balise, il restera toujours les évènements javascript. Par exemple le code suivant fonctionnera :
<img src='http://toto.jpg' onError='le_code_malveillant' />
Je t'invite à chercher plus d'infos sur les évènements javascript, tu verras qu'il y a énormément de moyens de lancer du js sans passer par la balise script.
Et pour finir il y a aussi l'obfuscation qui permet de camoufler un script malicieux. Par exemple si je converti mon script en base64, ta regex ne fonctionnera plus mais le navigateur, en interprétant mon obfuscation, lancera le script.
Bref il ne suffit vraiment pas d'enlever les balises <script> pour se prémunir des failles XSS. Le mieux c'est encore de protéger tes variables avec htmlspecialchars, htmlentities ou encore les fonctions intval, floatval, etc...
Offline
Tiens d'ailleurs voici la page xss du très connu ha.ckers : http://ha.ckers.org/xss.html
Offline
Quand je parlais d'enlever les "<script>" je voulais dire l'utilisation d'htmlspecialchars() je reconnais m'être mal exprimé.
J'imagine que les fonctions d'échappement fournie par php&mysql sont exempt de toute "faille" de ce fait si toutes les variables entrées par l'utilisateur sont correctement échappées et que l'utilisation des events en JS n'est pas possible, demeure t il un risque de XSS ?
Pour ce qu'il y est des events en JS a part dans une image avec un onload(ou autre) dans quel cas de figure ou pourrait rencontrer une faille ?
Offline
@Papy:
exemple de formulaire :
<input type="text" name="search" value="TEST!!">
Si la valeur de "Search" n'est pas bien filtré, si tu rentres :
" OnmouseOver="javascript:alert(1);">
ça va donner :
<input type="text" name="search" value="" OnmouseOver="javascript:alert(1);">
See you soon
Offline
D'accord c'est donc dans le cas ou le form est concu de facon dynamique donc ?
Offline
oui voilà, c'est tout à fait ça.
D'un autre côté, c'est normal car c'est un utilisateur malicieux qui va injecter du code non sollicité.
Cet exemple marche extrêmement bien avec les pages de login (faux login / password) et il affiche souvent le login utilisé pour retaper le password.
Offline
Et dans quel cas de figure on pourrait rencontrer ce genre de cas ? Car j'comprends pas pourquoi on utiliserai un form fait dynamiquement :s
Offline