通配符注入介绍
如果like 后面的参数是直接拼接的,那可能就存在SQL注入。如果不是,利用就比较有限,可能存在通配符注入。
通配符介绍
在 SQL 中,LIKE是一个强大的匹配操作符,用于在WHERE子句中对列名进行模糊搜索,它通常与通配符一起使用,以提供更灵活的匹配条件。
通配符是一种特殊字符,用于在搜索或匹配字符串时表示一个或多个真正的字符。在SQL中,LIKE操作符经常与两个通配符(%和_)一起使用,以提供更灵活的匹配条件。
百分号(%)表示零个或任意个字符,可以匹配任意类型和长度的字符,包括中文等非ASCII字符。下划线(_)则表示任意单个字符,匹配单个任意字符,通常用来限制表达式的字符长度。
正常语句中的like使用
SELECT 列名1, 列名2, ...
FROM 表名
WHERE 列名1 LIKE '匹配模式';
搜素 admin ,下面返回结果一样
LIKE 'a%';
LIKE 'a____';
LIKE 'ad___';
漏洞的危害
他会返回所有的数据,就可能存在数据泄露的问题。
类似于select * ,给服务器造成负担,可能造成拒绝服务。
因为返回所有数据,还可能存在越权或者未授权的问题。
出现的位置
搜索框,search
查询接口的参数,
可能使用模糊搜索的地方,
可以使用的参数
_
%
置空
修复建议
对搜索的参数进行严格校验和过滤。
参考链接
安服仔水漏洞之不一样的注入
https://mp.weixin.qq.com/s/BykKNQyUKnMBv4c0yTIMfQ
新手教程:SQL中LIKE与通配符的使用技巧
https://mp.weixin.qq.com/s/PZgATUDY0uC_XooSxQT66w
扩展
linux当中的通配符注入
https://mp.weixin.qq.com/s/871oFJy2gbtI9ANqriUGcA
https://mp.weixin.qq.com/s/rWkmgEIyeoRgSqIeuuGM0g
原文始发于微信公众号(进击的HACK):SQL注入之通配符注入
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论