Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Welche Zeichen müssen maskiert werden, um (My)SQL-Injections zu verhindern?

Eine Vermutung zum Backspace-Zeichen:Stellen Sie sich vor, ich schicke Ihnen eine E-Mail "Hallo, hier ist die Abfrage, um Ihre DB wie gewünscht zu aktualisieren" und eine angehängte Textdatei mit

INSERT INTO students VALUES ("Bobby Tables",12,"abc",3.6);

Sie kategorisieren die Datei, sehen, dass sie in Ordnung ist, und leiten die Datei einfach an MySQL weiter. Was Sie jedoch nicht wussten, war, dass ich

gesetzt habe
DROP TABLE students;\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b

vor dem INSERT STATEMENT, das Sie nicht gesehen haben, weil es bei der Konsolenausgabe von den Backspaces überschrieben wurde. Bamm!

Aber nur eine Vermutung.

Bearbeiten (konnte nicht widerstehen):