SỨC MẠNH CỦA DẤU CHẤM PHẨY TRONG SQL INJECTION
Nhiều Hacker mới vào nghành chỉ thấy SQL Injection làm rò rỉ thông tin. Họ quên mất một điều, thứ được injection ở đây là SQL. SELECT chỉ là một chức năng rất nhỏ của SQL, nó còn UPDATE, INSERT, DROP hoặc nhiều hàm đọc file, ghi file, thậm chí thực thi lệnh hệ thống. Bạn có thể viết rất nhiều câu truy vấn SQL khác nhau trên cùng một dòng. Nhưng phải sử dụng dấu chấm phẩy để ngăn cách, kiểu như "𝗦𝗘𝗟𝗘𝗖𝗧 * 𝗙𝗥𝗢𝗠 𝘂𝘀𝗲𝗿𝘀; 𝗦𝗘𝗟𝗘𝗖𝗧 𝘃𝗲𝗿𝘀𝗶𝗼𝗻(); 𝗗𝗥𝗢𝗣 𝗗𝗔𝗧𝗔𝗕𝗔𝗦𝗘 𝗰𝗼𝗼𝗸𝗶𝗲". Cách viết này được gọi là 𝗦𝘁𝗮𝗰𝗸𝗲𝗱 𝗤𝘂𝗲𝗿𝘆 (hay Batched Query).
Mặc dù đây là tính năng của SQL nhưng không phải ngôn ngữ lập trình nào cũng cho phép chúng ta thực hiện truy vấn kiểu này. Nếu để lập trình viên tự do khi viết code, sẽ dễ làm mất cân đối về dữ liệu trả về. Giống như câu truy vấn ở trên, đã SELECT xong lại còn XOÁ.
Bạn phải thật cẩn trọng, nếu bạn sử dụng ASP .NET & MySQL, PHP & PostgreSQL, PHP & SQL Server, ASP. NET & SQL Server hay PostgreSQL. Nếu SQL Injection xảy ra trong các ngôn ngữ và CSDL này, Hacker có thể sử dụng Stacked Query một cách thoải mái. Họ có thể DROP toàn bộ Database của bạn, PostgreSQL & SQL Server còn chạy được cả lệnh hệ thống. Oái oăm vl