2012-03-29 7 views
3

Ich habe eine App, und das Feld Benutzername wird einen beliebigen Wert in den ganzzahligen Wert mit integer.parseint konvertieren. Die App verwendet JSP und Oracle-Datenbank.sql Injektion in Integer-Feld

Die URL wurde mit SQLMap getestet und ist nicht dynamisch. Also kann ich es nur über das Login-Formular versuchen, aber ich konnte es nicht umgehen.

Wenn ich setzen ' oder 1=1, -, der Server Fehler zurück, error for input string.

Ich möchte das Feld injizieren, also, wie kann es getan werden?

Ich weiß nicht, ob ich die alternative Codierung verwenden kann, weil es sowieso in Ganzzahl konvertiert.

Antwort

4

Es kann nicht getan werden.

Wenn der Wert als Ganzzahl analysiert wird, kann er keinen schädlichen Code mehr enthalten.

+0

thnks .. Ich habe versucht, die Tautologie in pwd field..i bieten umgangen den Login, aber ich weiß nicht, wo die ID herkommt und es ist Inhalt fehlt .. noch andere Möglichkeiten sqlia hier zu benutzen? – Bizarre

+0

Ja, es kann nicht getan werden. – Bizarre

+0

Das bedeutet jedoch nicht, dass der Ganzzahlwert, den Sie eingeben, sinnvoll ist. Möglicherweise können Sie mithilfe der direkten Objektreferenz alle Werte aus dieser Abfrage auflisten. Nur weil es nicht anfällig für SQL-Injection ist, heißt das nicht, dass es für nichts anderes anfällig ist. (Auch wenn es 'parseDouble' ist, gibt es eine JVM-Race-Bedingung in Sun JVMs). – Colselaw