hi,
Wenn $_GET['orby'] unbehandelt bleibt,
"SELECT * FROM buecher ORDER BY ".mysql_real_escape_string($_GET['orby'])." ASC";
Das ist die Stelle mit der Sicherheitslücke trotz mysql_real_escape_string().
Das wusste ich natürlich nicht.
Dein SQL-Statement sieht nun aber so aus: »SELECT * FROM buecher ORDER BY 0 UNION SELECT * FROM mysql.users«. Man muss nun lediglich noch dafür sorgen, dass die Spaltenanzahl des UNIONierten Select-Ergebnisses die gleiche ist wie die des ersten und ... siehst du jetzt das Problem an der Geschichte?
Wie ist es in diesen Zusammenhang mit Prepared Statements? Schliessen PS auch diese Lücke oder muss man auch trotz PS auf irgendwas achten?
Ich Filtere ja eh alles, was reinkommt, wäre aber trotzdem Interessant zu wissen.
holla holla