dedlfix: Probleme grundsätzlicher Wissensvermittlung, z.B. PHP

Beitrag lesen

Tach!

Im Falle von MySQL mit ISO-8859 oder UTF-8 ist addslashes() ausreichend.

Mit einer anderen Zeichencodierung könnte ein Angreifer diese Abwehr ausser Kraft setzen?

Du bist es, der dem DBMS zum Verbindungsaufbau sagt, welche Zeichenkodierung es zu erwarten hat. Wenn jemand Daten in einer anderen Kodierung oder beliebigen anderen Datenmüll sendet, werden die Bytes vom DBMS trotzdem als das ausgewertet, was du da angegeben hast. In den ankommenden Daten bleiben nach der Maskierungs-Stringersetzung aus Sicht der angegebenen Kodierung keine ungewünschten Sequenzen übrig. Ich sehe da kein sicherheitstechnisches Risiko, solange der Rest vom Statement syntaktisch passt.

dedlfix.