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.9
sắp kết thúc truy vấn hiện tại của bạn -
0x31303235343830303536
là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 users
vàusers
có 4 cột,UNION
cũ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.