Sepertinya serangan overflow
. Mereka UNION
-ed dengan kueri Anda yang ada. mengganti semua %20
. Anda dengan (spasi) karena urlnya disandikan menghasilkan:
=-999.9 UNION ALL SELECT CONCAT(0x7e,0x27,Hex(cast(database() as char)),0x27,0x7e),0x31303235343830303536,0x31303235343830303536,0x31303235343830303536-
pecahkan:
=-999.9
baru saja mengakhiri kueri Anda saat ini0x31303235343830303536
adalahNULL
- mereka hanya cocok dengan jumlah kolom dalam kueri Anda yang ada. Jika Anda memilikiSELECT * FROM users
danusers
memiliki 4 kolom,UNION
juga harus memiliki 4 kolom. Akibatnya, mereka hanya menggunakan `nilai NULL untuk mengisi kolom tersebut.- kebingungan sebenarnya ada di
CONCAT()
. Mereka menggabungkan 126, 39, nama database sebagai nilai hex, 39, dan 126 --
adalah komentar mysql - mengabaikan sisa kueri Anda setelah
Dilihat dari serangan ini, saya curiga Anda tidak membungkus input di mysql_real_escape_string()
, yang memungkinkan penyerang melompat keluar dari kueri Anda dan mengeksekusi kueri mereka sendiri.
Lihat owasp.org untuk informasi lebih lanjut.