本文以联合查询关键字union select为例讲解绕过关键词过滤的一些方法。之所以了解绕过,关键是发现sqlmap有时候真的是不靠谱,只能指定命令跑。有一些简单过滤很容易绕过却不能检测。虽然麻烦点,手工yyds~~。

1、大小写变种

UNION SELECT=>uNIon SElecT

选择几个字母变换大小写,可以绕过部分不太聪明的过滤器。在sql查询中是不区分大小写的所以查询语句正常执行

2、使用SQL注释

union select=>/**/UNION/**/SELECT/**/

在每个需要使用“空格”隔开的地方将“空格”换成/**/(mysql、orcale数据库中的注释符号其他数据库同理)因为一些过滤器是检查你的每个关键词后边是不是存在“空格”。

3、使用URL编码

union select=>%75%6e%6f%69%6e  %73%65%6c%65%63%74

每次输入URL浏览器都会自动进行一次URL解码。这样我们在URL栏中输入的内容就不会出现那些被过滤的关键词了

4、使用动态查询(用数据库中的一些函数)

前提是知道有什么函数,这就需要用到前期收集信息时候了解到的数据库种类及版本了

mysql:union select=>'uni'+'on' 'sele'+'ct'

orcale:union select=>'uni'||'on'  'sel'||ect''  select=>cha(83)||cha(69)||cha(76)||cha(69)||cha(67)||cha(84)

MS_SQL:union select=>'uni''on'  'sele''ct'  select=>char(83)+char(69)+char(76)+char(69)+char(67)+char(84)

这样就可以绕过那些过滤含有完整的select或union关键词的过滤器了

5、绕过剥离关键词(套娃)

union select=>uniunionon seselectlect

可以绕过那些剥离关键词之后传入查询的过滤器当ununionion中的完整union被过滤掉之后就得到了我们想使用的关键词

6、使用空字节

union select=>%00 union select

在过滤器过滤的关键词前面加上URL编码的空字节%00即可。因为性能原因一些过滤器用的语言往往是C/C++,在C/C++中空字节代表语句的结束(过滤结束)。而SQL语句对空字节的解释则不同,它会继续执行后边的代码

有时候想要绕过注入不是单单靠一种方法就可以的(因为你想到的大部分做防护的也可能想到)可以尝试联合这几种过滤方法一起使用。如果实在不行~~ 还可以盲注嘛~~

参考《SQL注入的攻击预防》Justin Clarke

SQL注入绕过关键词过滤的小技巧及原理(union select为例)相关推荐

  1. XCTF-攻防世界CTF平台-Web类——14、supersqli(SQL注入、关键词过滤)

    目录标题 方法一.堆叠注入 1.rename修改表名和alter change修改列名 2.rename修改表名和alter add添加列名 方法二.handler语句 方法三.预编译 打开题目地址 ...

  2. SQL注入绕过之过滤了‘as‘与无列名注入

    0x00 当过滤了as时: 也就代表database()无法使用,无法查询数据库信息 换思路获取库名,利用报错: -1' || (select*from aa)#          -1'or(sel ...

  3. SQL注入绕过(passby)策略

    SQL注入绕过技巧 空格绕过 注释符/* */,%a0,%0a 括号绕过空格 select(user())from dual where(1=1)and(2=2) 引号绕过 采用16进制编码绕过,例如 ...

  4. 黑客常用SQL注入绕过技术总结!

    今天给大家再次分享一篇硬核内容,那就是黑客常用的SQL注入绕过技术,还是那句话:我们学渗透技术不是为了攻击别人的系统,而是了解黑客常用的渗透技能,以此来修复我们自己系统中的漏洞,使我们的系统更加健壮, ...

  5. 黑客常用SQL注入绕过技术总结!(冰河吐血整理,建议收藏)

    大家好,我是冰河~~ 今天给大家再次分享一篇硬核内容,那就是黑客常用的SQL注入绕过技术,还是那句话:我们学渗透技术不是为了攻击别人的系统,而是了解黑客常用的渗透技能,以此来修复我们自己系统中的漏洞, ...

  6. sql注释符注入防御_WAF的SQL注入绕过手段和防御技术

    一.关于SQL注入 SQL注入是一种常见的入侵WEB应用的手法.SQL注入是利用应用系统的编程漏洞和SQL语言的语法特征,改变原始的SQL语句执行逻辑而产生的. 攻击者向Web应用发送精心构造的输入数 ...

  7. sql注入绕过姿势--骚姿势大全

    项目地址 https://github.com/Junehck/SQL-injection-bypass 项目介绍 记录实战中的各种sql注入绕过姿势, 文章并不是完整的仅提取出byapss部分, 如 ...

  8. SQL注入绕过安全狗

    SQL注入绕过安全狗 前期知识 黑名单 演示开始 内联注释绕过 模糊查询绕过 查询数据库用户名和表信息 前期知识 网站安全狗是一款集网站内容安全防护.网站资源保护及网站流量保护功能为一体的服务器工具, ...

  9. 安全狗SQL注入绕过

    安全狗SQL注入绕过 本文用sqli-labs第一关为例 一.简单注入 开启安全狗后尝试正常注入,发送请求后可以看到被安全狗拦截了 1' and 1=1 %23 寻找被安全狗匹配的特征字符,这里没被拦 ...

最新文章

  1. 记录ie暂时遇到的问题
  2. 订阅插件提示:This system is not registered with an entitlement server. You can use subscription-manager to
  3. Vue-router VUE路由系统
  4. P2050-[NOI2012]美食节【费用流,动态连边】
  5. 软件生存周期文档系列 之 6.用户操作手册
  6. 神经网络快速搭建之一站式访问
  7. python使用sql读取数据表并返回dataframe
  8. oracle日期相减工作日_oracle 日期相减 转载
  9. 用perl过滤文本中的IP和端口
  10. 2022-04-11 查询PostGIS和pgRouting的版本号
  11. SCU 4437 Carries(二分乱搞)题解
  12. 量化投资学习——统计套利综述
  13. 魅族手机在开发调试中无法打印log的解决方法
  14. 如何在Proteus中模拟Arduino
  15. scratch编程植物大战僵尸教程(一)
  16. 3d打开无法下载star.php,下载的3dmax模型打开失败的原因及解决方法
  17. JetBrains全系列破解
  18. 面试官问我new Vue阶段做了什么?
  19. CSS布局之——左边、上边固定,内容自适应(Vue)
  20. [SQL]如何实现表数据的去重

热门文章

  1. ME11/ME12采购信息记录(PIR)无法维护净价“有效价格”解决方案- ME_INFORECORD_MAINTAIN
  2. 零部件计算器 (CMD版)
  3. PyCharm设置改变字体大小的快捷键
  4. linux 时区修改为东八区
  5. 自定义实现IOC容器的自动装配和自动注入
  6. Navicat Premium 12下载破解
  7. Windows驱动开发第10课(R3与R0通信交换数据第一节)
  8. 健身房预约小程序平台开发笔记
  9. Script:收集Oracle备份恢复信息
  10. Django 2入门教程:利用GoormIDE和Bootstrap 4开发旅游博客