SQL Injektionen MSSQL PHP Skript demonstrieren

Briefkasten

Erfahrenes Mitglied
Hallo,

ich soll eine SQL Injektion demonstrieren. Als Beispiel habe ich ein Loginbereich erstellt, der Benutzername und PW bei der Richtigen eingabe ausgibt.

Hier der Code:

PHP:
	mssql_connect ('(local)\SQLEXPRESS', 'martin', 'pw');
	mssql_select_db("db");
	
	$pw = $_POST["password"];
	$pw = crypt($pw,"CRYPT_MD5");
	$sql  = "SELECT     nick, password FROM         users  WHERE     (nick = '".$_POST["nick"]."') AND ( password = '".$pw."')";
	echo $sql;
	$ressource = mssql_query($sql);
	while($r = mssql_fetch_array($ressource))
	{
		for($i=0;$i<Count($r);$i++)
			echo $r[$i]."<br>";
	}
	echo $sql;

Ich habe folgendes probiert:

in die Textbox folgendes eingeben: "benutzername')---"
Die "---" kommentieren alles aus. Allerdings macht der mir ein \ vor dem ' rein. Kennt jemand einen Trick wie ich das verhindern kann?

Würde das hinhauen könnte ich meine eigenen Abfragen erstellen.

Z.B.: benutzername'); [meine Query]---"


Hat jemand eine Idee was ich gegen die Escape Zeichen tun kann? Oder hat jemand eine Bessere Idee für eine SQL Injektion.
 
Zuletzt bearbeitet:
dann hat dein hoster get_magic_quotes_gpc an in php hier ein abschnitt wie du es umgehen kannst... der abschitt ist von hier: http://de.php.net/manual/de/function.mysql-real-escape-string.php
PHP:
     // Die Auswirkungen von magic_quotes_gpc zurücksetzen, sofern die
     // Option eingeschaltet ist

        if(get_magic_quotes_gpc()) {
            $product_name        = stripslashes($_POST['product_name']);
            $product_description = stripslashes($_POST['product_description']);
        } else {
            $product_name        = $_POST['product_name'];
            $product_description = $_POST['product_description'];
        }
stripslashes entfernt alle slashes die addslashes erstellt hat... da bei get_magic_quotes_gpc() automatisch bei jedem POST oder GET addslashes rüber gebügelt wird


MfG Gunah
 
Zurück