type
status
date
slug
summary
tags
category
icon
password
想了一下,原本博客的记录方式更像是知识介绍,就是整合各个网站的内容,反而和学习这一初衷相违背,所以重新记录,自己也就当从0开始学习。
略过一些简单的注入比如’— ,or 1=1。
联合注入
要使
UNION 查询生效,必须满足两个关键要求:- 各个查询必须返回相同数量的列。
- 每个查询中各列的数据类型必须兼容。
所以获取原来查询的相关信息是非常重要的,有两种常见的方法:
ORDER BY
注入一系列的
ORDER BY子句,并递增指定的列索引,直到出现错误。例如,如果注入点是原始查询中WHERE子句内的带引号字符串,提交:直至报错。
UNION SELECT
提交一系列指定不同数量空值的
UNION SELECT负载:和
ORDER BY不同的是要等不报错并且UNION SELECT可以更进一步的推断数据类型,例如把NULL换成1或者’1‘,有下面三种反应:- 报错 = 数据类型错了。
- 没反应(页面正常) = 数据类型对了,但这一列不显示数据(运气不好)。
- 看到字符 = 数据类型对了,且找到了输出位置(运气爆棚,注入成功)。
Loading...

