MySQL und erlaubte Zeichen

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Alex

Donnerstag 15. Dezember 2005, 00:08

Hallo Schlangenfreunde,
ich habe hier einen Apache mit mod_python am Start.
Das Script verarbeitet die http://.... Zeile und speichert die Werte nach dem Fragezeichen in eine Tuple und speichert sie in eine mysqldatenbank.

z. B.: http://www.python-forum.de/posting.php? ... wtopic&f=3

Das klappt alles ganz wunderbar. Um möglichst auf der sicheren Seite zu sein soltle ich vorher nach unerlaubten Zeichen scannen. Gibts da welche??
Das Problem ist das die User beliebige Text einegebn können, so dass erst im Script danach kontrolliert werden kann.

Mein String an die DB sieht so aus:
UPDATE serverlist SET port='1234', name='bl%sasad' ,map='dasdasd', curplayer=1, maxplayer=6,status='wartet' ,comment='mehr mit Leerzeichen' WHERE ipaddress='192.168.1.5'

Das '%s' in name='bl%sasad' stört nicht.
So scheint alles ok...

Mit integriertem Pythonbefehlen scheints auch keine Probleme zu geben.

Oder sind meine Sorgen unbegründet :?:
Alex
BlackJack

Donnerstag 15. Dezember 2005, 00:49

Das kommt darauf an wie Du die Werte in deine SQL-Anweisung hineinbekommst. Wenn Du das mit dem % Operator machst, dann kann Dir jemand SQL-Code über die URL einschmuggeln der dann ausgeführt wird. Wenn Du die Werte beim `execute()` vom DB-Modul eintragen lässt, dann kann Dir das nicht passieren.
Benutzeravatar
jens
Moderator
Beiträge: 8482
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Donnerstag 15. Dezember 2005, 07:29


CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Alex

Donnerstag 15. Dezember 2005, 22:31

Hi,
danke für die Tipps. An SQL injenction habe ich noch nicht gedacht.
Das werde demnächst mal testen.
Besten Dank
Alex
Antworten