SQL注入-有过滤注入
SQL无过滤注入CTFshow176-182
过滤位置
这里过滤的不是整条语句的内容,而是由用户传入的参数部分
回顾-基本查找流程
Union Select字段个数->库名->表名->列名->查找
字段个数枚举找出或使用order by
库名,列名,表名是在information_schema中找
目标数据是在目标库中找
注意这里的group_concat操作,以及语句的嵌套,无新意,提高一点点查找效率
1 |
|
题目顺序总结
- 大写过滤
- 空格过滤
- /**/过滤
- %0a过滤
- %0b过滤
- %09过滤
- %23过滤
- %0c过滤
- %0e过滤
绕过方法
通解:围绕万能密码:’or 1=1+注释符 的各种变体展开
‘or(1=1)–%0c
‘or’1’=’1’–%0c
两种基本通用。
绕过思路
关于注释符
–注释
定义:在SQL语言中,使用“–”符号开始的行内注释。
特点:
注释内容从“–”开始到行尾结束。
需要在“–”后紧跟一个空格或制表符等。
#注释
定义:使用#符号开始的单行注释。
特点:
后面的所有内容直到行尾都被视为注释。
关于url编码
SQL注入过程是会经过URL编码的,****因此,#注释和–注释的注入方法是有区别的,
区别在于#需要经过url编码为%23,**–注释后边紧跟的字符也需要经过url编码。**
关于优先级
表格省,划重点-AND > OR
SQL注入-有过滤注入
https://43.242.201.154/2024/09/03/sqlinjection2/