LESS31:

双引号直接报错,那么肯定可以报错注入,并且也过滤了一些东西,^异或没有过滤,异或真香

-1" and (if(length(database())=8,1,0)) and "1 这个payload可以

LESS32:

发现'被转移了,尝试宽字节绕过,\反斜杠是%5c,前面拼接成%df就是一个汉字,要求mysql的字符集是GBK,即两个字符为一个汉字

LESS33:

还是宽字节和32一样:

-1%df%27%20or%20exp(~(select%20*%20from%20(select%20user())a))--+

可以看到id参数此时经过urlencode以后将'单引号编码,此时还原时%df%27就会合并

在mysqlquery的时候设置编码方式为gbk才导致了漏洞,应该设置为binary

LESS34:

这道题也是宽字节注入,不过这个注入点在post参数上,如果我们直接在post里面输入%df' or 1#那么此时不行,

实际上将%百分号也进行了编码,因为表单提交会将数据编码一次,此时传递过去解码的时候无法吃掉反斜杠,所以必须绕过浏览器端的urlencode,所以

只要去掉对%的编码即可,此时就能吃掉反斜杠

LESS35:

这道题也是有转义,不过不需要引号就可以注入

LESS36:

将 utf-8 转换为 utf-16 或 utf-32,例如将 ‘ 转为 utf-16 为 � ' ,这样也可以绕过\的过滤,同样是因为gbk的问题

payload为%ef%bf%bd' or 1--+,这里%df也可以

LESS37:

post型,与前面过滤方式相同,直接%DFburp改包就可以

LESS38:

虽然说得是堆叠注入,但是这盲注报错都可以,堆叠注入一般都没有回显,在实际情况中基本见不到, 并且对数据库类型也有要求。

直接 ' or 1 --+ 就可以

LESS39:

  1. 堆叠注入,在SQL中,分号(;)是用来表示一条sql语句的结束。
  2. 试想一下我们在分号(;)结束一个sql语句后继续构造下一条语句,会不会一起执行?
  3. 因此这个想法也就造就了堆叠注入。
  4. union injection(联合注入)也是将两条语句合并在一起,两者之间有什么区别么?
  5. 区别就在于union 或者union all执行的语句类型是有限的,可以用来执行查询语句,而堆叠注入可以执行的是任意的语句。

和38一样只是少了引号的闭合,可以看到里面用到了multi_query,因此可以执行多条语句

LESS40:

括号的闭合方式不同了,没有报错,不能报错注入,但是可以union和盲注

LESS41:

无报错,括号闭合方式不同,这里为int型

LESS42:

这道题的注入点在password处,还是堆叠注入,有报错回显,就不演示了,括号闭合为单引号,username有过滤

更改密码处有过滤

LESS43:

括号闭合方式改变了,其他不变,不再演示,还是堆叠注入。

LESS44:

盲注的堆叠注入,感觉没多少意思。

LESS45:

盲注,括号闭合方式变了,登陆成功和登陆失败逻辑不同,满足盲注条件

LESS46:

order by 相关注入,这里的注入点在order by之后,说明我们不能够用union,order by后面要跟一个数字,因此我们要构造语句让其结果为一个数字

这里直接()括号加sql语句的话找不出两种逻辑,加上rand函数以后才能够显示排序不同,可以根据表格最后一行显示不同来断定逻辑,进行盲注。

也可以直接报错注入

也可以延时进行盲注,这里 and or 短路虽然不能确定逻辑,但是可以通过执行后面的if条件来进行延时

这里还学到了一点limit后面的注入方法:

如果注入点在limit后面,那么目前唯一的方法是通过procedure analyse来进行注入

procedure analyse(extractvalue(1,concat(0x7e,user(),0x7e)),1),报错注入的函数应该都可以用

但是如果没有报错的话,那么procedure后面可以用extractvalue+benchmark来进行延时注入,也可以用updatexml+benchmark,benchmark是执行某个表达式多少次

后面跟上if条件就可以来dump数据进行延时注入了。

从源码也可以看到注入点在此

LESS47:

括号的闭合方式变了其他不变了,变为了单引号,其它和46一样,延时的话这里直接用benchmark貌似不起作用,必须结合procedure analyse才能延时,这里直接用sleep就可以

或者直接报错就可以

LESS48:

直接找到逻辑,rand(1),rand(0),这里貌似没有报错,因此可以布尔盲注或者延时注入

LESS49:

当注入单引号时页面没有数据了,应该是后面语句出错了,尝试加上注释来进行延时注入,可以成功

LESS50:

又开始堆叠注入了,但是并不常见,可以略过,简要从源码分析一下吧,只是变为mutil query,其它不变~

LESS51:

括号闭合变为单引号,其它和50相同,报错注入和延时都可以

LESS52:

没有print error,不能报错,可以延时注入

LESS53:

闭合为单引号,其它与52相同,没有练习的价值

