SQL Injection Problem

Bearbeite gerade den Artikel "Advanced SQL Injection in MySQL" von hakin9 und habe
schon am Anfang gleich Probleme damit. Verstehen tu ich das alles sehr gut, aber
irgendwie will es bei mir nicht funktionieren. Habe das Login Script mit der Datenbank bei
mir auf dem Server laufen und habe mich versucht mit admin'/* einzuloggen aber da
kommt entweder nur "Access denied" (magic_quotes_gpc = On) oder ein Fehler von
mysql_num_rows (magic_quotes_gpc = Off), dass das result nicht korrekt ist und bei ' OR '1' = '1
als Login und Passwort kommt in beiden Fällen einfach nur "Access denied". Hat
jemand zufällig eine Ahnung, warum das bei mir nicht funktioniert? Habe mich natürlich
strikt an die Anweisungen gehalten und auch nichts am Code verändert und am Server ist
auch noch alles standardmäßig eingestellt. Wäre dankbar für Hilfe.
 
Da hier nicht jeder die hackin9 liest, solltest du evtl. den Code mal posten oder sofern möglich die Online-Version des Artikels verlinken.
 
http://hakin9.org/prt/view/pdf-artikel.html
der 2. von oben.

Ansonsten hier der Code:

<?php
include "config.php";
if(isset($_POST['submit']))
{
$sql = "SELECT * FROM users WHERE username = '{$_POST['username']}' AND password = '{$_POST['password']}'";
$result = mysql_query($sql);
if ( mysql_num_rows($result) > 0 )
{
$my = mysql_fetch_array($result);
echo 'welcome '.$my['username'].'<br />';
echo $sql;
}
else
{
echo 'Access Denied';
}
}
else
{
echo '<form method="POST">';
echo '<b>username:</b><input name="username"><br />';
echo '<b>password:</b><input name="password"><br />';
echo '<input type="submit" name="submit">';
echo '</form>';
}
?>

Und die Datenbank:

-
-- Table structure for table `users`
--
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL auto_increment,
`username` varchar(255) NOT NULL default '',
`password` varchar(255) NOT NULL default '',
`email` varchar(255) NOT NULL default '',
`level` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
--
-- Dumping data for table `users`
--
INSERT INTO `users` VALUES (1, 'admin', 'secret', 'admin@localhost', 1);
INSERT INTO `users` VALUES (2, 'user1', 'passwd', 'user1@localhost', 0);
INSERT INTO `users` VALUES (3, 'user2', '123456', 'user2@localhost', 0);

Was mir noch komisch vorkommt ist folgendes Zitat aus dem Artikel:

Nachdem wir die MySQL Tabelle erzeugt haben, brauchen wir nur noch das PHP-Script in Listing x.

Kann es sein, dass dort ein Listing fehlt, welches ich noch für den erfolgreichen Versuch benötige?
 
Zurück
Oben