sql注入——union联合注入

sql注入——union联合注入
union注入是sql注入的一大类型
在做有关sql联合注入时一般用以下思路进行解题:
1.首先要找到能与数据库交互的注入点:

2.测试字段的数量,判断SQL语句查询的列数:
在这里我们使用的命理是order by
通常构造:?id=1’ order by sum–+ 和 1’ order by sum#
这里的sum指代的是数字从1开始逐个测试直至3回显有报错为止:
?id=1’ order by 1–+
?id=1’ order by 2–+
?id=1’ order by 3–+
?id=1’ order by 4–+
?id=1’ order by 5–+
?id=1’ order by 6–+
?id=1’ order by 7–+
……

当出现报错的时候就说明所测试的sum数字是超出了数据库的字段数,那么数据库的字段数就是sum-1

这里有必要说一下这个注释符:
井号(#)在URL中无法使用?
url中#号是用来指导浏览器动作的(例如锚点),对服务器端是无用的。所以,HTTP请求中不包括#,将#号改成url的编码%23就可以了
在SQL语句中注释是(-- )减减空格或者(–’)减减单引号,而在URL中空格会被截掉成空,所以将空格URL编码,用(–%20)也可以。

3.用union命令将两条命令语句联合起来进行查询并拿到

你可能感兴趣的:(sql,web)