2013-03-27 12 views
5

Ich bin ein Student lernen PHP & MySQL-Entwicklung. Ich habe ein privates Labor (VM) in meinem Computer zu testen & lernen, wie SQL-Injektion funktioniert. Wenn es schwieriger wird, benutze ich sqlmap, um die Anfragen, die es an meine Test-App gemacht hat, im verbose-Modus & auszunutzen, indem ich Pakete über wireshark aufzeichne. Ich stieß auf ein kleines Problem und das ist der Parameter in einer URL zu sqlmap zu testen.Parameter mit SQLMAP angeben

http://localhost/vuln/test.php?feature=music&song=1 

ich will sqlmap den Parameter Song scannen, so habe ich versucht, diese Lösungen

-u http://localhost/vuln/test.php?feature=music&song=1 --skip feature 
-u http://localhost/vuln/test.php? --data="feature=music&song=1" -p song 

versucht, verschiedene Variationen durch Hinzufügen und Zitate und Gleichheitszeichen zu entfernen, nicht gearbeitet. Ich habe sogar versucht, das --risk auf --level auf Maximum zu setzen, aber es kann immer noch nicht den letzten Parameter aufnehmen.

Ich werde sehr dankbar sein, wenn ein Experte mir dabei helfen kann. Danke.

Antwort

2

Ich habe dieses Problem auch. Ich denke sqlmap injiziere den ersten Parameter. Wenn Sie Folgendes eingeben:

-u http://localhost/vuln/test.php?feature=music&song=1 

sqlmap wird "Feature" Parameter injizieren. Um es zu injizieren ‚Song‘ Parameter müssen Sie die Parameter neu zu ordnen, wie folgt:

-u http://localhost/vuln/test.php?song=1&feature=music 

Vergessen Sie nicht hinzufügen ‚&‘ zwischen den einzelnen Parametern. Es hat für mich funktioniert.

11

die p-Option kann auf folgende Weise

-u "http://localhost/vuln/test.php?feature=music&song=1" -p song

+0

Seien Sie auch vorsichtig, dass ohne Anführungszeichen der Befehl nicht richtig funktioniert. –

2

Sie einfach * zu Ihrem Wert des Parameters hinzufügen können, die Sie scannen möchten, verwendet werden. Hast du das versucht?

+0

Können Sie ein Beispiel geben? – damienfrancois

+0

-u http: //localhost/vuln/test.php? Feature = Musik & Lied = 1 * Wenn es eine Art POST-Anfrage ist -u http: //localhost/vuln/test.php --data = " feature = music & song = 1 * " – CorpusCallosum

+0

Übrigens brauchst du kein Fragezeichen bei sqlmapping POST-Anfragen. test.php ist genug. – CorpusCallosum

0

Ich habe diese Art von Problem bereits ausgelöst. Sie können den Parameter 'Feature' einfach überspringen. ZB -u http: // localhost/vuln/test.php? Feature = musik & song = 1 - skip = feature und dann wird es sicherlich den 'song'-parameter testen.

0

Ich habe auch bemerkt, dass Sie dies mehrere Parameter verwenden scannen:

-u "http://localhost/vuln/test.php?feature=music&song=1" -p 'song,feature' 

Dies wird die song Parameter scannen, dann den feature Parameter. Wenn sqlmap einen anfälligen Parameter findet, werden Sie gefragt, ob Sie mit den anderen fortfahren möchten.