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

SQL注入的绕过方式

1.注释与空白符绕过

利用#,--,/**/替代被过滤的注释符

利用%09(Tab),%0A(换行) ,/**/代替空格:如union%0Aselect%0A1,2,3

2.编码绕过:

URL编码,双重编码,十六进制编码,Unicode编码,

3.大小写混淆:

sEleCT代替select,UnIon代替union

4.字符串拼接与函数

GHAR()函数:' or 1=1——> ' or char(49)=char(49) //CHAR(n),其中n是一个整数,表示ASCLL码值

CONCAT函数 :select ——> CONCAT('s','elect')

十六进制字符串:admin——> 0x61646D696E

5.内联注释(MYSQL特有):MySQL 的内联注释通常以 /* 开始,以 */ 结束。它可以在 SQL 语句的任何位置使用

6.绕过空格过滤

代替字符:%09(Tab),%0A(换行),%0C(换页)

括号绕过:union(select(1),2,3)

7.分块传输与参数污染

分块编码:将请求分块发送,绕过WAF检测

参数污染:提交多个同名函数(如?id=1&id=union select 1),应用程序可能取第一个,而WAF取第二个

8.动态执行与存储过程

EXEC命令(SQL Server):EXEC('select * from users')

prepare语句(MySql):

SET @sql = CONCAT('SEL','ECT 1');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

9.宽字节注入(GBK编码)

在GBK编码中,以下字节序列可以被利用:

%df(0xDF),%bf(0xBF),%27(0x27,即单引号)

实例:假设过滤器只检查单个字节,过滤掉单引号 ' 和反斜杠 \。由于 0xBF0x27 组合在一起是一个合法的多字节字符,过滤器可能无法检测到单引号 ',(单独的’不合法,与%bf组合在一起就合法了)

10,二次注入

第一次注入将恶意代码插入到数据库中,'; DROP TABLE users; --

http://www.xdnf.cn/news/367651.html

相关文章:

  • 【人工智能学习之动作识别TSM训练与部署】
  • 通信阵列波导性能提升难?OAS 软件助力精准解决
  • 操纵杆支架加工工艺及钻3φ11孔夹具设计
  • TransPose: Keypoint Localization via Transformer(ICCV2021)
  • 【UEFN】用于可靠多模态情感分析的高效不确定性估计融合网络
  • ASCII码的快速记忆方法
  • 优雅草星云智控系统产品发布会前瞻:SNMP协议全设备开启指南-优雅草卓伊凡
  • 【传感器】代码——DHT11温湿度传感器
  • 企业如何选择靠谱的软件测试外包公司?
  • CSS实现图片垂直居中方法
  • rabbitmq学习笔记快速使用
  • ROS导航局部路径规划算法
  • 第十五节:图像形态学操作-形态学梯度
  • AIGC理论基础:大模型通识
  • Oracle OCP认证考试考点详解083系列14
  • Vue项目中实现自定义连线图
  • 硬件实操技巧记录
  • Edu教育邮箱2025年5月亲测有效
  • 解锁蜘蛛池 SEO 优化:网站流量增长的高效引擎
  • 初等数论--欧拉函数及其性质
  • TLS 加密通信介绍
  • 机器学习 期末考试题
  • 鞋样设计软件
  • 【库(Library)、包(Package)和模块(Module)解析】
  • iOS App 下架了无法下载 ? 推荐个软件——IPADown
  • 【时时三省】(C语言基础)二维数组举例
  • 什么是硅二极管温度传感器
  • OptiStruct实例:声振耦合超单元应用
  • wordpress自学笔记 第二节: 3种独立站商城横幅的制作
  • linux0.11内核源码修仙传第十六章——获取硬盘信息