SQL Labs刷题补坑记录(less31-less53)的更多相关文章

  1. SQL Labs刷题补坑记录(less1-less30)

    补坑加1,这几天快速刷一下sqllabs 来巩固下sql注入基础吧,也算是把很久以前没刷的过一遍,do it! 第一部分: LESS1: 直接报错,有回显的注入, http://localhost/s ...

  2. SQL Labs刷题补坑记录(less54-less65)

    LESS54: 只有10次尝试,dump处secret key 直接union 查就可以,括号为单引号闭合 LESS55: 尝试出来闭合的方式为)括号,后面操作与54相同 LESS56: 尝试出来括号 ...

  3. ACM刷题踩坑记录

    2017-12-26: 1.再次被写法坑了好长一会,调了半天的bug,还是没找出来.最后,发现,又坑在这个小细节上了.这样子写,第一个if和第三个else在一次循环中都会执行,然后,就GG了. 要注意 ...

  4. Pikachu靶场SQL注入刷题记录

    数字型注入 0x01 burp抓包,发送至repeater 后面加and 1=1,and 1=2 可判断存在注入 0x02 通过order by判断字段数,order by 2 和order by 3 ...

  5. Python 刷题笔记

    Python 刷题笔记 本文记录了我在使用python刷题的时候遇到的知识点. 目录 Python 刷题笔记 选择.填空题 基本输入输出 sys.stdin 与input 运行脚本时传入参数 Pyth ...

  6. NOIp2018停课刷题记录

    Preface 老叶说了高中停课但是初中不停的消息后我就为争取民主献出一份力量 其实就是和老师申请了下让我们HW的三个人听课结果真停了 那么还是珍惜这次机会好好提升下自己吧不然就\(AFO\)了 Li ...

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

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

  8. [BUUCTF-Pwn]刷题记录1

    [BUUCTF-Pwn]刷题记录1 力争从今天(2021.3.23)开始每日至少一道吧--在这里记录一些栈相关的题目. 最近更新(2021.5.8) 如果我的解题步骤中有不正确的理解或不恰当的表述,希 ...

  9. NOI题库分治算法刷题记录

    今天晚自习机房刷题,有一道题最终WA掉两组,极其不爽,晚上回家补完作业欣然搞定它,特意来写篇博文来记录下 (最想吐槽的是这个叫做分治的分类,里面的题目真的需要分治吗...) 先来说下分治法 分治法的设 ...

随机推荐

  1. POJ 3686:The Windy's(最小费用最大流)***

    http://poj.org/problem?id=3686 题意:给出n个玩具和m个工厂,每个工厂加工每个玩具有一个时间,问要加工完这n个玩具最少需要等待的平均时间.例如加工1号玩具时间为t1,加工 ...

  2. UESTC 1324:卿学姐与公主(分块)

    http://acm.uestc.edu.cn/#/problem/show/1324 题意:…… 思路:卿学姐的学习分块例题. 分块是在线处理区间问题的类暴力算法,复杂度O(n*sqrt(n)),把 ...

  3. 《Python 3.5从零开始学》笔记-第8章 面向对象编程

    前几章包括开启python之旅.列表和元组.字符串.字典.条件和循环等语句.函数等基本操作.主要对后面几章比较深入的内容记录笔记. 第8章 面向对象编程 8.3深入类 #!/usr/local/bin ...

  4. Tensorflow教程(2)Tensorflow的常用函数介绍

    1.tf.constant tf.constant用来定义一个常量,所谓常量,广义上讲就是“不变化的量”.我们先看下官方api是如何对constant函数来定义的: tf.constant( valu ...

  5. 微信小程序支付以及微信退款开发

    最近公司项目急着测试,需要开发微信小程序+微信支付+微信退款,本着这几天的一些研究,决定记录一下开发的过程. 本着知识分享的原则,希望对大家有所帮助. 本篇针对的是微信小程序的支付开发,如果有对微信公 ...

  6. CDQZ集训DAY4 日记

    早上起来之后发现座位被zzh占了,得知座位改为先来后到,什么鬼…… 于是去了另一个有耳机的机房,然而并没有什么卵用. T1上来感觉很有意思,先切50分再说.T2好像是原题的说,切了原题30分后大胆猜测 ...

  7. js 使用ES6 实现从json中取值并返回新的数组或者字符串

    1.获取的json数据是这样的: data:[ { 'Id': '1', 'Phone': '123456', 'Name': '张三', }, { 'Id': '2', 'Phone': '7894 ...

  8. 写给后端同学的vue

    安装环境 安装vue-cli 脚手架 1. 安装nodejs环境 下载地址: (nodejs)[https://nodejs.org/zh-cn/download/] 安装(略) 2. 安装vue-c ...

  9. 个人永久性免费-Excel催化剂功能第55波-Excel批注相关的批量删除作者、提取所有批注信息等

    Excel里的批注,许多人很喜欢用,但批注真的值得我们大量使用吗?批注的使用场景在哪里?这些问题可能更值得花时间来思考下.同样因为不规范地使用批注,也带出了一大堆的后续擦屁股的事情来,从批注中找回有价 ...

  10. 基于TCP协议的套接字编程

    06.26自我总结 1.关于Socket Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在 ...