Có vẻ như tấn công tràn
. Họ UNION -ed với truy vấn hiện tại của bạn. thay thế tất cả %20 của bạn với (khoảng trắng) vì nó được mã hóa url mang lại:
=-999.9 UNION ALL SELECT CONCAT(0x7e,0x27,Hex(cast(database() as char)),0x27,0x7e),0x31303235343830303536,0x31303235343830303536,0x31303235343830303536-
chia nhỏ nó ra:
-
=-999.9sắp kết thúc truy vấn hiện tại của bạn -
0x31303235343830303536làNULL- chúng chỉ khớp với số cột trong truy vấn hiện có của bạn. Nếu bạn cóSELECT * FROM usersvàuserscó 4 cột,UNIONcũng phải có 4 cột. Do đó, họ chỉ sử dụng `giá trị NULL để điền các cột đó. - sự nhầm lẫn thực sự là trong
CONCAT(). Chúng đang kết hợp 126, 39, tên cơ sở dữ liệu dưới dạng giá trị hex, 39 và 126 -
--là một bình luận mysql - nó bỏ qua phần còn lại của truy vấn của bạn sau
Đánh giá về cuộc tấn công này, tôi nghi ngờ rằng bạn không gói dữ liệu đầu vào trong mysql_real_escape_string() , cho phép bị tấn công để nhảy ra khỏi truy vấn của bạn và thực thi truy vấn của riêng chúng.
Xem owasp.org để biết thêm thông tin.