| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> SQL注入绕过关键词过滤的小技巧及原理(union select为例) -> 正文阅读 |
|
[大数据]SQL注入绕过关键词过滤的小技巧及原理(union select为例) |
????????本文以联合查询关键字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 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 22:53:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |