Heim >Backend-Entwicklung >PHP-Tutorial >Kann mysql_real_escape_string() SQL-Injection-Angriffe wirklich verhindern?
SQL-Injection umgeht mysql_real_escape_string()
Trotz der weit verbreiteten Meinung ist es möglich, die mysql_real_escape_string()-Schutzmaßnahme in SQL-Injections zu umgehen. Dies ist besonders besorgniserregend, da diese Funktion häufig zum Schutz vor solchen Angriffen eingesetzt wird.
Der Exploit
Ein Angriff, der diese Schwachstelle aufzeigt, wurde im ursprünglichen Beitrag beschrieben. Der Schlüssel besteht darin, eine bestimmte Zeichenfolge („xbfx27“) in Verbindung mit bestimmten Zeichensätzen (z. B. gbk) auszunutzen. Bei der Verarbeitung durch mysql_real_escape_string() unter diesen Bedingungen führt die Nutzlast zu einem nicht maskierten '-Zeichen, das dann für Injektionszwecke ausgenutzt werden kann.
Die Auswirkungen
Diese Schwachstelle hat angesichts der Verbreitung von mysql_real_escape_string() als Abwehrmechanismus gegen SQL weitreichende Auswirkungen Injektionen. Es betrifft PHP-Anwendungen, die die Erweiterungen mysql_ oder PDO_MySQL verwenden, insbesondere wenn anfällige Zeichensätze verwendet werden oder auf die emulierten vorbereiteten Anweisungen von PDO zurückgegriffen wird.
Sichere Praktiken
Um dies zu mildern Sicherheitslücke ist es wichtig, die Best Practices einzuhalten:
Das obige ist der detaillierte Inhalt vonKann mysql_real_escape_string() SQL-Injection-Angriffe wirklich verhindern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!