LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

SQL注入时当and、or等字符被过滤了怎么办

admin
2020年10月20日 10:55 本文热度 3298
  • 当常用字符被注释无法使用时,通常采取以下方法(可自行搜索sql注入绕开过滤等):
  • 0x01字母被注释(or、and等)
    • 1. 大小写变形
    • 2. 改变编码
    • 3. 添加注释
    • 4. 往字符里面插入被过滤的字符(双写法)
    • 5.利用符号形式
  • 0x02数字被注释(1、2等)
    • 6. 使用浮点数
  • 0x03 符号被注释(<、>等)
    • 7. 利用函数代替

当常用字符被注释无法使用时,通常采取以下方法(可自行搜索sql注入绕开过滤等):

0x01字母被注释(or、and等)

1. 大小写变形

如:Or、OR、oR等
  • 1

2. 改变编码

如:通过hex、urlencode、url等编码

举例:如果or被过滤时,我们可以采用url编码(其相当于把ascii编码的0x给替换成%,比如o的ascii为0x6f,url编码就是%6f),这个时候我们可以试试%6fr,即把o换成url编码,也可以全换,也可以大小写的换,如果没被过滤就成功了,(如果%被过滤了的话…)

【注:这个可以积极的去使用,比如测试时and被注释,使用&&替换也失败,这个时候不妨试试%26%26(&的url编码)】

3. 添加注释

如:/* */(这个不止可以应对字母被注释)

举例:某个过滤器能够过滤的字符如下——“select ”、”from ”、”limit ”等,注意这些字符最后面都有一个空格,这个时候我们就能

通过内联注释来绕过这个过滤器,如:

SELECT/**/username,password/**/FROM/**/users
  • 1

【注:这个注释甚至可以穿插在关键字当中,例如被过滤了or,我们可以把order by改成o/**/rder by,参考的资料上是这么说,但本人试了没成功,不知是否依旧实用】

4. 往字符里面插入被过滤的字符(双写法)

比如or被过滤了,我们可以往里面加or,即注入:oorr,这个时候里面的or就被删去了,剩下的组成新字符,也就是or,是个很好用的绕过方法,像这种类似的还有很多,需要我们去思考。

5.利用符号形式

如:&&、││
举例:

‘ ││ updatexml(1,concat(0x7e,(select database()),0x7e),1)--+
  • 1

0x02数字被注释(1、2等)

6. 使用浮点数

如:1.0、2.0
  • 1

0x03 符号被注释(<、>等)

7. 利用函数代替

如盲注时经常用到比较,这时候要是比较符号被注释了不能用平常的方法了,所以需要用某些函数如greatest()

【greatest(n1,n2,n3,…)函数返回输入参数(n1,n2,n3,…)的最大值】、least()等。

比如语句:select * from users where id=1 and ascii(substr(database(),0,1))>64
就可以替换成:select * from users where id=1 and greatest(ascii(substr(database(),0,1)),64)=64
  • 1
  • 2

【注:当or被注释时,像order by这种含有相关字符的语句也同样无法使用,这个时候如果改变大小写也无用时,可以使用上述的内联注释/**/,或者用别的编码形式,如果不行的话,那就只能放弃使用order by,可以尝试使用group by语句等】。


该文章在 2020/10/20 10:57:42 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved