SQL注入

SQL注入
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...