PHP Hilfe
Geizhals » Forum » Programmierung » PHP Hilfe (11 Beiträge, 123 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
..
Re(2): PHP Hilfe
01.09.2005, 15:23:25
Uaaargh!

Ich hab' mir das nur gaaanz kurz überflogen - kann mich also täuschen - aber dein Script ist extrem kritisch [wie gesagt, zumindest am 1. Blick].

IMHO gibt's keinerlei Prüfung auf SQL Injection

Beispiele:
function insertFile()
Es findet keine Prüfung statt, ob das wirklich nur ein Filename ist. Du kannst zwar der aufrufenden Funktion vertrauen - ich würde allerdings die paar Zyklen in Sicherheit investieren (auch zum weiterverwenden):
Angenommen, man übergibt als $filename "bubu';delete from files ; -- dann würde folgendes SQL entstehen: Select filename,id FROM files WHERE filename='bubu';delete from files ; --.jpg. Alles nach dem -- wird ignoriert, er würde also sofort deine Tabelle löschen. Wenn man MySQL kennt (ich nicht ;-) ) - könnte man über solche Injections auf Systemtabellen mal nachlesen, welche Tabellen es gibt - und die der Reihe nach angreifen ;-(.

Die Sicherheit deines Scripts begründet sich in der Annahme, daß du nur alle im Dateisystem erlaubten Namen zuläßt (weil ja vorher das copy anrennt) und ein if(copy) { insertfile(); ...} abrennt.

Der von mir angegebene Filename bubu';delete from files ; -- ist mal grundsätzlich in vielen OS erlaubt... und würde sofort deine Files-Tabelle zerstören. Noch schlimmer wird's, wenn das einer benutzt, um auf Kennwörter oder sonst heikles in der DB zu stoßen...

Kurzum:
Ich würde einen Test der Eingabedaten machen und mich niemals auf ein "Meine Files sind nicht so wichtig" verlassen.. Denn einem Hacker ist das wurscht - der kann ja vorher nicht wissen, wie wichtig die Daten sind ;-9

Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung