Hacking PHP-code mit SQL-injection

Ich habe einige code wie dieser ist offen für SQL-injection. Wir haben gehackt und nun haben wir es festgelegt. Ich möchte nur wissen, was die Eingaben (Benutzername und Kennwort) sein müssen, um diesen hack code. Ich meine, auch wenn Sie Eingang

username = something' OR 'x'='x

Dann können Sie abrufen, das Passwort des ersten Benutzers in der Tabelle unabhängig von den Benutzernamen. Jedoch, im inneren der if überprüfen wir, ob das Passwort korrekt ist. Ich gehe davon aus, dass das Passwort war sehr leicht (so leicht wie 123456) und der hacker aus einem brute-force aus einem Wörterbuch. Allerdings Frage ich mich, ob es einen anderen Weg, um diesen hack code mit einigen Injektion andere als brute-forcing das Passwort.

<?php
$username=$_POST['username'];
$password=$_POST['password'];

$result=runQuery("SELECT password FROM tbl_users WHERE username='".$username."''");
$row=mysql_fetch_array($result);

if($row['password']==$password){
    -- do sth... create a cookie etc..
}
else{
    --go to another page...
}
?>
  • Ich glaube nicht, dass Sie Lesen über sql-injection.
  • Diese Frage scheint off-topic, weil es ein code-review-Anfrage. Dies ist besser geeignet, um codereview.stackexchange.com
  • Zum Schutz vor sql-injection, die Sie verwenden müssen PDO oder mysqli. Sie sind auch nicht entkommen Sie Ihre Eingabe in Ihrem Beispiel. Wie Mike schon sagte, ich glaube nicht wirklich, dass Sie alles Lesen über sql-injection in den ersten Platz.
  • Benutzername: Bobby'; DROP TABLE tbl_users; --
  • Ich denke, Sie sind fehlt das Leerzeichen am Ende der Injektion 😉
  • Was war die Wirkung der hacken?
  • Was ist die url, können wir nicht testen, es anders.... 😉
  • Ich hatte noch nie davon gehört, danke. OP, Lesen Sie über paramaterized Abfragen. Wenn Sie an einer website arbeiten, die eine log-in-system, sollten Sie mit vertraut sein und wissen, wie Sie zu beheben/vermeiden Sie die OWASP top ten Sicherheitsrisiken. Hier die Nummer 1 ist SQL-injection.
  • Der hacker nicht drop eine Tabelle oder so etwas. Der Tisch war es, das Kennwort wurde nicht aktualisiert. Dieses Benutzerkonto wird verwendet für das hinzufügen von einen kurzen Kommentar zu einer Wand. Es gab Kommentare der hacker an der Wand.. und die tbl_users war unberührt.

InformationsquelleAutor albatross | 2013-09-16
Schreibe einen Kommentar