联合查询注入——括号型
联合查询注入——括号型
0.前言
在前面的讲述中,我们一直围绕的是SQL注入的联合查询问题作为注入的切入点,这将是最后一个联合查询的例子演示,比赛和其他平台的相关SQL内容会重新开一个类进行讲述,在最后也会来个总结,接下来是报错注入的相关内容了。
1.查看界面
初始界面:
我们在注入前,需要猜测闭合问题,所以我们可以用最原始的注入去猜测闭合(之前一直忘记提到的),通过闭合的报错得出注入的方式。
1 |
|
报错界面:
可以看见,SQL的报错含义是指存在)没有闭合,这说明查询的方式是以
变量 = ('xx')
的形式进行传输。
2.分析回显行数
(由于这次是括号类型的注入,语句会在原有的基础上加入)进行闭合尝试)
判断是否有2行:
1 |
|
判断是否有3行:
1 |
|
从反馈中可以看见,回显行数是2行
3.尝试or的注入
继续用or的语句注入看看
1 |
|
4.获取数据库名
1 |
|
5.获取表名
1 |
|
6.获取表
1 |
|
7.获取表的内容
1 |
|
8.解码
我是懒鬼,不解释了
9.小总结
通过数字类型、字符类型、搜索类型以及括号类型的操作规程,能了解到在联合查询中,我们实现要判断的是有没有注入点,作为可回显的SQL注入类型之一,我们需要找到回显内容的位置,通过预测闭合情况进行注入。
在后续的一些SQL题目中,对于联合注入的困难度不仅仅是在闭合当中,对于字符串的过滤等问题也是需要注意的情况。淦就完了!
联合查询注入——括号型
https://one-null-pointer.github.io/2022/08/11/SQL注入——括号型/