| (In)security allgemein Sicherheit, Anonymität im Netz. Schutz und Maßnahmen. Prävention und Konzepte. Sicherheitsarchitekturen allgemein und auf der Netzwerkebene. |
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 ...
![]() |
| | #1 (permalink) | |
| Moderator ![]() Registriert seit: 30.03.04 ![]() Likes: 14 | 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:
Wenn man das kann, wäre das ein großes Sicherheitsloch. | |
| | |
| | #2 (permalink) | |
| Moderator ![]() Registriert seit: 17.10.01 ![]() Likes: 0 | Zitat:
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 | |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ä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 |