sql简单的union注入

SQL注入原理 :
SQL注入就是web应用程序对用户输入数据合法性的没有判断,攻击者可以在web应用程序中(浏览器中)可以在事先定义好的查询语句(可控参数)结尾额外添加SQL语句,来进行欺骗从而得到进一步的相应数据信息

SQL注入流程和要用的函数 :

                 1、先判断注入方式  :整数型  ,字符串型   ' ,  "   , ), ') ,   '))

                 2、判断列数  有几列( order  by )(使用联合查询语句要用到)

                 3、判断显示位  (union select 1,2,......,n)

                 4、查数据库名 (select database())

                 5、查表名 (select group_concat(table_name) from information_schema.tables where table_schema=(select database()))

                 6、查字段  (select group_concat(column_name) from information_schema.columns where table_schema=database and  table_name=table)

我这里是用自己搭建了留言板来做的实验

sql简单的union注入_第1张图片
image

首先我们先要来判断注入类型 当在传参后面加上单引号,和双引号都报错的话说明是整数型。(如果加上单引号报错说明是以单引号为闭合的字符串型)这里是我判断的结果

sql简单的union注入_第2张图片
image
sql简单的union注入_第3张图片
image
sql简单的union注入_第4张图片
image

这里是整数型,接下来要判断列数(order by判断)

sql简单的union注入_第5张图片
image
sql简单的union注入_第6张图片
image

判断列数是为了用union select 语句来判断显示位

sql简单的union注入_第7张图片
image

判断了显示位,就可以进行爆数据库,表名和密码了

sql简单的union注入_第8张图片
image
sql简单的union注入_第9张图片
image

上面两张截图是爆出了数据库名和表名 接下来可以猜出密码和用户名在user表中

sql简单的union注入_第10张图片
image

上面爆出了表里的字段证明我们猜的没错用户信息就是在user表中

sql简单的union注入_第11张图片
image

上了就是最后的结果了(这是最简单的sql 注入了)最后来看下我的user表

image

你可能感兴趣的:(sql简单的union注入)