SQL Labs刷题补坑记录(less31-less53)

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:

堆叠注入,在SQL中,分号(;)是用来表示一条sql语句的结束。
试想一下我们在分号(;)结束一个sql语句后继续构造下一条语句,会不会一起执行?
因此这个想法也就造就了堆叠注入。
而union injection(联合注入)也是将两条语句合并在一起,两者之间有什么区别么?
区别就在于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相同,没有练习的价值

原文地址:https://www.cnblogs.com/wfzWebSecuity/p/11320217.html

时间: 2024-11-05 17:30:24

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

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

补坑加1,这几天快速刷一下sqllabs 来巩固下sql注入基础吧,也算是把很久以前没刷的过一遍,do it! 第一部分: LESS1: 直接报错,有回显的注入, http://localhost/sqli-labs-master/Less-1/?id=1' order by 3--+ 就可以确定字段然后使用union查询即可 http://localhost/sqli-labs-master/Less-1/?id=-1' union select 1,2,3--+ 接下来就是常规的查库: ht

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

LESS54: 只有10次尝试,dump处secret key 直接union 查就可以,括号为单引号闭合 LESS55: 尝试出来闭合的方式为)括号,后面操作与54相同 LESS56: 尝试出来括号闭合方式为'),其它与54相同 LESS57: 括号闭合方式为"双引号,其他与前面相同 LESS58: 单引号报错,出错位置在limit,那么直接报错注入,后面就是常规的查表查字段操作 LESS59: 尝试单引号报错了,从报错来看应该不需要单引号,所以常规报错注入 LESS60: 添加双引号报错了,

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表中的数据: u

[2015.6.28] OI刷题记录

FZSZOJ刷题记录: 1051 砝码称重: DP 多重背包 1058 liqeuer: 序列DP 1061 挖地雷:DP,注意需要倒过来做DP,同时记录路径. 1059 Number:DP 1054 数塔问题:同数字三角形,普通DP 1390 等式问题:爆搜,枚举每个+号或-号的位置 1006 中位数:维护大根堆+小根堆,每次插入调整 1005 Cube Stacking:并查集维护当前在第几个和当前集合的高度,并查集变种. 1073 DNA分子的最佳比对:序列DP 1110 奖学金:傻逼题,

BZOJ 刷题记录 PART 3

[前言]还是强调要少看题解. [BZOJ1090]简单的区间DP.值得注意的是:在压缩的时候,如果是10个A压缩,那么化成(10)A后有5个字符而不是4个!(我在这里被坑了好长时间!)以下是核心代码: for (len=2;len<=L;len++) for (i=1;i<=L-len+1;i++) { j=i+len-1; for (k=i;k<j;k++) f[i][j]=min(f[i][j],f[i][k]+f[k+1][j]); for (l=1;l<=len/2;l++

DP刷题记录

目录 dp刷题记录 codeforces 706C codeforces 940E BZOJ3997 POJ2279 GYM102082B GYM102082D codeforces132C L3-020 至多删三个字符 牛客 553C Chino with Queue POJ3260 The Fewest Coins Codeforces 372C dp刷题记录 codeforces 706C 题意:给出n个字符串,可以对每个字符串进行翻转操作, 每个操作对应一个消耗c[i],问经过操作后是否

刷题记录:[De1CTF 2019]Giftbox &amp;&amp; Comment

目录 刷题记录:[De1CTF 2019]Giftbox && Comment 一.知识点 1.sql注入 && totp 2.RCE 3.源码泄露 4.敏感文件读取 刷题记录:[De1CTF 2019]Giftbox && Comment 题目复现链接:https://buuoj.cn/challenges 参考链接:De1CTF Web WriteUp BUUCTF平台 web writeup 第三弹 一.知识点 1.sql注入 && t

刷题记录:[EIS 2019]EzPOP

目录 刷题记录:[EIS 2019]EzPOP 知识点 编码写shell绕过 base64工作机制 绕过后缀名检查 刷题记录:[EIS 2019]EzPOP 题目复现链接:https://buuoj.cn/challenges 知识点 编码写shell绕过 $data = "<?php\n//" . sprintf('%012d', $expire) . "\n exit();?>\n" . $data; $result = file_put_conte

2.1【欢乐向】逆向刷题被虐哭日常记录

2.1[欢乐向]逆向刷题被虐哭日常记录 前面好多题之前做了也没记录,懒得整了,直接从剩下的几个开始: Getit 这一段是解密的关键,后面的是把flag写入文档又给删了. 其实可以修改程序逻辑让他别删,但是我不会. ? 逆着来推一边,不会写py,用c写个. ? ? ?不应当,我大概是忘了加括号. ? ???我觉得我的没啥问题,去网上查了查相关的: ? ? ? 在IDA里没看到有S,咱也不知道咋回事. ? ? ? ? ? no-strings-attached 直接扔IDA瞅瞅: ? ? 挨个函数