Dari penelitian lebih lanjut, saya telah menemukan:
http://dev.mysql.com/doc/refman/5.1/en/news-5-1-11.html
Perbaikan Keamanan:
Lubang keamanan injeksi SQL telah ditemukan dalam pemrosesan pengkodean multi-byte. Bug ada di server, salah mengurai string yang lolos dengan fungsi API C mysql_real_escape_string ().
Kerentanan ini ditemukan dan dilaporkan oleh Josh Berkus dan Tom Lane sebagai bagian dari kolaborasi keamanan antar proyek dari konsorsium OSDB. Untuk informasi lebih lanjut tentang injeksi SQL, silakan lihat teks berikut.
Diskusi. Lubang keamanan injeksi SQL telah ditemukan dalam pemrosesan pengkodean multi-byte. Lubang keamanan injeksi SQL dapat mencakup situasi di mana ketika pengguna memberikan data untuk dimasukkan ke dalam database, pengguna dapat memasukkan pernyataan SQL ke dalam data yang akan dieksekusi oleh server. Berkenaan dengan kerentanan ini, ketika karakter set-unaware escaping digunakan (misalnya, addlashes () di PHP), adalah mungkin untuk melewati escaping di beberapa set karakter multi-byte (misalnya, SJIS, BIG5 dan GBK). Akibatnya, fungsi seperti addlashes () tidak dapat mencegah serangan injeksi SQL. Tidak mungkin untuk memperbaikinya di sisi server. Solusi terbaik adalah untuk aplikasi menggunakan pelarian karakter set-aware yang ditawarkan oleh fungsi seperti mysql_real_escape_string ().
Namun, bug terdeteksi dalam cara server MySQL mengurai output mysql_real_escape_string (). Akibatnya, bahkan ketika karakter set-aware function mysql_real_escape_string () digunakan, injeksi SQL dimungkinkan. bug ini telah diperbaiki.
Solusi. Jika Anda tidak dapat memutakhirkan MySQL ke versi yang menyertakan perbaikan bug dalam parsing mysql_real_escape_string (), tetapi menjalankan MySQL 5.0.1 atau lebih tinggi, Anda dapat menggunakan mode SQL NO_BACKSLASH_ESCAPES sebagai solusinya. (Mode ini diperkenalkan di MySQL 5.0.1.) NO_BACKSLASH_ESCAPES mengaktifkan mode kompatibilitas standar SQL, di mana garis miring terbalik tidak dianggap sebagai karakter khusus. Hasilnya adalah kueri akan gagal.
Untuk mengatur mode ini untuk koneksi saat ini, masukkan pernyataan SQL berikut:
SET sql_mode='NO_BACKSLASH_ESCAPES';
Anda juga dapat menyetel mode secara global untuk semua klien:
SET GLOBAL sql_mode='NO_BACKSLASH_ESCAPES';
Mode SQL ini juga dapat diaktifkan secara otomatis ketika server dimulai dengan menggunakan opsi baris perintah --sql-mode = NO_BACKSLASH_ESCAPES atau dengan mengatur sql-mode = NO_BACKSLASH_ESCAPES di file opsi server (misalnya, my.cnf atau my.ini , tergantung pada sistem Anda). (Bug # 8378, CVE-2006-2753)
Lihat juga Bug # 8303.