sqli-labs通关笔记(less-11 ~ less16)

上一篇文章说了sqli-labs的less-1到less-10的注入方法,这一篇从less-11开始。

由于从11关开始都是post请求,不会像前十关一样存在符号转成url编码的麻烦,所以不再使用apifox,直接从页面上进行测试。

Less-11

老规矩,还是先从 1'开始测试:

从描述可以看出来,这次仍然是一个字符串注入。具体的sql大概是:

sql 复制代码
'select xxx from xxx where xxx='1' and password='' limit 0,1'

但是使用 --+注释不行了,不知道为什么,所以换成了 # 注释:

没有报错了,但是也查不出东西来,很正常,因为根据上面的sql推测,这里查的应该是username,username='1'查不出来是可以想象的。那么我们给它加上一个真条件:

成功了,接下来就可以和less-1一样进行注入了。

Less-12

第12关使用1'测试的时候,登陆失败但是没有报错:

改成1"试试:

报错了,并且可以看到双引号后面还有一个括号,接下来可以用 #)注释掉后面的内容进行注入:

注入成功。

Less-13

老规矩,使用 1'进行测试:

可以看到,注入点是 1'),直接带上 1=1 看看登陆成功的结果:

登陆成功了,但是不像前两关一样会回显数据,但是可以根据结果使用布尔盲注,具体方法可以参考前一篇文章的Less-5。

Less-14

首先使用1'测试,没有报错,这里就不截没有报错的图了。然后使用1",报错了:

可以看出,注入点为1",加上1=1看看登陆成功是什么样子:

登陆成功了,其他的和Less-13是一样的。

Less-15

第15关和13关一样,但是不会返回报错信息:

由于不返回报错信息,只能直接把or 1=1拼上去进行测试:

接下来进行布尔盲注。

Less-16

16关和15关同理,我们先直接用1' or 1=1 #

不行,把单引号换成双引号再试:

还是不行,接下来开始穷举往后加括号:

一开始我从1')开始穷举,加了几个括号都不行,换成双引号了,果然注入点是1")

至此,POST请求的盲注也介绍完成了,从第17关开始与前面只涉及到查询语句的注入有很大的不同,我需要研究研究怎么搞。

相关推荐
小小愿望1 小时前
前端无法获取响应头(如 Content-Disposition)的原因与解决方案
前端·后端
小小愿望1 小时前
项目启功需要添加SKIP_PREFLIGHT_CHECK=true该怎么办?
前端
烛阴1 小时前
精简之道:TypeScript 参数属性 (Parameter Properties) 详解
前端·javascript·typescript
海上彼尚2 小时前
使用 npm-run-all2 简化你的 npm 脚本工作流
前端·npm·node.js
oe10192 小时前
读From GPT-2 to gpt-oss: Analyzing the Architectural Advances(续)
笔记·gpt·学习
开发者小天2 小时前
为什么 /deep/ 现在不推荐使用?
前端·javascript·node.js
如白驹过隙3 小时前
cloudflare缓存配置
前端·缓存
excel3 小时前
JavaScript 异步编程全解析:Promise、Async/Await 与进阶技巧
前端
Jerry说前后端3 小时前
Android 组件封装实践:从解耦到架构演进
android·前端·架构
步行cgn4 小时前
在 HTML 表单中,name 和 value 属性在 GET 和 POST 请求中的对应关系如下:
前端·hive·html