Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(In)security allgemein Sicherheit, Anonymität im Netz. Schutz und Maßnahmen. Prävention und Konzepte. Sicherheitsarchitekturen allgemein und auf der Netzwerkebene.

MySQL-Injection

Diskussion: MySQL-Injection im Forum (In)security allgemein, in der Kategorie Security Area; Anzeige Hallo, ich hab mal eine Frage wegen MySQL Injectionen. Also ein "Kunde" fragte mich letzten, ob er meinen Script ...

Antwort
Alt 05.10.04, 17:56   #1 (permalink)
Moderator
 
Benutzerbild von Elderan
 
Registriert seit: 30.03.04
Elderan Leistung: 8086
Likes: 14
Standard MySQL-Injection

Anzeige

Hallo,
ich hab mal eine Frage wegen MySQL Injectionen.

Also ein "Kunde" fragte mich letzten, ob er meinen Script auf seinem Server installieren sollte oder ob er es lieber lassen sollte. Er hat sensible Kundendaten in der Datenbank die erschützen möchte.

Da ist mir nochmal das Thema "MySQL Injection" eingefallen und bei dem Script habe ich keinen Schutz dagegen.

Deswegen habe ich vorhin versucht für den Script eine Injection vorzunehmen, also erstmal bei google geschaut wie das geht :

Normale URL:
datei.php?id=5

Abfrage:
$id = $_GET["id"];
$name_abfrage = "SELECT * FROM tabelle WHERE id LIKE '$id'";
$name_ergebnis = mysql_query($name_abfrage);
$name_row = mysql_fetch_object($name_ergebnis);

Also laut einem Bericht aus dem Internet nicht wirklich sicher, aber jetzt kommt mein Versuchter Angriff:

Angriffs URL:
datei.php?id=5;UPDATE%20user%20Set%20username='neu '%20WHERE%20id=3

Den Eintrag mit der id=3 gibt es wirklich.

Nochmal ohne störende Zeichen:
UPDATE user Set username='neu' WHERE id=3

Soll einfach nur den Username von ID=3 auf neu ändern.

Wenn ich das jetzt aufrufe, sagt er mit immer; MySQL_Error: supplied argument is not a valid MySQL

Der Eintrag wurde auch nicht geändert.

Ist an der Angriffs URL irgendwas was falsch, oder funktioniert MySQL Injection nicht bei neueren Varianten von PHP bzw. muss die Abfrage anders aussehen?

P.S. Wie man sich dagegen schützt weiß ich. Sofern es geht würde ich mich auch beeilen alle Abfragen anzupassen.

Danke

Edit
Hab mal etwas geooglet:

Zitat:
Um etwas schonmal vorweg zu nehmen, mehrere MySQL-Querys werden durch Semikolons getrennt. Aus Sicherheitsgründen führt PHP aber nur den 1. MySQL-Query aus. Wenn man mehrere MySQL-Querys ausführen möchte, muss man entsprechend so viele mysql_query-Befehle aufrufen, oder die Querys in einem Array speichern und eine foreach-Schleife benutzen.
Ich wollte mal fragen ab welcher Version dies drin ist, und ob man das auch Ausschalten kann.

Wenn man das kann, wäre das ein großes Sicherheitsloch.
Elderan ist offline   Mit Zitat antworten
Alt 05.10.04, 19:55   #2 (permalink)
Moderator
 
Registriert seit: 17.10.01
soox Leistung: Facit NTK
Likes: 0
Standard RE: MySQL-Injection

Zitat:
Original von Elderan
Abfrage:
$id = $_GET["id"];
$name_abfrage = "SELECT * FROM tabelle WHERE id LIKE '$id'";
$name_ergebnis = mysql_query($name_abfrage);
$name_row = mysql_fetch_object($name_ergebnis);

Also laut einem Bericht aus dem Internet nicht wirklich sicher, aber jetzt kommt mein Versuchter Angriff:

Angriffs URL:
datei.php?id=5;UPDATE%20user%20Set%20username='neu '%20WHERE%20id=3

Den Eintrag mit der id=3 gibt es wirklich.

Nochmal ohne störende Zeichen:
UPDATE user Set username='neu' WHERE id=3

Soll einfach nur den Username von ID=3 auf neu ändern.
probier mal was ala:

id = ". mysql_query('UPDATE user Set username='neu' WHERE id=3') ."3'"

der ganze string sollte dann ca so aussehen:

"SELECT * FROM tabelle WHERE id LIKE ".mysql_query('UPDATE user Set username='neu' WHERE id=3')."3";

was soviel bedeuted, dass zuerst das update gemacht (beim string zusammensetzen) wird und dann dein select
soox ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Security Area » (In)security allgemein » MySQL-Injection
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP/MySql sql injection verhindern Dawen Code Kitchen 6 05.08.09 19:40
MySQL-Injection und weiter? kuzdu (In)security allgemein 2 26.07.07 17:38
MySQL injection Globestern (In)security allgemein 1 21.02.06 12:30
mySQL injection _fux_ (In)security allgemein 5 12.10.05 17:05
PHPKIT-Mysql Injection ... fadz (In)security allgemein 2 04.09.05 16:00


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61