Outils pour utilisateurs

Outils du site


web:injection_xss

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
web:injection_xss [2016/02/02 07:53]
arkinar
web:injection_xss [2016/04/15 10:19]
arkinar
Ligne 1: Ligne 1:
-Failles XSS:+**Failles XSS**
  
 Le cross-site scripting (abrégé XSS), est un type de faille de sécurité des sites web permettant d'​injecter du contenu dans une page. Elle permet ainsi de provoquer des actions sur les navigateurs web visitant la page. Le cross-site scripting (abrégé XSS), est un type de faille de sécurité des sites web permettant d'​injecter du contenu dans une page. Elle permet ainsi de provoquer des actions sur les navigateurs web visitant la page.
Ligne 32: Ligne 32:
  
  
-**Méthode ​1:**+__Méthode ​1:__
  
 On va injecter notre code javascript sur le site faillible On va injecter notre code javascript sur le site faillible
Ligne 52: Ligne 52:
 Le code que je vous ai donné n'aura pas d’effet grave sur la victime mais vous pouvez faire de grandes choses avec du JS. Le code que je vous ai donné n'aura pas d’effet grave sur la victime mais vous pouvez faire de grandes choses avec du JS.
  
-Méthode ​2:+__Méthode ​2: CSRF__
  
 La CSRF (Cross-Site Request Forgery) est une attaque visant à faire exécuter une action à un utilisateur sans qu'il en soit conscient. La CSRF (Cross-Site Request Forgery) est une attaque visant à faire exécuter une action à un utilisateur sans qu'il en soit conscient.
Ligne 109: Ligne 109:
  
 En cas d'​authentification par cookie vous pourrez vous connecter en tant qu'​admin En cas d'​authentification par cookie vous pourrez vous connecter en tant qu'​admin
 +
 +ByPassing des protections contre les XSS:
 +
 +Il arrive parfois que des protections soient mise en place pour empêcher ce genre d'​attaque,​ voici quelque techniques pour bypasser ces protections.
 +
 +__Bypassing magic_quotes_gpc :__
 +
 +La fonction magic_quotes_gpc=on en php modifie les quotes qu'​elles soient simple ou double (' ou ") en backslash (\). Par exemple <​script>​alert("​Coucou"​);</​script>​ sera filtré en <​script>​alert(\Coucou\);</​script>​ empêchant ainsi le script de fonctionner.
 +Alors comment faire ?! Utiliser les caractères ASCII !
 +
 +notre Coucou devient par exemple : String.fromCharCode(67,​ 111, 117, 99, 111, 117)
 +Ce qui donne 
 +<​code><​script>​String.fromCharCode(97,​ 108, 101, 114, 116, 40, 34, 67, 111, 117, 99, 111, 117, 34, 41, 59)</​script></​code>​ --> Qui sera normalement exécuté ! Pas de quote présente, aucun filtre à réalisé.
 +
 +__Bypassing avec des valeurs Hexa :__
 +
 +Nous pouvons aussi convertir notre payload en hexa, notre <​script>​alert("​Coucou"​);</​script>​ devient : 
 +
 +<​code>​%3c%73%63%72%69%70%74%3e%61%6c%65%72%74%28%22%43%6f%75%63%6f%75%22%29%3b%3c%2f%73%63%72%69%70%74%3e</​code>​
 +
 +__Bypassing par obfuscation :__
 +
 +Il arrive parfois qu'un administrateur de site un peu feignant ne daigne pas insérer une réel protection et filtre les mots script, alert etc ...
 +un simple <​code><​ScRiPt>​AlErT("​Coucou"​);</​sCrIpT></​code>​ fera l'​affaire ! 
 +
 +Cela bien sur marche de moins en moins, mais parfois... ça suffit !
 +
 +__Bypassing par fermeture de tag :__
 +
 +Parfois il est nécessaire de fermer une balise afin que notre script soit exécuté :
 +Par exemple : Le contenu du Name est directement injecté dans l’attribut "​class"​ de la balise qui contiendra le message envoyé.
 +
 +<​code>​User"><​script>​alert("​Coucou"​);</​script></​code>​
  
 Source :​[[http://​venom630.free.fr/​geo/​tutz/​securite_informatique/​xss/​]] Source :​[[http://​venom630.free.fr/​geo/​tutz/​securite_informatique/​xss/​]]
web/injection_xss.txt · Dernière modification: 2016/07/04 08:38 (modification externe)